Использование Xgboost в Python для прогнозирования частоты с помощью весов - PullRequest
0 голосов
/ 08 мая 2020

У меня есть набор данных с характеристиками, количеством требований и подверженностью (ie вес) - так что политика, действующая в течение года, имеет подверженность 1, политика на полгода имеет подверженность 0,5. Я хочу спрогнозировать частоту претензий ie количество претензий / разоблачений.

Мои вопросы:

1) Я передаю экспозицию как вес в заявлении xg_reg.fit, правильно ли это делать? Если я передам его в операторе data_dmatrix как weight = weight_train, он не изменит мои результаты по сравнению с отсутствием оператора веса вообще.

2) являются ли параметры XGBRegressor и objective = 'reg: squarederror' правильными? Я подумал, возможно, это должно быть связано с Пуассоном

3) Мои прогнозы следует умножить на раскрытие тестового набора данных в конце, верно?

weight_train = df_train['Exposure']

data_dmatrix = xgb.DMatrix(data=X_train,label=y_train)


xg_reg =xgb.XGBRegressor(dtrain=data_dmatrix,
                         max_depth = 6, eta = 1, nthread = 2, nrounds = 2,
                         objective ='reg:squarederror', colsample_bytree = .25, learning_rate = .3, alpha = 6)

xg_reg.fit(X_train,y_train, sample_weight = weight_train)
preds = xg_reg.predict(X_test)
...