Чому регресія Gradient Boosting прогнозує негативні значення, коли в моєму навчальному наборі немає негативних значень y?


8

Як я можу збільшити кількість дерев в scikit дізнатися «S GradientBoostingRegressor, я отримую більше негативні прогнози, незважаючи на те, немає негативних значень в моєму навчанні або тестування набору. У мене є близько 10 функцій, більшість з яких є бінарними.

Деякі з параметрів, які я налаштовував:

  • кількість дерев / ітерацій;
  • глибина навчання;
  • та рівень навчання.

Відсоток від’ємних значень здавався максимумом ~ 2%. Глибина навчання 1 (пні), здавалося, має найбільший% від’ємних значень. Цей відсоток також, здавалося, збільшується із збільшенням кількості дерев та меншою швидкістю навчання. Набір даних є одним із змагань з майданчиків з кагл.

Мій код приблизно такий:

from sklearn.ensemble import GradientBoostingRegressor

X_train, X_test, y_train, y_test = train_test_split(X, y)

reg = GradientBoostingRegressor(n_estimators=8000, max_depth=1, loss = 'ls', learning_rate = .01)

reg.fit(X_train, y_train)

ypred = reg.predict(X_test)

1
Будь-який шанс відтворити приклад із кодом та даними?
Спайсмен

2
який змагання на дитячому майданчику це?
TheAxeR

Відповіді:


8

Загалом регресійні моделі (будь-які) можуть вести себе довільно за межами домену, охопленого навчальними зразками. Зокрема, вони вільні приймати лінійність модельованої функції, тому, якщо ви, наприклад, тренуєте регресійну модель з пунктами:

X     Y
10    0
20    1
30    2

розумно побудувати модель f(x) = x/10-1, яка для x<10повернення негативних значень.

Це ж стосується "між" вашими точками даних, завжди можливо, що завдяки передбачуваному значущості функцій (які можуть бути змодельовані певним методом) ви отримаєте значення "з ваших навчальних зразків".

Ви можете подумати про це по-іншому - "що таке особливе в негативних значеннях?", Чому ви вважаєте, що існування негативних значень є дивним (якщо його не передбачено у навчальному наборі), поки вас не турбує наявність скажемо. .. значення 2131,23? Якщо не буде розроблено таким чином, жодна модель не розглядає негативні значення, "інші", ніж позитивні. Це просто природний елемент реальних цінностей, який можна досягти як будь-яке інше значення.


Що стосується Вашого набору питань, я думаю, що суто негативні значення легше визначити як аномалії, оскільки вони мають "-" перед собою або чітко йдуть нижче нуля на графіках. Питання так само легко може бути "Чому регресія підвищення рівня градієнта передбачає раніше небачені значення?". Може, ви могли б спробувати розширити це? Це, безумовно, отримає від вас голос.
Джош

@lejlot - Взагалі це неправда. Регресійні моделі з логістичними або танними активаціями часто гарантують вихід у межах деяких рамків.
user48956

@ user48956 у відповіді йдеться про те, що "може поводитись довільно", я не стверджую, що ви не можете примушувати деяких обмежень, звичайно, ви можете - відповідати лише, що немає "обмежених даних" обмежень (якщо у вас немає дуже конкретної моделі, яка має це побудований у будівництві) - якщо ви додасте це вручну як експерт - це залежить від вас.
лейлот

5

Пам'ятайте, що GradientBoostingRegressor(припускаючи функцію втрати помилок у квадраті) послідовно прилягає дерева регресії до залишків попереднього етапу. Тепер, якщо дерево на етапі i прогнозує значення, що перевищує цільову змінну для конкретного прикладу тренінгу, залишок етапу i для цього прикладу буде негативним, і тому дерево регресії на етапі i + 1 зіткнеться з негативними цільовими значеннями (які є залишками зі стадії i). Оскільки алгоритм розгортання додає всі ці дерева для остаточного прогнозування, я вважаю, що це може пояснити, чому у вас може виникнути негативні прогнози, навіть якщо всі цільові значення у навчальному наборі були позитивними, тим більше, що ви згадували, що це відбувається більше часто, коли ви збільшуєте кількість дерев.


Це правильна відповідь.
hahdawg
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.