【问题标题】:SelectKBest with chi2 gives ValueError: could not convert string to floatSelectKBest with chi2 给出 ValueError: could not convert string to float
【发布时间】:2019-12-18 11:13:13
【问题描述】:

我正在尝试使用 SelectKBest 和 chi2 (SelectKBest(chi2, k=5)) 对分类变量应用特征选择。但是出现字符串无法转换为浮点数的值错误。我知道解决方法是使用 pd.get_dummies() 将分类变量转换为虚拟变量。但为什么会这样呢?卡方统计检验是对两个分类变量进行双变量分析,那为什么不接受分类变量呢?

【问题讨论】:

    标签: python scikit-learn feature-selection


    【解决方案1】:

    在这种情况下,卡方测量特征值(X)和类(y)之间的对应关系。为此,它需要来自目标变量的类频率和每个类的特征值总和。然后,它将每个类的值的这种“理想”分布(即X 值的总和乘以类频率)与实际分布(即每个类的实际值的总和)进行比较,以获得您的卡方值。详情请见here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-13
      • 1970-01-01
      • 2019-05-22
      • 1970-01-01
      • 2021-07-21
      • 1970-01-01
      • 2021-11-19
      • 2020-12-11
      相关资源
      最近更新 更多