我有一个具有无空值的数据have,并且只有数值值(我已经完成了必要的转换)。
CATBOOST实施
from catboost import CatBoostRegressor
from sklearn.model_selection import cross_val_score
CatBoost_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: Classification metrics can't handle a mix of binary and continuous targets如何计算CATBOOST上的交叉验证精度(cv=3或验证集的三次迭代)?(输出y的值为0和1)
发布于 2020-03-18 11:19:55
您应该使用的是CatBoostClassifier。
您正在使用CatBoostRegressor,它的目的是根据连续值(例如,0.43823)将错误最小化。分类器,例如CatBoostClassifier,接受分类输入值(例如,0或1),这就是您所拥有的。在您的示例中,y是:
0 1
1 0
2 0
3 0
4 0
5 0
6 1绝对是绝对的,而不是连续的。
https://stackoverflow.com/questions/60738300
复制相似问题