1. 程式人生 > >predictionio 隨機森林

predictionio 隨機森林

var algo err file extends cto num sets end

其實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;
    }
}

predictionio 隨機森林