Я роблю домашнє завдання з «Дерева рішень», і одне з питань, на яке я маю відповісти, - «Чому оцінювачі побудовані з дерев упереджено, і як мішок допомагає зменшити їх відмінність?».
Тепер я знаю, що переоснащені моделі, як правило, мають дуже низький ухил, оскільки вони намагаються вмістити всі точки даних. І у мене був сценарій в Python, який підходив до дерева до деякого набору даних (з однією функцією. Це був просто синусоїд, з деякими відключеними точками, малюнок нижче). Отже, я замислювався: "добре, якщо я реєтифікую надмірні дані, чи можу я отримати зміщення до нуля?" І виявилося, що навіть при глибині 10000 все ще є деякі точки, через які крива не проходить.
Я намагався шукати чому, але я не зміг знайти пояснення. Я здогадуюсь, що можуть бути якісь дерева, які б ідеально пройшли через усі пункти, і що ті, що я отримали, були просто «невдачами». Або, можливо, інший набір даних міг би дати мені неупереджений результат (можливо, ідеальний синусоїд?). Або навіть це, можливо, скорочення, зроблені на початку, унеможливили подальше скорочення повністю розділити всі точки.
Отже, беручи до уваги цей набір даних (оскільки це може бути різним для інших), моє запитання таке: чи можна переобладнати дерево до точки, коли ухил переходить до нуля, чи завжди буде якийсь ухил, навіть якщо насправді маленький? І якщо завжди є хоч якісь упередження, чому це відбувається?
PS Я не знаю, чи це може бути актуально, але я використовував функцію DecisionTreeRegressor
від, sklearn
щоб пристосувати модель до даних.