2017-06-12 6 views
0

Mein Ziel ist es, ein DRF-Modell in H2O mit den TRAIN-, VALIDATION- und TEST-Datensätzen zu erstellen und die RMSE, R2, MSE usw. im TEST-Modell vorherzusagen.DRF-Modell Vorhersagen mit H2O und Scoring

unten ist das Stück Code:

DRFParameters rfParms = (DRFParameters) algParameter; 
rfParms._response_column = trainDataFrame._names[responseColumn(trainDataFrame)]; //The response column 

rfParms._train = trainDataFrame._key; 
//rfParms._valid = testDataFrame._key; 
rfParms._nfolds = 5; 
DRF job = new DRF(rfParms); 
DRFModel drf = job.trainModel().get(); // Train the model 
Frame pred = drf.score(testDataFrame); //Score the test 

Hier weiß ich nicht, wie zu gehen, um die Prognosen zu finden (R2, RMSE, MSE, MAE usw.) nach seinem Tor.

Könnten Sie bitte helfen in H2O DRF Modellierung und Vorhersagen Berechnung mit JAVA?

Antwort

0

Abhängig davon, ob es sich bei Ihrem Modell um ein Regressions-, Binomial- oder Multinomialmodell handelt, müssen Sie einen der folgenden Werte verwenden: ModelMetricsRegression.make(), ModelMetricsBinomial.make() oder ModelMetricsMultinomial.make(). Sie haben leicht unterschiedliche Signaturen - Sie finden sie in unseren Java-Dokumenten.

Für die trainDataFrame Sie können sie von Ihrem drf Modell erhalten, ist es in drf._output._training_metrics (möglicherweise müssen Sie es auf eine geeignete Art zu werfen, da dies ein ein generisches ModelMetrics ist). Wenn Sie Ihren Testdatensatz als Validierungsrahmen verwenden, können Sie die Messwerte von drf._output._validation_metrics abrufen.

@Edit:

DRFModel drf = job.trainModel().get(); // Train the model 
Frame pred = drf.score(testDataFrame); //Score the test 
ModelMetricsBinomial mm = ModelMetricsBinomial.make(preds.vec(2), trainDataFrame.vec(rfParms._response_column)); 
double auc = mm.auc(); 
double rmse = mm.rmse(); 
double r2 = mm.r2(); 
// etc. 
+0

Könnten Sie bitte es für die binomische einen kurzen? Ich brauche R2 RMSE usw. von der 'pred' ((Frame pred = drf.score (testDataFrame); // Erstelle den Test)) Auch muss ich die Abweichung des Testrahmens vom Modell finden. Würde es Ihnen etwas ausmachen, auch ein Codebeispiel zu geben? –

+0

@RejoyMathew siehe Bearbeiten, sollte funktionieren, habe es aber nicht selbst ausgeführt. –

+0

Vielen Dank für die schnelle Antwort. –