ValueError: 'min_samples_leaf' must be >= 1
7 Dec 2025
1 min read
ValueError: min_samples_leaf out of range
$ python -c "from sklearn.tree import DecisionTreeClassifier; DecisionTreeClassifier(min_samples_leaf=0).fit([[0],[1]],[0,1])"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ValueError: min_samples_leaf must be at least 1
Why this happens
A leaf must contain at least one sample; zero leaves are invalid.
Fix
Set min_samples_leaf >= 1 (or a float in (0,0.5] representing fraction).
Wrong code
from sklearn.tree import DecisionTreeClassifier
clf = DecisionTreeClassifier(min_samples_leaf=0)
clf.fit([[0],[1]],[0,1])
Fixed code
from sklearn.tree import DecisionTreeClassifier
clf = DecisionTreeClassifier(min_samples_leaf=1, random_state=42)
clf.fit([[0],[1],[2],[3]],[0,1,0,1])