У меня очень несбалансированный набор данных для классификации нескольких классов , и я использую XGBoost Classifier от sklearn . После разделение поезда / теста в тестовых данных есть некоторые метки, которых нет в обучающих данных. Таким образом, error возникает, когда я звонил XGBoostClassifier.fit()
, так как он сначала помещает LabelEncoder
в целевую переменную в обучающих данных, а затем преобразует тестовые данные. Я хочу знать, есть ли способ избежать подгонки функции LabelEncoder в XGBClassifer.fit()
( Я хочу передать в нее данные с предварительно помеченной целевой переменной).
Я обнаружил, что XGBClassifier всегда подходит для LabelEncoder (после проверки его исходного кода). Я не хочу балансировать классы в разделении данных поезда / теста. Итак, кто-нибудь может предложить альтернативный способ для этого? Заранее спасибо.