使用sklearn进行交叉验证的高级特征提取

时间:2013-06-03 06:51:41

标签: scikit-learn feature-extraction cross-validation

给定具有1000个数据样本的样本数据集,假设我想预处理数据以获得10000行数据,因此每个原始数据行导致10个新样本。此外,在训练我的模型时,我希望能够执行交叉验证。 我使用的评分函数使用原始数据来计算分数,因此我希望交叉验证评分能够处理原始数据而不是生成的数据。由于我将生成的数据提供给培训师(我使用的是RandomForestClassifier),因此我不能依赖交叉验证来根据原始样本正确地分割数据。

我的想法是什么:

  • 创建自定义要素提取器以提取要提供给分类器的要素。
  • 将特征提取器添加到管道并将其提供给GridSearchCv,例如
  • 实施一个自定义记分员,该记分员使用原始数据对给定一组选定参数的模型进行评分。

对于我想要完成的工作,有没有更好的方法?

我正在问这个与Kaggle

上正在进行的比赛有关

1 个答案:

答案 0 :(得分:0)

也许您可以在扩展样本上使用分层交叉验证(例如分层K折叠或分层随机分割)并使用原始样本idx作为分层信息并结合自定义分数函数,该函数将忽略非原始样本模型评估。

相关问题