2016-07-12 14 views
1

geben Ich verwende sklearn.linear_model.LogisticRegression und mit, dass ich die R^2-Wert berechnen, wieregr.score und r2_score verschiedene Werte

regr.score(xtest, ytest)

folgt und ich bekomme eine Punktzahl von 0,65

Nun, nur um zu vergleichen i die Metrik von sklearn.metrics.r2_score¶ vorgesehen verwendet und berechne ich die Partitur wie folgt

r2_score(ytest,regr.predict(xtest))

und ich bekomme eine Punktzahl von -0,54

Laut der Dokumentation kehrt regr.score "R^2 of self.predict (X) wrt. y.“und das ist, was ich R^2 mit der Metrik berechnen tat, aber ich verstehe nicht, warum die Werte so unterschiedlich sind?

Kann mir jemand hilft ihm ein bisschen erklären?

-Update : da schlug ich die Variablen geschaltet ytest, regr.predict (xtest) in r2_score, aber in der logistischen Regression noch ich unterschiedliche Werte erhalten Also aktualisiert ich die Frage

+1

Es sollte 'r2_score (ytest, regr.predict (xtest))' (tatsächlich dann vorhergesagt) sein – ayhan

Antwort

3

der Grund, warum Sie unterschiedliche Werte erhalten, weil die score Funktion in.. LogisticRegression Klasse berechnet standardmäßig die accuracy score. Die Genauigkeits-Score ist einfach die Anzahl der richtigen Vorhersagen geteilt durch th Die Gesamtzahl der Vorhersagen. Auf der anderen Seite ist ein R2 Score völlig anders und Sie können mehr über seine Mathematik lesen here.

Hoffe, dass hilft!

+0

Danke, ich dachte, die Ergebnisse sind die gleichen für lineare und logistische Regression und nicht durch die Definition gehen. –