我正在解决一个问题,我需要预测与训练数据文件中另一个文本相对应的文本。例如:如果我在我的一个列中具有类似于软件的值,并且另一个相应的列为其保存一个值 adobe pdf,那么我的算法也应该能够为我的测试数据预测相同的值。例如,如果我的测试数据有 Tableau,那么预测的类别应该是与之对应的软件。这里是软件、税收等数据选项,与它们对应的是子类别。我的工作是根据我的测试数据中的主要类别预测正确的子类别。
我应该怎么做才能提高我的准确性?n_ngram 对准确性的影响很大吗?我可以看到一些但不是很多。
from sklearn.featureextraction.text import CountVectorizer from sklearn.featureextraction.text import TfidfTransformer
from sklearn.multiclass import OneVsRestClassifier
from sklearn.svm import LinearSVC
#preparing the final pipeline using the selected parameters
model = Pipeline([('vectorizer', CountVectorizer(ngramrange=(1,4))), ('tfidf', TfidfTransformer(useidf=True)),
('clf', OneVsRestClassifier(LinearSVC(class_weight="balanced")))])
我已经使用 SVM 和线性 SVC 进行分类,但我的准确率只有 78%。我的训练数据集是德语,没有停用词,因为这些是类别而不是纯长文本。