Python 错误值错误:尝试使用交叉值和线性回归时不支持连续

Python 错误值错误:尝试使用交叉值和线性回归时不支持连续,python,python-3.x,machine-learning,scikit-learn,linear-regression,Python,Python 3.x,Machine Learning,Scikit Learn,Linear Regression,我使用了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_mod

我使用了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%}")
如果我在交叉评分中使用
scoring=“accurity”
,则会出现错误:

ValueError: continuous is not supported

发生了什么事?

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

  • 正确预测数
    /
    预测总数
通过不设置它,它可以正常工作,因为它默认为基础估计员的评分,即a的
R^2
评分,这是一个回归问题的评分

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


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

  • 正确预测数
    /
    预测总数
通过不设置它,它可以正常工作,因为它默认为基础估计员的评分,即a的
R^2
评分,这是一个回归问题的评分

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


准确度是一个分类指标,在回归设置中没有意义,因此存在误差;请参见此处的类似情况:您的问题也是回归,而不是分类您正在代码中使用
LinearRegression()
。我不知道你怎么能说你在做分类。准确度是一个分类指标,在回归设置中它只是毫无意义,因此是错误的;请参见此处的类似情况:您的问题也是回归,而不是分类您正在代码中使用
LinearRegression()
。我不知道你怎么能说你在做分类。