特征工程的特征选择

Posted haojia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了特征工程的特征选择相关的知识,希望对你有一定的参考价值。

卡方验证(ChiSqSelector):卡方检验假设检验

  • 首先假设特征和标签列是相关的,如果计算出来的结果差距很大,拒绝原假设,说明特征和标签列是独立的,这列特征不去选择。
  • 变量进行独立性检验如果独立性高,那么表示两者没太大关系,特征可以舍弃
  • 如果独立性小,两者相关性高,则说明该特征会对应变量产生比较大的影响,应当选择。

  • 代码实战

技术图片

  • 代码分析:
      //    * 2-准备数据
      val data = Seq(
        (7, Vectors.dense(0.0, 0.0, 18.0, 1.0), 1.0),
        (8, Vectors.dense(0.0, 1.0, 12.0, 0.0), 0.0),
        (9, Vectors.dense(1.0, 0.0, 15.0, 0.1), 0.0)
      )
      //    * 3-数据解析
      val df = spark.createDataset(data).toDF("id", "features", "clicked")
      //    * 4-卡方验证
      val sqSelector: ChiSqSelector = new ChiSqSelector()
        .setNumTopFeatures(2)
        .setLabelCol("clicked")
        .setFeaturesCol("features")
      //    * 5-得到结果
      println("selected 2 features:")
      sqSelector.fit(df).transform(df).show(false)
  • 结果分析
    技术图片

以上是关于特征工程的特征选择的主要内容,如果未能解决你的问题,请参考以下文章

sklearn-特征工程之特征选择

特征工程之特征选择

特征工程之特征选择

Python数据挖掘—特征工程—特征选择

机器学习 特征工程之特征选择

特征工程之特征提取与特征选择 区别