public BinomialModelPrediction predictBinomial(RowData data) throws PredictException {
double[] preds = this.preamble(ModelCategory.Binomial, data);
BinomialModelPrediction p = new BinomialModelPrediction();
double d = preds[0];
p.labelIndex = (int)d;
String[] domainValues = this.m.getDomainValues(this.m.getResponseIdx());
p.label = domainValues[p.labelIndex];
p.classProbabilities = new double[this.m.getNumResponseClasses()];
System.arraycopy(preds, 1, p.classProbabilities, 0, p.classProbabilities.length);
if(this.m.calibrateClassProbabilities(preds)) {
p.calibratedClassProbabilities = new double[this.m.getNumResponseClasses()];
System.arraycopy(preds, 1, p.calibratedClassProbabilities, 0, p.calibratedClassProbabilities.length);
}
return p;
}
ZB: classProbabilities = [0.82333,0,276666] labelIndex = 1 Label = true domainValues = [false, true]EasyPredictModelWrapper geben falsche Vorhersage
was dieses labelIndex bedeutet tut und ist die Klassenwahrscheinlichkeiten Ordnung ist die gleiche wie die Domain-Wert-Reihenfolge, Wenn Reihenfolge gleich ist, dann bedeutet dies, dass hier Wahrscheinlichkeit von false ist 0,82333 und Wahrscheinlichkeit von wahr ist 0,27666, aber warum ist dieser labelIndex als 1 und Beschriftung als wahr.
Bitte helfen Sie mir, dieses Problem zu lösen.
Warum denken Sie, die Antwort ist falsch? Der Schwellenwert, der zum Auswählen der vorhergesagten Klasse für Binomialklassifikationsprobleme verwendet wird, ist max-F1. Wenn Ihnen diese Schwelle nicht gefällt, können Sie die Schwellenwertbildung selbst durchführen. – TomKraljevic