我生成了具有15个特征的数据集。功能9-15与功能1-7线性相关(我以这种方式生成了数据。) 该相关图证明了这种行为:
corr = pd.DataFrame(X, columns=['F1', 'F2', 'F3', 'F4', 'F5',
'F6', 'F7', 'F8', 'F9', 'F10',
'F11', 'F12', 'F13', 'F14', 'F15']).corr()
sns.heatmap(corr)
当我从随机森林谱图中绘制特征重要性时,我希望那些高度相关的特征不重要。所以这让我感到惊讶:
clf = RandomForestClassifier(n_estimators=5)
clf.fit(X_train, y_train)
feature_names = ['F1', 'F2', 'F3', 'F4', 'F5',
'F6', 'F7', 'F8', 'F9', 'F10',
'F11', 'F12', 'F13', 'F14', 'F15']
importances = pd.DataFrame(clf.feature_importances_, index=feature_names,
columns=['importance']).sort_values('importance', ascending=False)
importances.plot(kind='barh')
为什么功能9-15如此重要?如果我将PCA应用于数据会怎样?