什么是 StringIndexer 、 VectorIndexer 以及如何使用它们? [英] What is StringIndexer , VectorIndexer, and how to use them?

查看:104
本文介绍了什么是 StringIndexer 、 VectorIndexer 以及如何使用它们?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Dataset<Row> dataFrame = ... ;   
StringIndexerModel labelIndexer = new StringIndexer()
               .setInputCol("label")
               .setOutputCol("indexedLabel")
               .fit(dataFrame);

 VectorIndexerModel featureIndexer = new VectorIndexer()
               .setInputCol("s")
               .setOutputCol("indexedFeatures")
               .setMaxCategories(4)
               .fit(dataFrame);
IndexToString labelConverter = new IndexToString()
               .setInputCol("prediction")
               .setOutputCol("predictedLabel")
               .setLabels(labelIndexer.labels());

什么是StringIndexer、VectorIndexer、IndexToString,它们之间有什么区别?我应该如何以及何时使用它们?

What is StringIndexer, VectorIndexer, IndexToString and what is the difference between them? How and When should I use them?

推荐答案

我只知道这两个:

StringIndexer 和 VectorIndexer

字符串索引器:

  • 将单个列转换为索引列(类似于 R 中的因子列)

矢量索引器:

  • 用于索引 featuresCol 列中的分类预测变量.请记住 featuresCol 是由向量组成的单列(请参阅 featuresCol 和 labelCol).每行都是一个向量,其中包含来自每个预测变量的值.
  • 如果您有字符串类型的预测器,您首先需要使用 StringIndexer 对这些列进行索引.featuresCol 包含向量,向量不包含字符串值.

看看这里的例子:https://mingchen0919.github.io/learning-apache-spark/StringIndexer-and-VectorIndexer.html

这篇关于什么是 StringIndexer 、 VectorIndexer 以及如何使用它们?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆