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

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       |
+---+----+----------+

转载于:https://www.cnblogs.com/soyo/p/7760500.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值