scikit-learn GridSearchCV 弃用警告
Posted
技术标签:
【中文标题】scikit-learn GridSearchCV 弃用警告【英文标题】:scikit-learn GridSearchCV Deprecation Warning 【发布时间】:2014-02-21 18:06:10 【问题描述】:我正在使用 scikit-learn 0.14 的 GridSearchCV,但总是收到以下警告:
/Library/Frameworks/EPD64.framework/Versions/7.2/lib/python2.7/site-packages/sklearn/grid_search.py:706:弃用警告:GridSearchCV 的附加参数被忽略! params 参数将在 0.15 中删除。 弃用警告)
有人知道哪些参数被忽略了吗?
代码(x 和 y 从文件中读取):
def balanced_accuracy (ground_truth, predictions):
f00 = 1. * ((ground_truth == 1) & (predictions == 1)).sum() / (ground_truth == 1).sum()
f11 = 1. * ((ground_truth == 2) & (predictions == 2)).sum() / (ground_truth == 2).sum()
return 0.5* (f00 + f11)
bc_score = make_scorer(balanced_accuracy, greater_is_better=True)
C_range = 10. ** np.arange(-3, 3)
gamma_range = 10. ** np.arange(-3, 3)
r_range = np.concatenate((np.array([0]), 10.0 ** np.arange(-1, 3)))
kernel = "poly"
deg = 2
cw = "auto"
param_grid = dict(C=C_range, coef0 = r_range, gamma=gamma_range)
ss = ShuffleSplit(len(y), 10, test_size = 1000, train_size = 1000)
grid = GridSearchCV(svm.SVC(kernel = kernel, max_iter = 1000000, degree = deg, class_weight = cw), param_grid=param_grid, cv=ss, scoring = bc_score)
grid.fit (x, y, sample_weight = sw)
提前致谢!
【问题讨论】:
【参考方案1】:grid.fit
的 sample_weight
参数已弃用。这在文档中以及通过查看0.14.X release branch of scikit-learn's source 都很明显。
在这种情况下,0.14 版本中也会忽略 sample_weight,因此grid.fit(x, y sample_weight=sw)
等价于grid.fit(x, y)
。
作为旁注,按照pep-8 编写是个好主意。
【讨论】:
以上是关于scikit-learn GridSearchCV 弃用警告的主要内容,如果未能解决你的问题,请参考以下文章
Scikit-learn 中的 GridSearchCV 输出问题
Scikit-Learn:GridSearchCV 的自定义损失函数
Scikit-learn 多输出分类器使用:GridSearchCV、Pipeline、OneVsRestClassifier、SGDClassifier
scikit-learn GridSearchCV 弃用警告