在http://scikit-learn.org/0.9/modules/feature_selection.html中有记载:”警告 请勿在分类问题中使用回归评分函数。”
我正在尝试为一个回归问题寻找最佳特征,并使用f_regression作为评分函数。但它极其耗费内存,我的8GB内存的机器会卡住,最终我会得到内存错误。
我已经在同一个问题上使用了卡方作为评分函数,它运行得非常快。想知道警告的反面是否成立?如果不是,我能否在回归问题中使用卡方作为评分函数?
回答:
χ²检验构建了一个n_classes
乘以n_features
的列联表。在回归模型中,没有n_classes
的概念。唯一能使其工作的方法是将你的y
值分箱,进行特征选择,然后在原始的y
和减少后的特征集上训练回归模型。scikit-learn中没有对此的支持,所以你需要自己编程实现。