其实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;
}
}
原创文章,作者:3628473679,如若转载,请注明出处:https://blog.ytso.com/194380.html