Назад к вопросам
JuniorТеорияЧасто
Что выведет эта программа?
from sklearn.tree import DecisionTreeClassifier
X = [[1], [2], [3], [4], [5], [6]]
y = [0, 0, 1, 0, 1, 1]
deep = DecisionTreeClassifier(random_state=0).fit(X, y)
stump = DecisionTreeClassifier(max_depth=1, random_state=0).fit(X, y)
print(deep.score(X, y), round(stump.score(X, y), 2))1.0 0.83
- Ждать, что дерево без ограничений ошибётся на одиночном
0приx = 4: безmax_depthоно делит данные, пока все листья не станут чистыми, и на обучении получает1.0. - Ждать, что при
max_depth=1разбиения не будет: глубина 1 — это один вопрос и два листа, они верно относят 5 объектов из 6, поэтому результат —0.83.
- Какое из двух деревьев, по-вашему, лучше справится с новыми данными и почему?
- Чем ограничение
min_samples_leafотличается от ограниченияmax_depth?