我正在尝试做一个多标签文本分类问题,该问题使我停留在一定的准确性得分上,而无法提高准确性。
因此在多标签分类中,我有35个类别(类)和192个子类别(类),到目前为止,我已经尝试过:
预处理:替换紧缩结构,降低弦线,删除标点符号,对数据进行去词素化,基于数据创建一些自定义正则表达式,运行拼写检查器并改善拼写错误。
TfidfVectorization:我还尝试了tfidf矩阵中值的各种组合,例如使用双字母组和三字母组合会提高我的准确性。
尝试了许多分类器(到目前为止,LinearSVC表现最好),例如RandomForest,Logistic回归,LinearSVC,XtraTreeClassifier,MultinomialNB,XGBoost等。
还在几乎所有分类器上应用了GridSearchCV和RandomizedSearchCV。
现在,根据实际数据运行基本的LinearSVC分类器而无需进行任何自定义的预处理,我的匹配度从45%降至57%。
我有点卡在这里,无法考虑任何解决方案来提高准确性。我的目标是达到70%的完全匹配准确度
我的矢量化器和参数如下:
classifier = Pipeline([
('tfidf', TfidfVectorizer(analyzer='word',ngram_range=(1, 3),sublinear_tf =True,max_features=100000)),
('clf', OneVsRestClassifier(LinearSVC(dual=False,multi_class='crammer_singer', max_iter = 1000)))]) ## Creating a pipeline to chain & perform feature engineering and Modelling
我已经达到了57%的精确比赛准确性,但是我的目标是达到70% 了解如何才能更有效地提高准确性会有所帮助。