강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

소희님의 프로필 이미지
소희

작성한 질문수

[개정판] 파이썬 머신러닝 완벽 가이드

min_samples_leaf 관련 질문 드립니다.

작성

·

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 이하로 만들어 져서 못만드는 것 같습니다. 

좋은 정보 주셔서 감사합니다. 일단 내부적으로 좀더 테스트 해보겠습니다. 

 

감사합니다. 

 

소희님의 프로필 이미지
소희

작성한 질문수

질문하기