SparkMl-StringIndexer (文本特征索引转换)
< 返回列表时间: 2019-11-15来源:OSCHINA
【围观】麒麟芯片遭打压成绝版,华为亿元投入又砸向了哪里?>>>
StringIndexer (文本特征索引转换)
描述:StringIndexer 是一个Estimator,只能对DataFrame进行单特征转换。

参数信息 setInputCol setOutputCol
参数描述 String String
备注 DF中待变换的特征名称 变换后的特征名称,转换后的类型为:vector
其他

程序示例: override def getDataFrame(sparkSession: SparkSession = this.getSparkSession()): DataFrame = { sparkSession.createDataFrame(Seq( (0, "a"), (1, "b"), (2, "c"), (3, "a"), (4, "a"), (5, "c") )) .toDF("id", "category") } override def execute(dataFrame: DataFrame) = { //设置模型 val indexer = new StringIndexer() .setInputCol("category") .setOutputCol("categoryIndex") //获取模型 var model: StringIndexerModel = indexer.fit(dataFrame) //映射关系 println(model.labels.mkString(",")) //转换数据 val indexed = model.transform(dataFrame) //show indexed.show() }
模型字典: a,c,b
数据结果: +---+--------+-------------+ | 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| +---+--------+-------------+
实际应用例子:
文本索引,加快计算。
更多博客推荐:
SparkML(2.1.0)机器学习库指南
本文链接:SparkMl-StringIndexer (文本特征索引转换)
热门排行