Was sind die Parameter für sklearn die score-Funktion?
Ich vor kurzem sah einen Haufen sklearn tutorials, die waren alle ähnlich, dass Sie das erzielte Anpassungsgüte von:
clf.fit(X_train, y_train)
clf.score(X_test, y_test)
Und es werde ausgespuckt:
0.92345...
oder eine andere Punktzahl.
Ich bin neugierig, wie die Parameter des clf.score-Funktion oder, wie es erzielt das Modell. Ich suchte alle über das internet, aber kann nicht scheinen zu finden, die zugehörige Dokumentation. Wer weiß?
- Ich glaube, es ist abhängig vom Modell
- Damit die scoring-Funktion ändert sich von SVMs lineare Modelle und andere Klassifikatoren und Regressoren? Das scheint eine Kopfschmerzen!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dauert es eine feature-matrix
X_test
und die erwarteten soll-Wertey_test
. Vorhersagen fürX_test
sind im Vergleich mity_test
und entweder die Genauigkeit (für Klassifikatoren) - oder R2-score (für regression Schätzer zurückgegeben.Dies wird ganz explizit in den docstrings für
score
Methoden. Die eine für die Einstufung liestund die man für die regression ist ähnlich.
Nicht sicher, ob ich deine Frage verstanden richtig. Offensichtlich, um zu berechnen, einige Fehler oder ähnlichkeit meisten scoring-Funktionen bekommen ein array von Referenz-Werte (
y_true
) und ein array von Werten vorhergesagt durch das Modell (y_score
) als wichtigsten Parameter, sondern erhalten auch einige andere Parameter, die spezifisch für die Metrik. Scoring-Funktionen in der Regel nicht benötigen X-Werte.Ich würde vorschlagen, Blick in den Quellcode der scoring-Funktionen, um zu verstehen, wie Sie funktionieren.
Hier ist eine Liste von scoring-Funktionen im scikit-learn.
Dies ist Klassifizierer abhängig. Jeder Klassifizierer stellt es die eigene scoring-Funktion.
Abgesehen von der Dokumentation, die Sie in einer der Antworten, die einzige zusätzliche Sache, die Sie tun können, ist zu Lesen, welche Art von Parameter-Schätzer liefert. Zum Beispiel SVM Klassifizierer SVC hat die folgenden Parameter score(X, y, sample_weight=None)
Syntax:
sklearn.Metriken.accuracy_score(y_true, y_pred, normalize=True, sample_weight=None)
In multilabel-Klassifikation, diese Funktion berechnet Teilmenge Genauigkeit: die Menge der Etiketten soll für ein Beispiel muss exakt mit dem entsprechenden Satz von Etiketten in y_true.
Parameter:
y_true : 1d-array-like, oder label indicator array /sparse matrix
Ground truth (korrekten) Bezeichnungen.
y_pred: 1d-array-like, oder label indicator array /sparse matrix
Vorhergesagt Etiketten, zurückgegeben wird, indem ein Klassifikator.
normalisieren : bool, optional (default=True)
Wenn False, return die Anzahl der korrekt klassifizierten Proben. Andernfalls zurück, der Anteil der korrekt klassifizierten Proben.
sample_weight : array-like shape = [n_samples], optional
Beispiel GEWICHTE.
Gibt:
score : float
Wenn normalisieren == True, return, der Anteil der korrekt klassifizierten Proben (float), sonst gibt die Anzahl der korrekt klassifizierten Proben (int).
Die besten Leistungen 1 mit normalisieren == True und die Anzahl der Proben mit normalisieren == False.
Weitere Informationen finden Sie unter:
[https://scikit-learn.org/stable/modules/model_evaluation.html#accuracy-score%5D%5B1%5D