작성
·
324
0
안녕하세요 분류 학습 중 이해가 되지 않는 것이 있어 질문을 드립니다.
min_samples_leaf는 리프 노드가 되기 위해 필요한 최소한의 샘플 수 라고 알고 있는데요.
시각화 예제를 돌려보던 중 min_samples_leaf= 8로 했을 때 표시한 마지막 리프 노드의 샘플 수가 각각 10, 13인데도 더이상 분할되지 않고 리프 노드가 되었는데 이게 잘 이해가 안 갑니다.
샘플 수가 8이하여야만 리프 노드가 되는 게 아닌가요?
제가 이해를 잘 못하고 있는 건지 헷갈리네요ㅠㅠ 설명 부탁드리겠습니다..!
답변 1
0
안녕하십니까,
음, 제가 min_samples_leaf에 대해서 제가 정확하게 설명을 못드린것 같습니다.
사이킷런 문서상으로 다시 확인해 보니, 분할 될 수 있는 학습 데이터 샘플 수 자체라기 보다는 쪼개 졌을 때 가능한 샘플수로 해석이 될수 있군요.
The minimum number of samples required to be at a leaf node. A split point at any depth will only be considered if it leaves at least min_samples_leaf
training samples in each of the left and right branches
여러 테스트를 해보니, 쪼개지는게 가능한 샘플 수로 보는게 맞는것 같습니다만, 좀 더 테스트를 해봐야 겠습니다.
그래서 쪼개지는게 가능한 샘플 수 기준으로 보면
samples 10에 [0, 9, 1]은 split했을 때 min_samples_leaf 8을 기준만큼 쪼갤 수가 없어서 leaf 노드로 만들어 지지 않는것 같고, samples 13에 [0, 3, 10] 도 split 하려고 했지만, 쪼개지면 특정 leaf 노드가 min_samples_leaf 8 이하로 만들어 져서 못만드는 것 같습니다.
좋은 정보 주셔서 감사합니다. 일단 내부적으로 좀더 테스트 해보겠습니다.
감사합니다.