Все предикторы являются категориальными (например: национальность, город, дорога, корзина дохода и т. д.).
Фискальный код может повторяться дважды, и каждый экземпляр/наблюдение имеет вес (1, если не повторяется, значение от 0 до 1, если повторяется).
Например, набор данных выглядит так:
фискальный_код
вес
цель
категориальная информация
AAAAA1
0.98
0
...
AAAAA1
0.02
1
...
У меня есть два набора данных:
- train:
: матрица категориальных переменныхКод: Выделить всё
X_train - : целевая переменная
Код: Выделить всё
y_train - : вес для каждого наблюдения в наборе данных поезда.
Код: Выделить всё
train_weight
Я попробовал модель CatBoost CatBoostClassifier:
Код: Выделить всё
# Inizialize booster and hyperparameters
categorical_features_indices = np.where(X.dtypes == np.category)[0]
model = CatBoostClassifier(iterations=5000, learning_rate=0.1, depth=7, loss_function='Logloss',eval_metric='AUC')
# Fit model
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)
Я прочитал документацию CatBoost, но не нашел ничего полезного, вместо документации Lightgbm (если рассматривать другую модель буста).
Подробнее здесь: https://stackoverflow.com/questions/541 ... servations
Мобильная версия