我有一个来自libsvm文件的经过训练的RandomForestModel
对象,现在想使用该模型调用预测方法,使用List<Double>
作为特征。如何在 Java 中将List<Double>
转换为必要的输入并查看预测的目标类?
据我所知,predict(...) 需要JavaRDD<Vector>
但我不确定如何将List<Double>
转换为该 .
从文档的浏览来看,RandomForestModel
似乎也可以在Vector
上调用predict
。您可以通过将列表转换为double
数组来将List<Double>
转换为DenseVector
(文档),如本问题所示,然后执行new DenseVector(double_array)
。
根据数据的稀疏性,您可以使用 SparseVector 或 DenseVector 编写从 List 到 Vector 的map
转换
int length = yourList.size();
double[] inputArray = new double[length];
yourList.toArray(inputArray);
Vector inputVector = new DenseVector(inputArray);