2017-11-04 15 views
1

私はlibsvmファイルから訓練されたRandomForestModelオブジェクトを持っており、List<Double>を機能として使用して、そのモデルでpredictメソッドを呼び出すことになります。 List<Double>をJavaの必要な入力に変換し、予測されたターゲットクラスを表示するにはどうすればよいですか?リストを使って予測する<Double>

予測できるものは... JavaRDD<Vector>ですが、List<Double>に変換する方法は不明です。

+0

のいずれかを使用してリストからベクトルへの変換mapを書くことができ、私は私が使うべきものがhttpsであると仮定しています://spark.apache .org/docs/2.2.0/api/java/org/apache/spark/mllib/tree/model/RandomForestModel.html#predict-org.apache.spark.api.java.JavaRDD- – rimsky

+0

ドキュメントを読むことをお勧めしますJavaRDDクラスの –

答えて

1

docsのブラウズからは、Vectorpredictも呼び出すことができます。RandomForestModelのように見えます。 List<Double>DenseVectordocs)に変換するには、this質問のようにdouble配列にリストを変換してからnew DenseVector(double_array)を実行します。

+0

これを見る前に、私はVector dv = Vectors.dense(Doubles.toArray(myListOfDoubles))をやってしまいました.Doubles.toArrayはGuava – rimsky

1

はあなたのデータのスパース性に依存し、あなたはSparseVectorまたはDenseVector

int length = yourList.size(); 
double[] inputArray = new double[length]; 
yourList.toArray(inputArray); 
Vector inputVector = new DenseVector(inputArray); 
関連する問題