Мне нужна помощь для интерпретации значений отчета Score, чтобы выбрать лучший регрессор для моей модели ML - PullRequest
1 голос
/ 29 апреля 2020

Я работаю над моделью для машинного обучения и смог генерировать оценки процессов. Я не уверен, как их использовать, чтобы принять решение о том, какое ядро ​​лучше всего реализовать для моего окончательного прогноза или, в частности, о том, как получить процент наилучшего значения ансамбля из стека.

Например, я использую эти функции для генерации баллов для каждого из моих регрессоров.

n_folds = 5
def rmsle_cv(model):
    kf = KFold(n_folds, shuffle=True, random_state=42).get_n_splits(train.values)
    rmse= np.sqrt(-cross_val_score(model, train.values, y_train, scoring="neg_mean_squared_error", cv = kf))
    return(rmse)

def rmsle(y, y_pred):
    return np.sqrt(mean_squared_error(y, y_pred))

Затем мне нужно построить ансамбль для генерации моего окончательного прогноза, используя следующие два компонента. Результаты моей оценки публикуются последними. Учитывая результаты Оценка, как я должен построить ансамбль? Чтобы уточнить, stacked_pred получен из:

stacked_averaged_models = Stacking_Averaged_Models(base_models = (ENet, GBoost, KRR), meta_model = lasso)
stacked_pred = np.expm1(stacked_averaged_models.predict(test.values))

, который затем дополняется следующим ансамблем для создания окончательного списка прогнозов:

ensemble = stacked_pred*0.4 + xgb_pred*0.2 + lgb_pred*0.2 + XGBReg_pred*0.2

Отчет о множественных оценках публикуется ниже и предоставляет список, который я могу использовать для создания лучшего ансамбля (я полагаю). Пожалуйста, предоставьте некоторые рекомендации, которые объясняют значение каждой оценки, чтобы я мог использовать это понимание, чтобы создать окончательный ансамбль для моего прогноза.

[model]  Lasso score(cv): 0.1117 (0.0073)
[model]  ElasticNet score(cv): 0.1116 (0.0074)
[model]  Kernel Ridge score(cv): 0.1158 (0.0075)
[model]  Gradient Boosting score(cv): 0.1162 (0.0086)
[model]  Xgboost score(cv): 0.1164 (0.0060)
[model]  LGBM score(cv): 0.1173 (0.0061)
[model]  Averaged base models score(cv): 0.1088 (0.0075)
[model]  Stacked averaged-models score(cv): 0.1084 (0.0070)
[model]  stacked regressor: 0.0779745304893225
[model]  xgboost: 0.07845754741653387
[model]  LightGBMs: 0.07201089217729068
[model]  XGBReg: 0.05490294827735702
[model]  ensemble: 0.0685856065104715
...