Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.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 GridSearchCV分数和误差函数之间的差异_Python_Machine Learning_Scikit Learn_Cross Validation_Grid Search - Fatal编程技术网

Python GridSearchCV分数和误差函数之间的差异

Python GridSearchCV分数和误差函数之间的差异,python,machine-learning,scikit-learn,cross-validation,grid-search,Python,Machine Learning,Scikit Learn,Cross Validation,Grid Search,当使用自定义错误函数时,GridSearchCV的最佳分数是什么意思 我正在用Scikit GridSearchCV做一个简单的实验 1) 训练简单的支持向量机: from sklearn.svm import LinearSVR from sklearn.pipeline import Pipeline from sklearn.preprocessing import StandardScaler from sklearn.metrics import mean_squared_error

当使用自定义错误函数时,GridSearchCV的最佳分数是什么意思

我正在用Scikit GridSearchCV做一个简单的实验

1) 训练简单的支持向量机:

from sklearn.svm import LinearSVR
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import mean_squared_error

lin_svm_grid_params = dict(svm__C = [0.01])
lin_svm = Pipeline([("scaler", StandardScaler()), ("svm", LinearSVR(dual=False, loss='squared_epsilon_insensitive'))]) 
lin_svm_grid = GridSearchCV(lin_svm, lin_svm_grid_params, cv = 10, scoring='mean_squared_error', n_jobs = -1)
lin_svm_grid.fit(x, y)
2) 打印结果:

print lin_svm_grid.best_score_
print mean_squared_error(y, lin_svm_grid.best_estimator_.predict(x))
-610.141599985
236.578850489

所以主要的问题是:为什么值不同?我猜GridSearchCV分数是R^2分数,我可以让GridSearchCV返回错误函数值而不是R^2吗?

看看如何解释这个值以及为什么它是负值。不同的值很容易解释:网格搜索使用一些交叉验证,在您的例子中是10倍。分数是根据这些集合计算的。您的备选分数使用了其他集合(x/y;这不利于衡量泛化,因为您似乎是根据培训数据计算分数的)。谢谢您的回复。是的,现在很明显,分数值总是最大化的。我知道交叉val分数与整个训练数据的估计误差不同,我对不同的值有点困惑,现在我看到GridSearchCV确实使用了提供的度量,交叉验证问题解释了值的差异。我很乐意接受你正确的回答,谢谢!看看如何解释这个值以及为什么它是负值。不同的值很容易解释:网格搜索使用一些交叉验证,在您的例子中是10倍。分数是根据这些集合计算的。您的备选分数使用了其他集合(x/y;这不利于衡量泛化,因为您似乎是根据培训数据计算分数的)。谢谢您的回复。是的,现在很明显,分数值总是最大化的。我知道交叉val分数与整个训练数据的估计误差不同,我对不同的值有点困惑,现在我看到GridSearchCV确实使用了提供的度量,交叉验证问题解释了值的差异。我很乐意接受你正确的回答,谢谢!