Spark MLlib编程API入门系列之特征选择之R模型公式(RFormula)
生活随笔
收集整理的這篇文章主要介紹了
Spark MLlib编程API入门系列之特征选择之R模型公式(RFormula)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
?
?
?
?
不多說,直接上干貨!
?
特征選擇里,常見的有:VectorSlicer(向量選擇) RFormula(R模型公式) ChiSqSelector(卡方特征選擇)。
?
RFormula用于將數據中的字段通過R語言的Model Formulae轉換成特征值,輸出結果為一個特征向量和Double類型的label。關于R語言Model Formulae的介紹可參考:https://stat.ethz.ch/R-manual/R-devel/library/stats/html/formula.html
?
?
?
?
?
?
?
代碼編寫
RFormula.scala
package zhouls.bigdata.DataFeatureSelectionimport org.apache.spark.SparkConf import org.apache.spark.SparkContext import org.apache.spark.ml.feature.RFormula//引入ml里的特征選擇的RFormula算法/*** By zhouls*/ object RFormula extends App {val conf = new SparkConf().setMaster("local").setAppName("RFormula")val sc = new SparkContext(conf)val sqlContext = new org.apache.spark.sql.SQLContext(sc)import sqlContext.implicits._//構造數據集val dataset = sqlContext.createDataFrame(Seq((7, "US", 18, 1.0),(8, "CA", 12, 0.0),(9, "NZ", 15, 0.0))).toDF("id", "country", "hour", "clicked")//導入到DataFramedataset.select("id", "country", "hour", "clicked").show()//當需要通過country和hour來預測clicked時候,//構造RFormula,指定Formula表達式為clicked ~ country + hourval formula = new RFormula().setFormula("clicked ~ country + hour").setFeaturesCol("features").setLabelCol("label")//生成特征向量及labelval output = formula.fit(dataset).transform(dataset)output.select("id", "country", "hour", "clicked", "features", "label").show()}?
?
?
? 由
?
?
?
變成
?
?
轉載于:https://www.cnblogs.com/zlslch/p/7396185.html
總結
以上是生活随笔為你收集整理的Spark MLlib编程API入门系列之特征选择之R模型公式(RFormula)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS 9 学习系列: Xcode Co
- 下一篇: JS线程