码迷,mamicode.com
首页 > 其他好文 > 详细

特征工程的特征选择

时间:2020-03-01 12:36:30      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:selector   特征工程   拒绝   his   计算   val   代码   print   影响   

卡方验证(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)
  • 结果分析
    技术图片

特征工程的特征选择

标签:selector   特征工程   拒绝   his   计算   val   代码   print   影响   

原文地址:https://www.cnblogs.com/haojia/p/12388764.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!