使用org.apache.spark.mllib.util.MLUtils包中的以下方法,将LIBSVM格式的二进制标记数据加载到RDD [LabeledPoint]中,自动确定功能数量和默认分区数。 / p>
def loadLibSVMFile(sc: SparkContext, path: String): RDD[LabeledPoint]
我的问题是加载多类标签的数据? 在多类标记数据上使用此方法时......它将转换为二进制标记数据。 有没有办法将LibSVM格式的多类数据加载到RDD [LabeledPoint] ...... ??
在同一个包中还有一个方法,其中包含以下描述
将LIBSVM格式的标记数据加载到RDD [LabeledPoint]中,并使用默认的分区数。
def loadLibSVMFile(sc: SparkContext, path: String, numFeatures: Int): RDD[LabeledPoint]
但是当我试图使用它时,显示错误"找到Int,需要布尔"
答案 0 :(得分:0)
您使用的是什么版本的Spark?我刚用过这个文件 http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/multiclass/glass.scale
Spark 1.1和以下代码:
val lbldRDD = MLUtils.loadLibSVMFile(sc,svmFile)
lbldRDD.map(_.label).collect().toSet.map(println)
我看到输出:
5.0 1.0 6 2.0 7 3.0
这似乎对我来说是正确的