我有一个来自libsvm文件的经过训练的RandomForestModel
对象,现在想使用List<Double>
作为特征来调用该模型的预测方法。如何将List<Double>
转换为Java中的必要输入并查看预测的目标类?
据我所知,预测(...)接收JavaRDD<Vector>
,但我不确定如何将List<Double>
转换为。{/ p>
答案 0 :(得分:1)
通过浏览docs,看起来predict
也可以在Vector
上呼叫List<Double>
。您可以将列表转换为DenseVector
数组,将double
转换为new DenseVector(double_array)
(docs},然后执行this问题,然后执行{{1}} }。
答案 1 :(得分:1)
取决于数据的稀疏性,您可以使用SparseVector或DenseVector
编写从列表到矢量的map
转换
int length = yourList.size();
double[] inputArray = new double[length];
yourList.toArray(inputArray);
Vector inputVector = new DenseVector(inputArray);