基於機器學習的NLP情感分析(二)---- 分類問題
阿新 • • 發佈:2019-01-02
基於機器學習的NLP情感分析(二)—- 分類問題
前文提到了如何把一個文字轉換為相應的詞向量,本文討論的是如何進行分類。
feature相關性
首先,需要看看我之前選出來的feature,是否能夠滿足需求。
這裡其實有很多引數沒有顯示出來。從該圖來看,大部分的引數相關性是非常低的,這是一件非常好的事情,因為這說明選出來的引數具有更大表現力。但也發現有一些引數是重複的,這個比較尷尬。當然可以採用PCA過濾掉就好。
從此圖來看,每一個引數都對sentiment有一定的影響,大部分都有比較強的相關性,這說明選出來的引數並不是隨便亂選的。
模型選擇
這裡我選擇了一些比較常見的演算法模型來進行訓練,並試圖去獲得相對較好的model。
這裡採用Kfold函式來迴圈測試模型,並且用f1 Score來選擇最合適的model。
SVC: 0.697422 (+/- 0.044767)
AdaBoostClassifier: 0.701619 (+/- 0.055826)
RandomForestClassifier: 0.728934 (+/- 0.043483)
RandomForestClassifier: 0.728934 (+/- 0.043483)
LinearSVC: 0.755798 (+/- 0.043480)
KNeighborsClassifier: 0.666486 (+/- 0.066893)
GaussianNB: 0.729580 (+/- 0.049237)
Perceptron: 0.728920 (+/- 0.034399)
SGDClassifier : 0.735260 (+/- 0.052218)
DecisionTreeClassifier: 0.693174 (+/- 0.053145)
LogisticRegression: 0.759676 (+/- 0.044828)
這裡我覺得LinearSVC
相對比較好。
至此就沒有別的了。