我正试图在当地使用MLLib中的Gradient Boosting和Random Forests。
我有一些数据要传递给以二维二维数组形式出现的学习算法。第一维指示行,第二列。我也得到了相同长度的双维一维数组中每一行的响应。
当然有一种方法可以从这些变量创建RDD,这样我就可以在本地运行算法了吗?
答案 0 :(得分:0)
我现在能做的最好,但我希望有更好的方法:
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);
}