在scikit-learn的Pipeline中包含分类器以进行交叉验证是否有意义?

用户名

让我们假设我有典型的训练和测试数据集的设置(X_trainy_trainX_testy_test)和一个非常简单的管道,我想在交叉验证使用(我会拥有多个更复杂的管道,但是这仅仅是一个简单的例子)

当我执行下面的代码所示的交叉验证时,我想知道这种Pipeline方法是否真的有效。

我的问题是,是在最后一个“测试”折叠Pipeline调用.predict()方法,还是.predict()在用于训练的折叠上调用方法

from sklearn.cross_validation import cross_val_score, KFold
from sklearn.pipeline import Pipeline
from sklearn.naive_bayes import GaussianNB
from sklearn.preprocessing import StandardScaler

pipe = Pipeline(steps=[
    ('scaler', StandardScaler()),           
    ('classification', GaussianNB())   
    ])

cv = KFold(n=X_train.shape[0], n_folds=10)

scores = cross_val_score(pipe, X_train, y_train, cv=cv, scoring='accuracy')

也许是一个更简单的示例:

艾肯伯格

默认情况下,cross_val_score总是会预测在test通过显示部分cv(看看[(train, test) for train, test in cv])。如果cv分开train并且test不相交(例如,KFold或其他交叉验证分裂对象的情况),则拟合的估计器/管线将始终对保留的数据进行预测

看到这条线

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Scikit Learn中的交叉验证

来自分类Dev

Scikit中的神经网络-学习无法产生有意义的结果

来自分类Dev

在Scikit学习分类器上使用交叉验证

来自分类Dev

如何获得交叉验证中的Keras scikit-learn包装器的训练和验证损失?

来自分类Dev

Scikit-Learn中的分层标签K折叠交叉验证

来自分类Dev

在scikit Learn中自定义交叉验证

来自分类Dev

在scikit-learn中对自定义内核SVM进行交叉验证

来自分类Dev

Scikit学习交叉验证拆分

来自分类Dev

scikit的交叉验证如何工作?

来自分类Dev

Scikit-Learn中的分类数据转换

来自分类Dev

scikit-learn中处理nan / null的分类器

来自分类Dev

scikit-learn中多类问题的级联分类器

来自分类Dev

Scikit Learn Pipeline的定制转换器

来自分类Dev

Scikit学习分类

来自分类Dev

使用Naive Bayes进行10类交叉验证的Scikit学习进行多类分类

来自分类Dev

scikit中的分类报告学习

来自分类Dev

scikit中的RBM预测

来自分类Dev

Scikit Learn中的距离指标

来自分类Dev

scikit learn:5 折交叉验证和训练测试拆分

来自分类Dev

使用scikit-learn进行二次采样+分类

来自分类Dev

在Scikit-Learn中使用近似最近邻进行分类

来自分类Dev

使用scikit-learn处理分类特征

来自分类Dev

使用scikit-learn处理分类特征

来自分类Dev

处理 scikit-learn MLPClassifier 的分类标签

来自分类Dev

回归的Scikit学习交叉验证评分

来自分类Dev

使用scikit-learn的置换测试进行的重大检验结果为所有分类器提供了相同的p值

来自分类Dev

Scikit-learn Ridge分类器:提取类概率

来自分类Dev

Scikit-learn Ridge分类器:提取类概率

来自分类Dev

scikit-learn交叉验证,带有均方误差的负值

Related 相关文章

热门标签

归档