Я делаю домашнюю работу по деревьям принятия решений, и один из вопросов, на которые я должен ответить, это «Почему оценки построены из предвзятых деревьев, и как мешки помогают уменьшить их дисперсию?».
Теперь я знаю, что переоснащенные модели, как правило, имеют очень низкий уклон, потому что они пытаются уместить все точки данных. И у меня был скрипт на Python, который подгонял дерево к некоторому набору данных (с одной функцией. Это была просто синусоида, с некоторыми отклонениями, рисунок ниже). Итак, я подумал: «Хорошо, если я переоценил данные, могу ли я сместить нулевое значение?». И оказалось, что даже при глубине 10000 есть еще несколько точек, через которые кривая не проходит.
Я пытался найти почему, но я не мог найти объяснение. Я предполагаю, что могут быть некоторые деревья, которые отлично пройдут все точки, и что те, которые я получил, были просто "неудачей". Или что другой набор данных мог бы дать мне непредвзятый результат (может быть, идеальная синусоида?). Или даже это, возможно, разрезы, сделанные в начале, сделали невозможным дальнейшие разрезы, чтобы полностью разделить все точки.
Итак, принимая во внимание этот набор данных (поскольку он может отличаться для других), мой вопрос: возможно ли переопределить дерево до точки, где смещение стремится к нулю, или всегда будет некоторое смещение, даже если на самом деле маленький? И если всегда есть хоть какой-то уклон, почему это происходит?
PS Я не знаю, может ли это быть уместно, но я использовал DecisionTreeRegressor
from sklearn
для подгонки модели к данным.