首先,我还在进行关于情感分析的分类器比较研究。然后,我想了解每个分类器中每个特征的重要性。
我已经尝试过使用model.feature_importances_
,但因为我对训练数据进行了向量化,所以我无法理解这些特征重要性对应的具体词语是什么。
import pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_splitfrom sklearn.feature_extraction.text import CountVectorizerline = pd.read_csv('line_label.csv', encoding = "ISO-8859-1")x = line.Beritay = line.Sentimenxcv = xxtf = xcountvect = CountVectorizer(analyzer = "word", tokenizer = None, lowercase = None)xcv = countvect.fit_transform(x).toarray()X_train, X_test, y_train, y_test = train_test_split(xcv, y, test_size=0.01, random_state=42)from sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier() rf.fit(X_train, y_train) rf.score(X_test, y_test)rf.feature_importances_
显示结果为
array([2.20854745e-04, 1.24760561e-04, 3.14268988e-03, ..., 1.71782391e-04, 5.15755286e-05, 2.13065348e-08])
回答:
使用以下代码:
for feature, importance in zip(countvect.get_feature_names(), rf.feature_importances_): print('{}: {}'.format(feature, importance))