很奇怪的精度变化?

Very strange accuracy change?

下面是我的 catboost 模型:

from sklearn.metrics import r2_score
cb_model = CatBoostRegressor(iterations=500,
                             learning_rate=0.05,
                             depth=10,
                             random_seed = 42,
                             bagging_temperature = 0.2,
                             od_type='Iter',
                             metric_period = 50,
                             od_wait=20)
cb_model.fit(X, y)
r2_score(cb_model.predict(X), y)

输出为:0.9999993582437351

当我尝试打印混淆矩阵时:

classificationSummary(y, clf.predict(X))

输出一致如下:



Confusion Matrix (Accuracy 0.9700)

       Prediction
Actual  0  1
     0 50  1
     1  2 47

为什么准确率会下降?

您使用了错误的指标。 r2_score 计算 r 平方或 coefficient of determination,这用于回归而不是计算精度。

你应该使用accuracy score