Я использую scikit-learn для анализа настроений текста. Мои функции прямо сейчас — это просто подсчет частоты слов.
Когда я делаю следующее, усредненная F-мера составляет около 59%:
from sklearn import svm
clf = svm.LinearSVC(class_weight='auto');
clf.fit(Xfeatures, YLabels);
......
predictedLabels = clf.predict(XTestFeatures);
Но когда я использую StandardScalar() для масштабирования вектора признаков, усредненная F-мера падает до 49%:
from sklearn import svm
clf = svm.LinearSVC(class_weight='auto');
Xfeatures = scaler.fit_transform(Xfeatures);
clf.fit(Xfeatures, YLabels);
......
XTestFeatures = scaler.transform(XTestFeatures);
predictedLabels = clf.predict(XTestFeatures);
Масштабирование должно улучшить производительность моей SVM, но здесь оно, похоже, снижает производительность. Почему это происходит? Как я могу сделать это правильно?