Потеря [СКО] несовместима с метрикой [Точность] (без поддержки классификации) - PullRequest
0 голосов
/ 11 октября 2019

Я делаю CatBoost для своего набора данных Titanic с несколькими категориальными функциями и целью двоичной классификации.

Данные выглядят так:

Embarked    Parch   Pclass  Sex SibSp   Survived    IsCabin Deck    IsAlone IsChild Title   AgeBin  FareBin FamilySize
0   S   0   3   male    1   0.0 0   Unknown 0   1   Mr  Young   Low 1
1   C   0   1   female  1   1.0 1   C   0   1   Mrs Adult   High    1
2   S   0   3   female  0   1.0 0   Unknown 1   1   Miss    Young   Mid low 0
3   S   0   1   female  1   1.0 1   C   0   1   Mrs Adult   High    1
4   S   0   3   male    0   0.0 0   Unknown 1   1   Mr  Adult   Mid low 0

Я сделал:

# Get train and validation sub-datasets
from sklearn.model_selection import train_test_split

x = train.drop(["Survived"], axis=1)
y = train["Survived"]

#Do train data splitting
X_train, X_test, y_train, y_test = train_test_split(x,y, test_size=0.2, random_state=42)

# Select categorical indices
cat_features_indices = np.where(x.dtypes != float)[0]

# Define CatBoost model
from catboost import Pool, CatBoostClassifier, cv

model = CatBoostClassifier(
    eval_metric='Accuracy',
    use_best_model=True,
    random_seed=42
)

# Fit the model and evaluate
model.fit(X_train, y_train, cat_features=cat_features_indices, eval_set=(X_test, y_test))

pool = Pool(X_train, y_train, cat_features=cat_features_indices)

cv_data = cv(
    pool,
    model.get_params(),
    fold_count=5
)

Ошибка трассировки:

CatBoostError Traceback (последний последний вызов) в 2 пулах, 3 model.get_params (), ----> 4 fold_count = 5 5)

/ opt / conda / lib / python3.6 / site-packages / catboost / core.py в cv (пул, params, dtrain, итерации, num_boost_round, fold_count, nfold, инвертированный, partition_random_seed, seed, shuffle, logging_level, стратифицированный, as_pandas, metric_period, verbose, verbose_eval, plot, early_stopping_rounds, save_snapshot, snapshot_file, snapshot_interval, folds, тип) 4564 с log_fixup (), plot_wrapper (plot, [_get_train_c_irs]) (), pool, fold_count, инвертированный, partition_random_seed, случайный, стратифицированный, -> 4566 as_pandas, складки, тип) 4567 4568

_catboost.pyx в _catboost._cv ()

_catboost.pyx в _catboost._cv ()

CatBoostError: catboost / libs / metrics / metric.cpp: 4617: потеря [RMSE] несовместима с метрикой [Точность] (без поддержки классификации)

Справка будетБуду очень признателен, так как это действительно отстой. Спасибо!

...