首页 > 其他 > 详细

特征变化--->标签和索引的转换(StringIndexer)

时间:2017-10-31 12:34:03      阅读:438      评论:0      收藏:0      [点我收藏+]
package Spark_MLlib

import org.apache.spark.ml.feature.StringIndexer
import org.apache.spark.sql.SparkSession


object 特征变换_StringIndexer {
     val spark = SparkSession.builder().master("local[2]").appName("标签和索引的转换").getOrCreate()
     import spark.implicits._
  def main(args: Array[String]): Unit = {
       val df=spark.createDataFrame(Seq(
         (0,"log"),
         (1,"text"),
         (2,"text"),
         (3,"soyo"),
         (4,"text"),
         (5,"log"),
         (6,"log"),
         (7,"log")
       )).toDF("id","type")
     val indexer=new StringIndexer().setInputCol("type").setOutputCol("type_index")
     val model=indexer.fit(df)
       model.labels.foreach(println)   //类型的频率顺序(高-->低)
     val index=model.transform(df)     //索引先排频率高的即log为0
      index.show(false)

  }
}

结果:

log
text
soyo
+---+----+----------+
|id |type|type_index|
+---+----+----------+
|0  |log |0.0       |
|1  |text|1.0       |
|2  |text|1.0       |
|3  |soyo|2.0       |
|4  |text|1.0       |
|5  |log |0.0       |
|6  |log |0.0       |
|7  |log |0.0       |
+---+----+----------+

特征变化--->标签和索引的转换(StringIndexer)

原文:http://www.cnblogs.com/soyo/p/7760500.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!