의사 결정 트리의 경우 중요한 기능은 블랙 박스가 아닙니다. DecisionTreeRegressor 설명서에서 :
기능의 중요성은 해당 기능에 의해 가져 기준의 (표준화 된) 총 환원로 계산된다. 지니 (Gini) 중요성으로도 알려져 있습니다 ( ).
포리스트의 경우 포리스트의 다른 트리 전체에서 평균을 유지합니다. source code을 확인하십시오 :
def feature_importances_(self):
"""Return the feature importances (the higher, the more important the
feature).
Returns
-------
feature_importances_ : array, shape = [n_features]
"""
if self.estimators_ is None or len(self.estimators_) == 0:
raise NotFittedError("Estimator not fitted, "
"call `fit` before `feature_importances_`.")
all_importances = Parallel(n_jobs=self.n_jobs,
backend="threading")(
delayed(getattr)(tree, 'feature_importances_')
for tree in self.estimators_)
return sum(all_importances)/len(self.estimators_)
아마 당신은 분명히 할 수 있습니다 : 당신은이 방법에 대한 결함이 무엇입니까? –
블랙 박스 형식의 방법이 더 많아서 기능에 대한 중요성을 강조하기 위해 어떤 방법을 사용하는지 이해하지 못했습니다. 죄송합니다. 질문에이 내용이 표시되어 있어야합니다. – kage77
질문에 답변을 추가하면 답변 할 수 있습니다. –