【发布时间】:2015-11-11 21:06:59
【问题描述】:
我有一个嵌套映射形式的数据集,它的 Scala 类型是:
Map[String, (LabelType,Map[Int, Double])]
第一个String键是每个样本的唯一标识符,值是一个包含标签(为-1或1)的元组,以及一个嵌套映射,它是非零的稀疏表示与样本相关的元素。
我想将这些数据加载到 Spark(使用 MUtil)并训练和测试一些机器学习算法。
使用 LibSVM 的稀疏编码很容易将这些数据写入文件,然后在 Spark 中加载:
writeMapToLibSVMFile(data_map,"libsvm_data.txt") // Implemeneted some where else
val conf = new SparkConf().setAppName("DecisionTree").setMaster("local[4]")
val sc = new SparkContext(conf)
// Load and parse the data file.
val data = MLUtils.loadLibSVMFile(sc, "libsvm_data.txt")
// Split the data into training and test sets
val splits = data.randomSplit(Array(0.7, 0.3))
val (trainingData, testData) = (splits(0), splits(1))
// Train a DecisionTree model.
我知道直接从data_map 加载data 变量应该很容易,但我不知道怎么做。
感谢任何帮助!
【问题讨论】:
标签: scala apache-spark libsvm apache-spark-mllib