2016-11-08 1 views
0

fit 방법으로 훈련 된 분류 자 ​​훈련에 사용 된 피처 이름 목록을 검색하는 방법이 있습니까? 보이지 않는 데이터를 적용하기 전에이 정보를 얻고 싶습니다. 교육에 사용 된 데이터는 팬더 DataFrame이고 제 경우에는 분류기는 RandomForestClassifier입니다.분류 자의 훈련 피처 이름 목록 검색

답변

1

문서 및 이전 경험을 바탕으로 적어도 하나의 분할에서 고려한 기능 목록을 얻는 방법은 없습니다.

예측에 모든 기능을 사용하고 싶지는 않지만 실제로 교육에 사용되는 기능 만 사용 하시겠습니까? 이 경우 맞는 것으로 보이지 않는 기능을 피하고 제거한 후 feature_importances_을 나열하는 것이 좋습니다. 그런 다음 관련 기능만으로 새 모델을 교육하고 이러한 기능을 예측에 사용하십시오.

1

교육을 위해 선택한 기능을 알 필요가 없습니다. 예측 단계에서 적합한 분류 자에게 동일한 기능학습 단계 중에 사용했는지 확인하십시오.

랜덤 포레스트 분류기는 스플릿을 만드는 기능 만 사용합니다. 그것들은 첫 번째 단계에서 배운 것과 동일합니다. 다른 것들은 고려되지 않을 것입니다.

경우 테스트 데이터의이 훈련 데이터와 동일하지 않은 모양는 테스트 데이터는 의사 결정 나무의 분할에 사용되는 모든 기능이 포함되어있는 경우에도 오류가 발생합니다.

임의의 숲은 모든 기능이 한 번 이상 사용될 가능성이있다 (sklearn에서 estimators라고 부름)는 의사 결정 트리에 대한 기능무작위 선택을하기 때문에, 무엇보다. 그러나


, 당신이 사용하는 기능을 알고 싶다면, 당신은 당신의 분류 에 속성을 n_features_feature_importances_를 호출 할 수 있습니다 한 번를 장착.

here으로 가장 중요한 기능의 이름을 검색하는 방법을 확인할 수 있습니다.

+0

제안한 솔루션은 기능 수가 아닌 이름 만 반환합니다. 예측 단계에서 이름을 제공 할 필요는 없지만 동일한 기능을 제공 할 필요는 없습니다. 그러나, 제 경우에는 훈련을 위해 선택된 기능이 무엇인지 미리 알지 못합니다 (중요한 경우 열 순서). – user6903745

+0

@ user6903745 : 왜 교육을 위해 선택된 기능을 알고 싶습니까? – MMF

+0

나는 분류 자로 인수를 취하는 함수를 만들고있다. 선험적으로 알지 못하는 변수 목록을 하드 코딩하지 않거나 오타를 피하거나 끝없는 변수 목록을 입력하기 만하면 분류 자 ​​자체에 변수를 저장하는 것이 좋습니다. – user6903745

관련 문제