【发布时间】:2020-06-05 07:58:24
【问题描述】:
我有一个包含 13 列的数据集,我想使用 PCA 进行数据缩减以删除不需要的列。我的问题是 PCA 并没有真正显示列名,而是 PC1 PC2 等。我发现额外的树分类器做同样的事情,但确实表明了每列的变化。我只是想确定他们是否有相同的目标,或者他们的结果是否不同。还有人会建议更好的数据缩减方法吗?
我的最后一个问题是我有一个额外树分类器的代码,想确认它是否正确?
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
from sklearn.ensemble import IsolationForest
from sklearn.ensemble import ExtraTreesClassifier
df = pd.read_csv('D:\\Project\\database\\5-FINAL2\\Final After Simple Filtering.csv')
extra_tree_forest = ExtraTreesClassifier(n_estimators = 500,
criterion ='entropy', max_features = 'auto')
extra_tree_forest.fit(df)
feature_importance = extra_tree_forest.feature_importances_
feature_importance_normalized = np.std([tree.feature_importances_ for tree in
extra_tree_forest.estimators_],
axis = 0)
plt.bar(df.columns, feature_importance_normalized)
plt.xlabel('Feature Labels')
plt.ylabel('Feature Importances')
plt.title('Comparison of different Feature Importances')
plt.show()
谢谢。
【问题讨论】:
标签: python pandas machine-learning scikit-learn jupyter-notebook