nlp multilabel classification tf vs tfidf
Tf method can give importance to common words more than necessary rather use Tfidf method which gives importance to words that are rare and unique in the particular document in the dataset.
Also before selecting Kbest rather train on the whole set of features and then use feature importance to get the best features.
You can also try using Tree Classifiers or XGB ones to better model but SVC is also very good classifier.
Try using Naive Bayes as the minimum standard of f1 score and try improving your results on other classifiers with the help of grid search.
I am trying to solve an NLP multilabel classification problem. I have a huge amount of documents that should be classified into 29 categories. 
My approach to the problem was, after cleaning up the text, stop word removal, tokenizing etc., is to do the following:
To create the features matrix I looked at the frequency distribution of the terms of each document, I then created a table of these terms (where duplicate terms are removed), I then calculated the term frequency for each word in its corresponding text (tf). So, eventually I ended up with around a 1000 terms and their respected frequency in each document. 
I then used selectKbest to narrow them down to around 490. and after scaling them I used OneVsRestClassifier(SVC) to do the classification. 
I am getting an F1 score around 0.58 but it is not improving at all and I need to get 0.62. 
Am I handling the problem correctly? 
Do I need to use tfidf vectorizer instead of tf, and how? 
I am very new to NLP and I am not sure at all what to do next and how to improve the score. 
Any help in this subject is priceless. 
Thanks