Spark 2.2:从文件加载org.apache.spark.ml.feature.LabeledPoint

时间:2018-02-21 04:42:29

标签: 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文档示例中尚未大量使用。

有人能指出我的相关功能吗?

1 个答案:

答案 0 :(得分:2)

使用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")

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

  

加载的DataFrame有两列:标签包含存储为双精度的标签和包含存储为向量的要素向量的要素。

有关详细信息,请参阅documentation