错误ValueError:尝试使用cross_val_score和线性回归时不支持连续[重复]

Posted

技术标签:

【中文标题】错误ValueError:尝试使用cross_val_score和线性回归时不支持连续[重复]【英文标题】:Error ValueError: continuous is not supported when tried to use cross_val_score and Linear Regression [duplicate] 【发布时间】:2020-08-04 07:11:26 【问题描述】:

我使用了来自 sklearn 和线性回归的 load_boston 数据集。 代码:

from sklearn.datasets import load_boston
import pandas as pd
import numpy as np
%matplotlib inline
from sklearn.model_selection import train_test_split, KFold,cross_val_score,cross_validate
from sklearn.linear_model import LinearRegression

#Loading the dataset
x = load_boston()
df = pd.DataFrame(x.data, columns = x.feature_names)
df["MEDV"] = x.target
X = df.drop("MEDV",1)   #Feature Matrix
y = df["MEDV"]          #Target Variable
df.head()

linear = LinearRegression()
X_train,X_test, y_train,y_test = train_test_split(X,y, random_state = 11)
linear.fit(X_train,y_train)

kfold = KFold(n_splits=5, random_state=11, shuffle=True)
scores = cross_val_score(estimator= linear,cv=kfold, X=X, y = y, )# if scoring= "accuracy": error 

#>ValueError: 不支持连续

print(f"Mean Accuracy: scores.mean():.2% and standard deviation: scores.std():.2%")

如果我在 cross_val_score 中使用scoring= "accuracy",则会出现错误:

ValueError: continuous is not supported

发生了什么?

【问题讨论】:

准确率是一个分类指标,在回归设置中只是没有意义,因此会出现错误;在这里看到类似的情况:***.com/questions/38015181/… 你的问题也是回归,而不是分类 您在代码中使用了LinearRegression()。我不知道你怎么能说你在做分类。 【参考方案1】:

准确性在这里不起作用,因为它是针对分类问题的指标。即是:

正确预测数/总预测数

不设置它可以正常工作,因为它默认为基础估计器的得分,即LinearRegressionR^2 得分,这是您应该考虑回归问题的得分。

您可以查看sklearn 中支持的不同评分类型以及它们适用于哪些问题:

Metrics and scoring: quantifying the quality of predictions

【讨论】:

以上是关于错误ValueError:尝试使用cross_val_score和线性回归时不支持连续[重复]的主要内容,如果未能解决你的问题,请参考以下文章

ValueError:尝试计算 ROC 曲线时输入形状错误 (2, 256, 3)

如何修复 tensorflow 中的“ValueError:空训练数据”错误

Pytorch 错误:ValueError:图片应该是 2/3 维。有4个维度[关闭]

LightGBM 错误:ValueError:对于提前停止,评估需要至少一个数据集和评估指标

导入 keras 时出现 ValueError «您正在尝试使用旧的 GPU 后端»

sklearn(错误的输入形状)ValueError