Почему тестовые данные также участвуют в lightGBM train (), а также используются для вычисления ошибки предсказания? - PullRequest
0 голосов
/ 16 февраля 2020

Я бы хотел использовать lightGBM для обучения модели машинного обучения.

Я проверил пример на https://github.com/microsoft/LightGBM/blob/master/examples/python-guide/advanced_example.py

У меня есть несколько вопросов о правильности кода.

(1) Какие модели можно создать с помощью lightgbm.train ()?
https://lightgbm.readthedocs.io/en/latest/pythonapi/lightgbm.train.html Это регрессор или классификатор?

(2) Почему набор тестовых данных также используется для обучения? Как это может гарантировать, что результаты теста все еще действительны?

  # line 31
  lgb_eval = lgb.Dataset(X_test, y_test, reference=lgb_train,
                   weight=W_test, free_raw_data=False)
  # line 52
  gbm = lgb.train(params,
            lgb_train,
            num_boost_round=10,
            valid_sets=lgb_train,  # eval training data with test data !!!
            feature_name=feature_name,
            categorical_feature=[21]) 

   # line 84
  y_pred = bst.predict(X_test) # why x_test is also used to predict y? X_test has been involved in training the model !!!

Спасибо

1 Ответ

2 голосов
/ 16 февраля 2020
  1. Вы можете обучать модели регрессии и классификатора, используя lgb.train. Это зависит от параметров, которые вы определяете, а именно objective.
  2. Набор тестов (valid_sets) используется только для проверки, он не используется для обучения.
...