Spark MLlib特征处理:StringToIndex 字符串索引---原理及实战
来源:互联网 发布:金山数据恢复手机版 编辑:程序博客网 时间:2024/04/30 10:08
原理
1)按String字符串出现次数降序排序;次数相同,自然顺序。
2)按降序顺序转换成DoubleIndex,默认从0.0开始。
代码实战
import org.apache.spark.ml.feature.StringIndexerimport org.apache.spark.sql.{DataFrame, SQLContext}import org.apache.spark.{SparkContext, SparkConf}object StringToIndexExample { def main(args: Array[String]) { val conf = new SparkConf().setAppName("StringIndexerExample").setMaster("local[6]") val sc = new SparkContext(conf) val sqlContext = new SQLContext(sc) // 将Array转换成DataFrame val df: DataFrame = sqlContext.createDataFrame( Seq((0, "a"), (1, "b"), (2, "c"), (3, "a"), (4, "a"), (5, "c"),(6, "d")) ).toDF("id", "category") // 设置输入列、输出列 val indexer = new StringIndexer().setInputCol("category").setOutputCol("categoryIndex") // fit transform // fit函数:按出现次数降序排序;次数相同,自然顺序。 // 如 a 出现3次;c 出现2次;b 出现1次;d 出现1次 // transform函数:按降序顺序StringToDoubleIndex // 如 a=>0.0 c=>1.0 b=>2.0 d=>3.0 val indexed = indexer.fit(df).transform(df) indexed.show() sc.stop() }}// 输出// +---+--------+-------------+// | id|category|categoryIndex|// +---+--------+-------------+// | 0| a| 0.0|// | 1| b| 2.0|// | 2| c| 1.0|// | 3| a| 0.0|// | 4| a| 0.0|// | 5| c| 1.0|// | 6| d| 3.0|// +---+--------+-------------+
0 0
- Spark MLlib特征处理:StringToIndex 字符串索引---原理及实战
- Spark MLlib特征处理:Binarizer 二值化---原理及实战
- Spark MLlib特征处理:OneHotEncoder OneHot编码 ---原理及实战
- Spark MLlib特征处理:Normalizer 正则化---原理及实战
- Spark MLlib特征处理:TF-IDF 词频-逆文频---原理及实战
- Spark MLlib特征处理:MinMax最大最小值区间缩放---原理及实战
- Spark MLlib特征处理:PCA 主成分分析 ---原理及实战
- Spark MLlib聚类clustering:KMeans K均值 ---原理及实战
- spark mllib 实战
- Spark-mllib特征提取算法
- Spark-mllib特征转换算法
- Spark-mllib特征选择算法
- Spark MLlib LDA 基于GraphX实现原理及源码分析
- spark--二十种特征变换方法及Spark MLlib调用实例(Scala/Java/python)(一)
- Spark中ml和mllib库特征处理例子及其文档总结
- Spark入门实战系列--8.Spark MLlib(上)--机器学习及SparkMLlib简介
- Spark入门实战系列--8.Spark MLlib(上)--机器学习及SparkMLlib简介
- Spark入门实战系列--8.Spark MLlib(上)--机器学习及SparkMLlib简介
- 关于mysql乱码的问题
- 数组练习题
- mongo查询
- Part 81 - Range attribute in asp.net mvc
- c#学习笔记之十 socket编程的listen()方法参数的理解,即backlog
- Spark MLlib特征处理:StringToIndex 字符串索引---原理及实战
- Python urllib和urllib2的入门
- C/C++ Lua Parsing Engine
- poj 3694 Network
- 鸡尾酒疗法
- 哈欠:微信小程序开发工具的数据,配置,日志等目录在哪儿? 怎么找?
- 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如 2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制
- 基于SuperSocket实现的WebSocket服务器 和Unity中使用Websocket
- idea2016中tomcat配置及运行