scikit-learn Random Forest Classifier를 사용하고 있으며이 예제 와 같이 기능의 중요도를 그려보고 싶습니다 .
그러나 피처 중요도 표준 편차가 피처 중요도 자체보다 거의 항상 크다는 점에서 필자의 결과는 완전히 다릅니다 (첨부 된 이미지 참조).
그런 행동을하는 것이 가능합니까, 아니면 그것을 그릴 때 실수를 저지르고 있습니까?
내 코드는 다음과 같습니다
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from sklearn.ensemble import RandomForestClassifier
clf = RandomForestClassifier()
clf.fit(predictors.values, outcome.values.ravel())
importance = clf.feature_importances_
importance = pd.DataFrame(importance, index=predictors.columns,
columns=["Importance"])
importance["Std"] = np.std([tree.feature_importances_
for tree in clf.estimators_], axis=0)
x = range(importance.shape[0])
y = importance.ix[:, 0]
yerr = importance.ix[:, 1]
plt.bar(x, y, yerr=yerr, align="center")
plt.show()
pandas DataFrame
모양 m x n
과 m x 1
. 지금은 분명해야합니다.
tsfresh
날 약 400 600에서 제 기능을 관련 기능을 식별하고 잘라 도움 ! [내 상위 35 기능 ( i.stack.imgur.com/0MROZ.png )에도 알고리즘이 잘 수행이와 나를 위해. 이진 분류, 성공 / 실패가 있습니다. 나는 사실상 잘못된 성공을 얻지 못하지만 상당한 성공률을 그리워합니다. 위의 모든 추측은 합리적으로 보입니다. 더 큰 훈련 및 테스트 세트가 필요할 수 있습니다. 나는 더 적은
predictors
반환 합니다 .numpy array
pandas Dataframe
numpy arrays
columns