【问题标题】:Is it possible to create an MLlib RDD<LabeledPoint> from a double[][] in Java?是否可以从 Java 中的 double[][] 创建 MLlib RDD<LabeledPoint>?
【发布时间】:2016-02-24 22:11:10
【问题描述】:

我正在尝试在本地使用 MLLib 中的梯度提升和随机森林。

我有一些数据想以二维双精度数组的形式传递给我的学习算法。第一个维度指示行,第二列。我还得到了相同长度的一维双精度数组中每一行的响应。

肯定有一种方法可以从这些变量创建 RDD,以便我可以在本地运行算法吗?

【问题讨论】:

    标签: java arrays apache-spark rdd apache-spark-mllib


    【解决方案1】:

    目前我能做到的最好的,虽然我希望有更好的方法:

    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);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-01
      • 2016-06-29
      • 2017-01-24
      • 1970-01-01
      • 2015-09-04
      • 2016-09-17
      • 2011-08-17
      • 1970-01-01
      相关资源
      最近更新 更多