栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 云计算 > 云平台

Spark 回归模型中特征提取之 VectorAssembler VS VectorIndexer

云平台 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spark 回归模型中特征提取之 VectorAssembler VS VectorIndexer

Spark提供的基础特征处理类 – 用于回归模型 Vector Assembler :

一种将多个列合并为一个向量列的转换器。它将多个原始特征合并为
一个特征向量, 从而能用于训练线性回归和决策树之类的机器学习模型。

Vector Indexer :

对类别特征进行索引, 这里指从 Vector Assembler 传来的那些类别特征。
它会自动确定哪些特征是类别特征, 并将实际的值转为类别索引。

类别型的分类最多有 maxCategories 种

代码演示:
def main(args: Array[String]): Unit = {
    val spark = SparkSession.builder().master("local[*]").appName("").getOrCreate()
    spark.sparkContext.setLogLevel("ERROR")
    val seqRdd = spark.sparkContext.makeRDD(Seq(
      (1, 1, 5),
      (2, 2, 0),
      (2, 3, 5),
      (1, 4, 2),
      (3, 5, 2)
    ))

    val df = spark.createDataFrame(seqRdd).toDF("a", "b", "c")
    println("===========原始数据=============")
    df.show(false)
    val vectorAssembler = new VectorAssembler().setInputCols(Array("a", "b", "c")).setOutputCol("rawFeatures")
    val df1 = vectorAssembler.transform(df)
    println("=========== VectorAssembler =============")
    vectorAssembler.transform(df).show(false)

    val indexerModel: VectorIndexerModel = new VectorIndexer()
      .setInputCol("rawFeatures")
      .setOutputCol("indexedFeatures")
//      .setMaxCategories(2)  //指定本特者的取值超过多少被视为连续特征。对连续特征其不作处理,只对离散特征进行索引。
      .fit(df1)
    println("=========== VectorIndexer =============")
    indexerModel.transform(df1).show(false)
}

===========原始数据=============
+---+---+---+
|a  |b  |c  |
+---+---+---+
|1  |1  |5  |
|2  |2  |0  |
|2  |3  |5  |
|1  |4  |2  |
|3  |5  |2  |
+---+---+---+

=========== VectorAssembler =============
+---+---+---+-------------+
|a  |b  |c  |rawFeatures  |
+---+---+---+-------------+
|1  |1  |5  |[1.0,1.0,5.0]|
|2  |2  |0  |[2.0,2.0,0.0]|
|2  |3  |5  |[2.0,3.0,5.0]|
|1  |4  |2  |[1.0,4.0,2.0]|
|3  |5  |2  |[3.0,5.0,2.0]|
+---+---+---+-------------+

=========== VectorIndexer =============
+---+---+---+-------------+---------------+
|a  |b  |c  |rawFeatures  |indexedFeatures|
+---+---+---+-------------+---------------+
|1  |1  |5  |[1.0,1.0,5.0]|[0.0,0.0,2.0]  |
|2  |2  |0  |[2.0,2.0,0.0]|[1.0,1.0,0.0]  |
|2  |3  |5  |[2.0,3.0,5.0]|[1.0,2.0,2.0]  |
|1  |4  |2  |[1.0,4.0,2.0]|[0.0,3.0,1.0]  |
|3  |5  |2  |[3.0,5.0,2.0]|[2.0,4.0,1.0]  |
+---+---+---+-------------+---------------+

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/897513.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号