predictionio 随机森林

其实predictionio 也是支持随机森林算法的,可惜官方的例子没有出现,我简单写了一点,您也可以参考这个地址:
https://github.com/runapal5/PredictionIO-DefectPrediction/blob/master/engine.json

public class RandomForestAlgorithm extends P2LJavaAlgorithm<PreparedData, RandomForestModel, Query, PredictedResult> {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    private final RandomForestAlgorithmParams ap;

    public RandomForestAlgorithm(RandomForestAlgorithmParams ap) {
        this.ap = ap;
    }

    @Override
    public RandomForestModel train(SparkContext sc, PreparedData preparedData) {
        String datapath = "/root/whk/company.txt";
        JavaRDD<LabeledPoint> treedata = MLUtils.loadLibSVMFile(sc, datapath).toJavaRDD();
        Map<Integer,Integer> categoricalFeaturesInfo = new HashMap<Integer,Integer>();
        return RandomForest.trainClassifier(treedata, ap.getNumClasses(), categoricalFeaturesInfo, ap.getNumTrees(),
                                     ap.getFeatureSubsetStrategy(),ap.getImpurity(),ap.getMaxDepth(),ap.getMaxBins(),12345);
    }

    @Override
    public PredictedResult predict(RandomForestModel model, final Query query) {
        double[] b={12,0,0};
        model.predict(Vectors.dense(b));                                  
        return null;
    }
}