【问题标题】:SelectKBest ValueError after Log-Transformation of Target-Variable目标变量对数转换后的 SelectKBest ValueError
【发布时间】:2023-12-24 01:13:01
【问题描述】:

我目前正在对 Ames Iowa 数据集中的房价进行一些分析。 我已经成功地处理了数据并删除了所有缺失值等,我即将进行一些回归分析。我想建立三个回归模型,第一个具有两个最佳特征,第二个具有 15 个特征,第三个具有所有可用变量。我正在使用 SelectKBest 进行特征选择。我的目标变量是我对数转换的“SalePrice”。 出于某种原因,我总是从 SelectKBest 收到值错误。 有趣的是,如果我不对“SalePrice”进行对数转换,一切正常。 我检查了目标变量的 dtype 并按预期显示了一个浮点数。
有人可以帮帮我吗?
我真的很感激!

【问题讨论】:

    标签: python scikit-learn feature-selection sklearn-pandas valueerror


    【解决方案1】:

    你正在使用

    SelectKBest(chi2)
    

    根据documentation of chi2

    参数:

    X : {array-like, sparse matrix}, shape = (n_samples, n_features_in)
        Sample vectors.
    
    y : array-like, shape = (n_samples,)
        Target vector (class labels).
    

    chi2 仅适用于分类任务,不适用于回归。您当前预测销售价格的问题是回归任务,因此是错误的。

    也许尝试用f_regression 代替chi2

    【讨论】: