特征变化--->标签到索引的转换(StringIndexer)
2024-10-21 20:41:32
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(
(,"log"),
(,"text"),
(,"text"),
(,"soyo"),
(,"text"),
(,"log"),
(,"log"),
(,"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 |
+---+----+----------+
最新文章
- Jquery初学
- MATLAB中fft函数的正确使用方法
- typeahead.js 使用记录
- SQL注入的原理以及危害
- ng-init,ng-controller,ng-model
- nc命令学习
- iOS学习之UITabBarController
- <;转>;一道面试题比较synchronized和读写锁
- HDU 1227 Fast Food (DP)
- 让ubuntu使用root帐号并让winscp以root身份登录
- Maven之debug技巧
- 修改Android中strings.xml文件, 动态改变数据
- nyist 500 一字棋
- OCP-1Z0-051-题目解析-第5题
- PHP中使用正则表达式详解 preg_match() preg_replace() preg_mat
- 设计模式之建造者模式Builder(创建型)
- 关于apidoc文档生成不了的一个原因
- linkin大话数据结构--Collection和Iterator
- Python_性能测试
- ";大概能给你的磕盐增加一点幸福感✈";-[那些年的矫情]