【发布时间】:2016-02-24 22:11:10
【问题描述】:
我正在尝试在本地使用 MLLib 中的梯度提升和随机森林。
我有一些数据想以二维双精度数组的形式传递给我的学习算法。第一个维度指示行,第二列。我还得到了相同长度的一维双精度数组中每一行的响应。
肯定有一种方法可以从这些变量创建 RDD,以便我可以在本地运行算法吗?
【问题讨论】:
标签: java arrays apache-spark rdd apache-spark-mllib
我正在尝试在本地使用 MLLib 中的梯度提升和随机森林。
我有一些数据想以二维双精度数组的形式传递给我的学习算法。第一个维度指示行,第二列。我还得到了相同长度的一维双精度数组中每一行的响应。
肯定有一种方法可以从这些变量创建 RDD,以便我可以在本地运行算法吗?
【问题讨论】:
标签: java arrays apache-spark rdd apache-spark-mllib
目前我能做到的最好的,虽然我希望有更好的方法:
public static JavaRDD<LabeledPoint> makeMeAnRDD(double[][] X, double[] y, JavaSparkContext context)
{
assert(X.length == y.length);
List<LabeledPoint> xList = new LinkedList<LabeledPoint>();
// ivec <=> row number.
for (int ivec = 0; ivec < X.length; ivec++)
{
LabeledPoint x = new LabeledPoint(y[ivec], Vectors.dense(X[ivec]));
}
return context.parallelize(xList);
}
【讨论】: