Ich habe mehrere Algorithmen, die eine binäre Klassifizierung (mit Antwort 0 oder 1) Problem lösen, indem Sie jeder Beobachtung eine Wahrscheinlichkeit des Zielwerts gleich 1 zuweisen. Alle Algorithmen versuchen, die log loss function wo N zu minimieren ist die Anzahl der Beobachtungen, y_i ist der tatsächliche Zielwert und p_i ist die Wahrscheinlichkeit von 1, die vom Algorithmus vorhergesagt wird. Hier sind einige R-Code mit Beispieldaten:Kombinieren binärer Klassifikationsalgorithmen
actual.response = c(1,0,0,0,1)
prediction.df = data.frame(
method1 = c(0.5080349,0.5155535,0.5338271,0.4434838,0.5002529),
method2 = c(0.5229466,0.5298336,0.5360780,0.4217748,0.4998602),
method3 = c(0.5175378,0.5157711,0.5133765,0.4372109,0.5215695),
method4 = c(0.5155535,0.5094510,0.5201827,0.4351625,0.5069823)
)
log.loss = colSums(-1/length(actual.response)*(actual.response*log(prediction.df)+(1-actual.response)*log(1-prediction.df)))
Der Beispielcode das Protokoll Verlust für jeden Algorithmus ergibt:
method1 method3 method2 method4
0.6887705 0.6659796 0.6824404 0.6719181
Jetzt möchte ich dies kombinieren Algorithmen, so kann ich die Log-Verlust minimieren weiter . Gibt es ein R-Paket, das das für mich tun kann? Ich werde Referenzen zu irgendwelchen Algorithmen, Artikeln, Büchern oder Forschungsarbeiten schätzen, die diese Art von Problem lösen. Beachten Sie, dass ich als Endergebnis die vorhergesagten Wahrscheinlichkeiten jeder Klasse haben und einfache 0,1 Antworten notieren möchte.