我正在尝试在linnerud数据集上实现SVR,在这里我只想使用数据集中的一项功能,即chinup和要考虑的目标数据包含在所有列中。但是,当我尝试实现以下代码时,它给了我valueError。如果有人可以帮助我识别并纠正错误,那将是不小的。谢谢
以下是我到目前为止尝试过的内容:
from sklearn import datasets
from sklearn import svm
from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_split
import numpy as np
def loadDataset():
ds = datasets.load_linnerud()
X,y = ds.data,ds.target
return X,y
def svmReg(data_list,y_list):
data_list=data_list[:,np.newaxis,0] #use chinup as feature
X_train,X_test,y_train,y_test=train_test_split(data_list,y_list,test_size=0.30,random_state=42)
model=svm.SVR()
model.fit(X_train,y_train)
y_pred = model.predict(X_test)
print("SVM Mean squared error: %.2f"
% mean_squared_error(y_test,y_pred))
mse = mean_squared_error(y_test,y_pred)
return mse
data_list,y_list = loadDataset()
#print(data_list)
mse = svmReg(data_list,y_list)
我想评估性能,所以我在计算均方误差。如果这是不正确的性能评估方法,请纠正我。
请参阅我得到的错误: