Модель фитинга данных линейной регрессии - PullRequest
0 голосов
/ 11 марта 2019

Пожалуйста, вы можете мне помочь? У меня есть категориальные и строковые данные, которые я предварительно обработал, оцифровал и нормализовал. Я хочу использовать эти данные для прогнозирования значения продолжения "Montant TLPE". Я использовал данные в матрице корреляции, чтобы найти столбцы, которые соотносятся с «Montant TLPE» со скоростью 0,4% и более. И я обнаружил, что лучшей моделью для данных была модель Lightgm с точностью 47%. Вот мой код для модели:

import lightgbm as lgbm
def runLGBM(train_X, train_y, test_X, seed_val=42):
    params = {
        'boosting_type': 'gbdt', 'objective': 'regression', 'nthread': -1, 'verbose': 0,
        'num_leaves': 33, 'learning_rate': 0.05, 'max_depth': -1,
        'subsample': 0.69, 'subsample_freq': 1, 'colsample_bytree': 0.5, 
        'reg_alpha': 1, 'reg_lambda': 0.002, 'metric': 'rmse',
        'min_split_gain': 0.5, 'min_child_weight': 1, 'min_child_samples': 31, 'scale_pos_weight': 1}

    #kf = KFold(n_splits=5, shuffle=True, random_state=seed_val)
    pred_test_y = np.zeros(test_X.shape[0])

    train_set = lgbm.Dataset(train_X, train_y, silent=True)

    model = lgbm.train(params, train_set=train_set, num_boost_round=180)
    pred_test_y = model.predict(test_X, num_iteration = model.best_iteration)

    return pred_test_y , model

predictions, model = runLGBM(X_train, y_train, X_test, seed_val=42)

Что я могу сделать, чтобы повысить точность?

...