我想通过使用sklearn来分类文本。首先我用文字袋训练数据,单词包的功能真的很大,超过10000个功能,所以我通过使用SVD减少了这个功能。
但是在这里我想添加一些其他的功能,比如#words,#positive words,#of pronouns等等。附加功能只有10个以下的功能,相比100个词包功能真的很小< / p>
从这种情况来看,我提出了两个问题:
答案 0 :(得分:1)
虽然非常感兴趣,但我不知道主要问题的答案。同时我可以帮助第二个。
在拟合模型后,您可以通过属性model.feature_importances_
我使用以下函数来规范化重要性并以更漂亮的方式显示它。
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns # (optional)
def showFeatureImportance(model):
#FEATURE IMPORTANCE
# Get Feature Importance from the classifier
feature_importance = model.feature_importances_
# Normalize The Features
feature_importance = 100.0 * (feature_importance / Feature_importance.max())
sorted_idx = np.argsort(feature_importance)
pos = np.arange(sorted_idx.shape[0]) + .5
#plot relative feature importance
plt.figure(figsize=(12, 12))
plt.barh(pos, feature_importance[sorted_idx], align='center', color='#7A68A6')
plt.yticks(pos, np.asanyarray(X_cols)[sorted_idx])
plt.xlabel('Relative Importance')
plt.title('Feature Importance')
plt.show()