catboost: оценка / тестовый набор с весами для наблюдений

Я работаю над набором данных, содержащим список людей (проиндексированных фискальным кодом). Целевая переменная является двоичной (1: купить книгу, 0: в противном случае). Все предикторы являются категориальными (например, национальность, город, дорога, корзина дохода и т. Д.). Фискальный код может повторяться дважды, и каждый экземпляр / наблюдение имеют вес (1, если не повторяется, значение от 0 до 1, если повторяется).

Например, набор данных выглядит как

fiscal_code | вес | цель | категорическая информация

AAAAA1 | 0,98 | 0 |......

AAAAA1 | 0,02 | 1 |........

У меня есть два набора данных (с одинаковыми переменными), один для поезда (X_train= матрица категориальных переменных, y_train, который является целевой переменной, train_weight, который является весом для каждого наблюдения в наборе поездов), и один для теста (с теми же переменными и значение: X_test, y_test и test_weight).

Я пробую модель Catboost - CatBoostClassifier.

Инициализировать бустер и гиперпараметры

categoryorical_features_indices = np.where(X.dtypes == np.category)[0]

модель = CatBoostClassifier(итерации =5000, learning_rate=0,1, глубина =7, loss_function='Logloss',eval_metric='AUC')

Подходящая модель

model.fit(X_train,

        y_train,
         eval_set=(X_test,y_test),
         cat_features=categorical_features_indices,
         use_best_model=True,
         verbose=True,
         sample_weight=train_weight)

Вопрос заключается в следующем: как я могу принять во внимание, что наблюдения в наборе TEST тоже имеют веса (test_weight)? Есть ли у вас какие-либо идеи?

Я прочитал документацию по https://tech.yandex.com/catboost/doc/dg/concepts/python-reference_catboostregressor_fit-docpage/ но не нашел ничего полезного, вместо документации lightgbm (если рассматривать другую модель повышения мощности).

0 ответов

Насколько я понимаю, это тот случай, когда вам нужно использовать пул, т.е.

model.fit(Pool(X_train,y_train,weight=train_weight)
      eval_set=Pool(X_test,y_test,weight=test_weight),
      cat_features=categorical_features_indices,
      use_best_model=True,
      verbose=True)
Другие вопросы по тегам