卡方作为回归的评分函数

Posted

技术标签:

【中文标题】卡方作为回归的评分函数【英文标题】:chi-square as scoring function for regression 【发布时间】:2013-11-25 22:03:27 【问题描述】:

记录在http://scikit-learn.org/0.9/modules/feature_selection.html警告注意不要将回归评分函数用于分类问题。”

我正在尝试为回归问题找到最佳特征,并使用 f_regression 作为评分函数。但它非常消耗内存,我的 8GB 机器挂起,最后我得到内存错误。

我使用 Chi2 作为同一问题的评分函数,它的工作速度非常快。想知道警告的反面是否属实?如果不能,我可以使用 Chi2 作为回归问题的评分函数吗?

【问题讨论】:

【参考方案1】:

不,您不应该使用 Chi2 评分函数,因为它不能保证回归模型是准确的。您必须检查您的 f_regression 解决方案或使用其他解决方案,如递归消除或 PCA(主成分分析)

http://en.wikipedia.org/wiki/Principal_component_analysis

我个人会建议 PCA,它给出了非常可靠的结果。

【讨论】:

谢谢维克拉姆。我不想使用 PCA,因为它会减小维度。我想选择最好的功能。【参考方案2】:

如果您的问题是回归,我建议您使用 LASSO。 Lasso 只是带有 L1 正则化的标准回归;这会导致许多特征权重为零。

Scikit has an implementation of Lasso。

【讨论】:

【参考方案3】:

χ² 检验构建了一个n_classes 乘以n_features 的列联表。在回归模型中,没有n_classes 的概念。使其工作的唯一方法是将您的 y 值合并,进行特征选择,然后在原始 y 和减少的特征集上训练回归模型。 scikit-learn 中不支持此功能,因此您必须自己编程。

【讨论】:

这对我来说似乎很合理...... scikit 中是否有任何模块可以 bin 我的 y 值?还是我必须自己写? @user644745:你必须自己写。

以上是关于卡方作为回归的评分函数的主要内容,如果未能解决你的问题,请参考以下文章

评分卡应用 - 利用Toad进行有监督分箱(卡方分箱/决策树分箱)

评分卡应用 - 利用Toad进行有监督分箱(卡方分箱/决策树分箱)

R语言使用survival包的coxph函数构建cox回归模型使用ggrisk包的ggrisk函数可视化Cox回归的风险评分图(风险得分图)并解读风险评分图基于LIRI数据集(基因数据集)

如何使用 sklearn 中的 GridSearchCV 设置自己的评分以进行回归?

R语言survival包的coxph函数构建cox回归模型ggrisk包的ggrisk函数可视化Cox回归的风险评分图基于业务经验指定经验cutoff值(基于LIRI基因数据集)

R语言使用survival包的coxph函数构建cox回归模型使用ggrisk包的ggrisk函数可视化Cox回归的风险评分图(风险得分图)使用heatmap.genes参数指定需要显示的基因列表