2017-05-26 125 views
-1

我的问题是,我应该先对整个数据集进行特征选择selectkbest sklearn功能,然后partion数据集中到训练和测试设置或者我应该在训练和测试datset执行selectkbest他们已分区之后?在第二个是那里不同的k-特征将被选择用于测试数据集比被用于训练的可能性?我对机器学习非常陌生,最近刚刚学习了一些关于特征选择的知识。在特征选择,我应该使用SelectKBest培训和测试单独数据集?

我用单变量特征选择例如这里了解selectkbest - http://scikit-learn.org/stable/modules/feature_selection.html为例

回答

0

从技术上讲,你应该适合在训练集selectKbest然后“改造”的测试与安装的选择设置。这是因为您不应该在训练过程的任何部分使用测试数据。

试想在后一阶段将模型应用于新数据。在这种情况下,你将不得不使用你已经在训练数据上训练selectKbest模型“改造”这些数据。所以,这是更准确的性能评估的正确过程。

如果要实现一些交叉验证方案,你应该重复这个步骤,对每个CV倍,以获取有关分类(或回归)表现一个正确的估计。

相关问题