第66集 python机器学习:信息泄露示例说明( 三 )

pipe = Pipeline([(\"select\" SelectPercentile(score_func=f_regression percentile=5))

(\"ridge\" Ridge())
)

print(\"cross validation score of pipe is:{:.3f\".format(np.mean(cross_val_score(pipe x y cv=5))))

运行后其结果如下:

cross validation score of pipe is:-0.118

运行后其预测分数为负数 , 说明该模型没有学到任何东西 , 符合预期的结果 。 这说明利用管道的时候 , 其特征选择在位于交叉验证循环的内部 , 也就是说 , 仅使用数据的训练部分来选择特征 , 而不是使用测试部分 。 特征选择找到的特征在训练集中与目标有关 , 但是由于数据完全是随机的 , 这些特征在测试集中并不与目标相关 , 从而得到了该预测结果 。

"

推荐阅读