错误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】:
准确性在这里不起作用,因为它是针对分类问题的指标。即是:
正确预测数/
总预测数
不设置它可以正常工作,因为它默认为基础估计器的得分,即LinearRegression
的R^2
得分,这是您应该考虑回归问题的得分。
您可以查看sklearn
中支持的不同评分类型以及它们适用于哪些问题:
【讨论】:
以上是关于错误ValueError:尝试使用cross_val_score和线性回归时不支持连续[重复]的主要内容,如果未能解决你的问题,请参考以下文章
ValueError:尝试计算 ROC 曲线时输入形状错误 (2, 256, 3)
如何修复 tensorflow 中的“ValueError:空训练数据”错误
Pytorch 错误:ValueError:图片应该是 2/3 维。有4个维度[关闭]
LightGBM 错误:ValueError:对于提前停止,评估需要至少一个数据集和评估指标