내가 RandomForestClassifiers를 사용하여 파이썬에서 만든 이유를 알고 싶습니다. 같은 데이터 세트에서 학습을 반복 할 때 scikit-learn은 다른 결과를 생성합니다. 누군가 제발 설명해 주실 수 있습니까?명시 적 설정에서 scikit-learn의 RandomForestClassifier가 결정적이지 않은 이유는 무엇입니까?
내 코드의 관련 부분은 이것이다 :
from sklearn.ensemble import RandomForestClassifier as RFC
RFC(n_estimators=100, max_features=None, criterion="entropy", bootstrap=False)
이 설정은 실제로 오른쪽 어떤 임의성을 방지해야합니까? 알고리즘은 모든 기본 학습자가 성장하고 모든 스플릿에 대해 모든 기능을 고려할 수 있도록 동일한 양의 데이터 인스턴스 (완전한 데이터 세트)를 사용하도록 알고리즘을 강제해야합니다. 내가 가진
한 explaination은 이것이다 : A의 주어
- 이 기능 F1을하고 F2
- : 어쩌면 알고리즘은 일부 기능은 모든 기능의 세트에서 촬영하는 방법에 임의성, 예를 유지 이 노드 2 알고리즘에 순간적
- 제 그려진대로 알고리즘은 F1 및 이후 F2를 선택 노드 1 분할은 수도 먼저 포착된다
- 두 기능은 동일한 분할 품질과 F1을 가질 수이 스플릿 고려 먼저 f2를 먼저 선택하고 f1을 나중에 선택하십시오. 따라서 생성 된 모델은 알고리즘에 의해 생성 된 다른 모델과 다를 수 있습니다.
누구든지 신뢰할 수있는 정보를 제공 할 수 있습니까?
시간과 답변을 주셔서 감사합니다, 가지 치기! 예, 알고리즘을 결정적으로 만들어서 시드가 물론이 문제를 "해결"합니다. 문제는 내가 해결해야 할 매우 특별한 문제가 있으며 씨앗을 전달할 여유가 없다는 것입니다. 설명 된 설정에 남아있는 모든 임의성을 표현하려고 했습니까? 예제에서 설명한대로입니까? – vern
Btw. RF 생성자는 seed를 정의하기 위해 random_state 매개 변수를 제공합니다. – vern
아. 당신이 묘사하고있는 범위를 봅니다. 그러나 필자는 여전히 글 머리 기호로 표시된 단계가 일련의 실행과 다른 결과를 얻는 사례를 정확하게 정의한다고 생각합니다. 두 가지 기능이 동일한 분할 품질을 가질 수없는 일련의 기능으로이 가설을 테스트해볼 수 있습니까? – Prune