Spark MLlib编程API入门系列之特征选择之卡方特征选择(ChiSqSelector)
2017-08-19 12:42
375 查看
不多说,直接上干货!
特征选择里,常见的有:VectorSlicer(向量选择) RFormula(R模型公式) ChiSqSelector(卡方特征选择)。
ChiSqSelector用于使用卡方检验来选择特征(降维)。即来特征选择。
我这里,采取手动创建。(但是,这仅仅是为了初学者。我不建议,最好用maven)
[b]完整代码[/b]
由
变成
特征选择里,常见的有:VectorSlicer(向量选择) RFormula(R模型公式) ChiSqSelector(卡方特征选择)。
ChiSqSelector用于使用卡方检验来选择特征(降维)。即来特征选择。
我这里,采取手动创建。(但是,这仅仅是为了初学者。我不建议,最好用maven)
[b]完整代码[/b]
ChiSqSelector .scala
package zhouls.bigdata.DataFeatureSelection import org.apache.spark.SparkConf import org.apache.spark.SparkContext import org.apache.spark.ml.feature.ChiSqSelector//导入mi里的特征选择里的ChiSqSelector算法 import org.apache.spark.mllib.linalg.Vectors//特征向量 /** * By zhouls */ object ChiSqSelector extends App { val conf = new SparkConf().setMaster("local").setAppName("ChiSqSelector") val sc = new SparkContext(conf) val sqlContext = new org.apache.spark.sql.SQLContext(sc) import sqlContext.implicits._ //构造数据集 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) ) val df = sc.parallelize(data).toDF("id", "features", "clicked")//将构造的数据集,转成DF,即DataFrame df.select("id", "features","clicked").show() //使用卡方检验,将原始特征向量(特征数为4)降维(特征数为3) val selector = new ChiSqSelector().setNumTopFeatures(3).setFeaturesCol("features").setLabelCol("clicked").setOutputCol("selectedFeatures") val result = selector.fit(df).transform(df) result.show() }
由
变成
相关文章推荐
- SparkML中三种特征选择算法(VectorSlicer/RFormula/ChiSqSelector)
- ChiSqSelector-卡方检验选择特征
- 机器学习系列(5)_从白富美相亲看特征预处理与选择(上)
- Spark MLlib编程API入门系列之特征选择之向量选择(VectorSlicer)
- 【机器学习系列之六】决策树中的特征选择及树的剪枝()
- 机器学习系列(6)_从白富美相亲看特征预处理与选择(下)
- 寻根究底,探讨 chi -square特征词选择方法后面的数学支持
- Spark MLlib编程API入门系列之特征选择之R模型公式(RFormula)
- 机器学习系列(6)_从白富美相亲看特征预处理与选择(下)
- 机器学习系列(6)_从白富美相亲看特征预处理与选择(下)
- 寻根究底,探讨 chi -square特征词选择方法后面的数学支持
- 机器学习系列(5)_从白富美相亲看特征选择与预处理(上)
- 机器学习系列(5)_从白富美相亲看特征预处理与选择(上)
- 特征选择方法CHI和IG
- C++实现Chi-square 特征词选择算法
- 机器学习系列(5)_从白富美相亲看特征选择与预处理(上)
- weka数据挖掘拾遗(二)---- 特征选择(IG、chi-square)
- 机器学习系列(5)_从白富美相亲名单看特征选择与预处理(上)
- Spark_Mllib系列之二———提取,转化和特征选择
- 菜鸟进阶:C++实现Chi-square 特征词选择算法