CATBOOST回归器中的交叉验证:ValueError: 分类指标无法处理二元和连续目标的混合

我有一个数据框,其中没有空值,且仅包含数值(我已经做了必要的转换)

CATBOOST实现

from catboost import CatBoostRegressorfrom sklearn.model_selection import cross_val_scoreCatBoost_clf=CatBoostRegressor()CatBoost_clf.fit(X, y)print('Train Accuracy',cross_val_score(CatBoost_clf, X_train, y_train,     cv=3, scoring='accuracy'))print('Test Accuracy',cross_val_score(CatBoost_clf, X_test, y_test, cv=3,     scoring='accuracy'))

错误

> ----> 5 print('Accuracy:',cross_val_score(CatBoost_clf, X, y, cv=3, scoring='accuracy'))> ValueError: 分类指标无法处理二元和连续目标的混合

如何在CATBOOST上计算交叉验证准确率(cv=3或3次验证集迭代)?(输出y的值为0和1)


回答:

你应该使用的是CatBoostClassifier

你正在使用CatBoostRegressor,它是设计用于基于连续值(例如,0.43823)最小化误差的。一个分类器,例如CatBoostClassifier,接受分类输入值(例如,0或1),这正是你所拥有的。在你的例子中,y是:

0    11    02    03    04    05    06    1

这显然是分类数据,而不是连续数据。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注