Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python `fitsvm()为参数';获取了多个值;c';`错误_Python_Python 3.x_Scikit Learn_Svm - Fatal编程技术网

Python `fitsvm()为参数';获取了多个值;c';`错误

Python `fitsvm()为参数';获取了多个值;c';`错误,python,python-3.x,scikit-learn,svm,Python,Python 3.x,Scikit Learn,Svm,我有超过2000行和23列的数据集,包括年龄列。我已经完成了SVR的所有流程。前面,我使用了带有默认值的SVR模型。因此,我无法找到r\u评分错误的最佳准确性。所以,现在我需要修改我的代码,找到输出最高R_平方值的参数的最佳组合。为了执行最佳结果,我使用以下参数值进行搜索 c = [0.01, 0.1, 1, 10, 100] Gamma = [0.001, 0.01, 0.1, 1] Epsilon = [0.01, 0.1, 1] 但我在以下两行中面临错误: parameter['r_sq

我有超过2000行和23列的数据集,包括年龄列。我已经完成了
SVR
的所有流程。前面,我使用了带有默认值的
SVR
模型。因此,我无法找到
r\u评分错误的最佳准确性。所以,现在我需要修改我的代码,找到输出最高R_平方值的参数的最佳组合。为了执行最佳结果,我使用以下参数值进行搜索

c = [0.01, 0.1, 1, 10, 100]
Gamma = [0.001, 0.01, 0.1, 1]
Epsilon = [0.01, 0.1, 1]
但我在以下两行中面临错误:

parameter['r_squared'] = fitsvm(X_train, y_train, X_test, y_test, c = c[0], gamma = Gamma[0], epsilon = Epsilon[0], axis = 1)

parameter.sort_values('r_squared',ascending=False).head()
错误是:

fitsvm() got multiple values for argument 'c'
代码:


为此,为什么要设置
c=X[0]
(以及
gamma=X[1]
?这些是参数,它们不应该与您的数据
X
有任何关系。也许你想写
c=c[0]
gamma=gamma[0]
等等亲爱的导师,
参数['r_平方]=fitsvm(X_序列,y_序列,X_测试,y_测试,c=c[0],gamma=gamma[0],epsilon=epsilon[0],axis=1)
但是仍然有与
fitsvm()相同的错误为参数“c”获取了多个值
@desertnautWhy设置
c=X[0]
(以及
gamma=X[1]
?这些是参数,它们不应该与您的数据
X
有任何关系。可能你想写
c=c[0]
gamma=gamma[0]
等等亲爱的导师,
参数['r_平方]=fitsvm(X_序列,y_序列,X_测试,y_测试,c=c[0],gamma=gamma[0],epsilon=epsilon[0],axis=1)
但是仍然有相同的错误,
fitsvm()为参数“c”得到了多个值
import pandas as pd
import numpy as np

# Make fake dataset
dataset = pd.DataFrame(data= np.random.rand(2000,22))
dataset['age'] = np.random.randint(2, size=2000)

# Separate the target from the other features
target = dataset['age']
data = dataset.drop('age', axis = 1)

# train_data, train_target = data.loc[:1000], target.loc[:1000] - alternate naming scheme
X_train, y_train = data.loc[:1000], target.loc[:1000]

# test_data, test_target = data.loc[1001], target.loc[1001] - alternate naming scheme
X_test,  y_test  = data.loc[1001], target.loc[1001] 

X_test = np.array(X_test).reshape(1, -1)

print(X_test.shape)


c = [0.01, 0.1, 1, 10, 100]
Gamma = [0.001, 0.01, 0.1, 1]
Epsilon = [0.01, 0.1, 1]

c_,Gamma_,Ep_ = np.meshgrid(c,Gamma,Epsilon)
parameter = pd.DataFrame({'c':c_.flatten(),'Gamma':Gamma_.flatten(),'Epsilon':Ep_.flatten()})



def fitsvm(c,gamma,epsilon,X_train, y_train, X_test, y_test):
    SupportVectorRefModel = SVR(C=c,gamma=gamma,epsilon=epsilon)
    SupportVectorRefModel.fit(X_train, y_train)
    R_Sqr = SupportVectorRefModel.score(X_test,y_test) 
    return R_Sqr

np.random.seed
from sklearn.preprocessing import StandardScaler
from sklearn.datasets import load_boston

s = StandardScaler()
dataset, y = load_boston(return_X_y=True) 

X = s.fit(dataset).transform(dataset)

X_train, y_train = X[:100], y[:100]
X_test, y_test = X[1001:], y[1001:] 

parameter['r_squared'] = fitsvm(X_train, y_train, X_test, y_test, c=X[0], gamma = X[1], epsilon = X[2] , axis=1)

parameter.sort_values('r_squared',ascending=False).head()