当前位置: 首页 > 知识库问答 >
问题:

scikit学习GridSearchCV弃用警告

宓弘壮
2023-03-14

我正在使用scikit-learn 0.14的GridSearchCV,但总是得到以下警告:

/Library/Frameworks/epd 64 . framework/Versions/7.2/lib/python 2.7/site-packages/sk learn/grid _ search . py:706:deprecation warning:忽略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个答案

宇文育
2023-03-14

< code>grid.fit的< code>sample_weight参数已被否决。这在文档中以及通过查看scikit-learn源代码的0.14.X发布分支都很明显。

在这种情况下,sample_weight在0.14版本中也会被忽略,因此grid.fit(x, ysample_weight=sw)等价于grid.fit(x, y)

作为附带说明,按照pep-8编写是个好主意。

 类似资料:
  • 问题内容: 我正在处理不平衡的数据集,并希望使用scikit的gridsearchcv进行网格搜索以调整模型的参数。为了对数据进行超采样,我想使用SMOTE,我知道我可以将其作为管道的一个阶段,并将其传递给gridsearchcv。我担心的是,我认为训练和验证折纸都将使用击打,这不是您应该做的。验证集不应过采样。我是否正确,整个管道将应用于两个数据集拆分?如果是的话,我该如何扭转呢?在此先多谢 问

  • 问题内容: 是否可以在没有交叉验证的情况下使用GridSearchCV?我正在尝试通过网格搜索优化KMeans聚类中的聚类数量,因此我不需要或想要交叉验证。 该文档也使我感到困惑,因为在fit()方法下,它有一个用于非监督学习的选项(例如,将None用于非监督学习)。但是,如果您想进行无监督学习,则需要在没有交叉验证的情况下进行学习,而且似乎没有摆脱交叉验证的选择。 问题答案: 经过大量搜索,我能

  • 从sklearn加载流行数字数据集。数据集模块,并将其分配给可变数字。 分割数字。将数据分为两组,分别命名为X_train和X_test。还有,分割数字。目标分为两组Y_训练和Y_测试。 提示:使用sklearn中的训练测试分割方法。模型选择;将随机_状态设置为30;并进行分层抽样。使用默认参数,从X_序列集和Y_序列标签构建SVM分类器。将模型命名为svm_clf。 在测试数据集上评估模型的准确

  • 问题内容: 在Ubuntu下全新安装的Anaconda …在使用Scikit-Learn进行分类任务之前,我将以各种方式预处理数据。 这一切都很好,但是如果我有一个要分类的新样本(下面的温度)(因此我想以相同的方式进行预处理,那么我会 然后我会收到弃用警告… 所以问题是我应该如何像这样缩放单个样本? 我想一种替代方法(不是很好)是… 但是我相信有更好的方法。 问题答案: 只需听听警告告诉您的内容:

  • 问题内容: 在选择主成分数(k)时,我们选择k为最小值,以便保留例如99%的方差。 但是,在Python Scikit学习中,我不是100%确定等于“保留了99%的方差”吗?谁能启发?谢谢。 Python Scikit学习PCA手册在这里 http://scikit- learn.org/stable/modules/generation/sklearn.decomposition.PCA.htm

  • Scikit-learn 套件的安装 目前Scikit-learn同时支持Python 2及 3,安装的方式也非常多种。对于初学者,最建议的方式是直接下载 Anaconda Python (https://www.continuum.io/downloads)。同时支持 Windows / OSX/ Linux 等作业系统。相关数据分析套件如Scipy, Numpy, 及图形绘制库 matplot