Идея «данные валидации должны быть согласованы с данными обучения» проста: при каждой предварительной обработке, которую вы выполняете с данными обучения, вы должны делать это одинаково для данных проверки и, конечно же, при производстве.Это применимо к каждому алгоритму ML.
Например, для нейронной сети вы часто нормализуете свои тренировочные данные (вычтите среднее и разделите на стандартное).Предположим, у вас есть переменный «возраст» со средним возрастом 26 лет.Он будет отображен на «0» для обучения вашей нейронной сети.Для данных проверки вы хотите нормализовать так же, как данные обучения (используя среднее значение обучения и стандарт обучения), чтобы 26 лет в проверке все еще отображались в 0 (то же значение -> то же самое предсказание).
Это то же самое для LightGBM.Данные будут « сгруппированы » (короче говоря, каждое непрерывное значение будет дискретизировано), и вы хотите отобразить непрерывные значения в одни и те же ячейки при обучении и проверке.Эти ячейки будут рассчитываться с использованием «эталонного» набора данных.
Что касается обучения без проверки, то это то, что вы не хотите делать большую часть времени!Очень легко наложить тренировочные данные на увеличенные деревья, если у вас нет проверки для настройки таких параметров, как «num_boost_round».