scikit-learn 中的测试集分区

Posted

技术标签:

【中文标题】scikit-learn 中的测试集分区【英文标题】:Test set partition in scikit-learn 【发布时间】:2013-12-19 14:21:42 【问题描述】:

在http://scikit-learn.org/stable/auto_examples/mixture/plot_gmm_classifier.html的“plot_gmm_classifier.py”中,训练和测试数据定义如下。

skf = StratifiedKFold(iris.target, n_folds=4)
# Only take the first fold.
train_index, test_index = next(iter(skf))

X_train = iris.data[train_index]
y_train = iris.target[train_index]
X_test = iris.data[test_index]
y_test = iris.target[test_index]

我突然想到在 y_test = iris.target[test_index] 中为测试数据提供了标签。如果是这样,那为什么?我们不应该标记测试数据。如果不是这种情况,这里还会发生什么?

【问题讨论】:

【参考方案1】:

在这个特定示例中,使用了测试数据标签,以便可以评估方法的准确性(通过将预测的测试标签与真实的测试标签进行比较)并在图表上绘制真实的标签。

【讨论】:

以上是关于scikit-learn 中的测试集分区的主要内容,如果未能解决你的问题,请参考以下文章

Centos6.5安装 scipy sciki-learn 一堆报错

在 scikit-learn 中处理不平衡测试集的最佳方法

scikit-learn:如果经过一次热编码后它的特征少于训练/测试集,如何预测新数据

如何获取 Scikit-learn 的 svm 中的训练误差?

在 Scikit-Learn 分类器上使用交叉验证

没有 scikit-learn 的分层训练/验证/测试拆分