scala - Spark 2.2 : Load org. apache.spark.ml.feature.LabeledPoint 来自文件

标签 scala apache-spark apache-spark-sql apache-spark-mllib apache-spark-2.0

以下代码行将(即将弃用)mllib.regression.LabeledPoint 从文件加载到 RDD[LabeledPoint]:

MLUtils.loadLibSVMFile(spark.sparkContext, s"$path${File.separator}${fileName}_data_sparse").repartition(defaultPartitionSize)

我无法找到 ml.feature.LabeledPoint 的等效函数,该函数在 Spark 文档示例中尚未大量使用。

有人可以指点我相关的功能吗?

最佳答案

使用 ml 包,您无需将数据放入 LabeledPoint 中,因为您可以指定在所有转换/算法中用于标签/特征的列。例如:

val gbt = new GBTClassifier()
  .setLabelCol("label")
  .setFeaturesCol("features")
<小时/>

要将 LibSVM 文件作为数据帧加载,只需执行以下操作:

val df = spark.read.format("libsvm").load(s"$path${File.separator}${fileName}_data_sparse")

这将返回一个包含两列的数据框:

The loaded DataFrame has two columns: label containing labels stored as doubles and features containing feature vectors stored as Vectors.

请参阅documentation了解更多信息。

关于scala - Spark 2.2 : Load org. apache.spark.ml.feature.LabeledPoint 来自文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48898301/

相关文章:

scala - 如何为 cat-effect 的资源添加正确的错误处理

java - 在 SBT 构建中添加托管 libraryDependencies(任意长度)列表

csv - 无法在 pyspark 中显示 CSV 文件(ValueError : Some of types cannot be determined by the first 100 rows, 请重试采样)

xml - 在 Spark 2.1.0 中读取大文件时出现内存不足错误

scala - 如何在 Spark 2.3.0 UDF 中为每个工作人员构建并保留一个引用对象?

apache-spark - Spark-SQL : Access array elements storing within a cell in a data frame

scala - 如何计算数据框列的平均值并找到前 10%

scala - 如何向现有 Iceberg 表添加分区

mysql - 如何使用 cassandra 中另一个表的选择插入到 cassandra 表中?

scala - Play Framework : How can I use a given certifcate for an HTTP WS. url 调用?