2014-06-27 23 views
5

Recentemente ho guardato un po 'di tutorial sklearn, che erano tutti simili in quanto ha segnato la bontà di adattamento da:Quali sono i parametri per la funzione punteggio di sklearn?

clf.fit(X_train, y_train) 
clf.score(X_test, y_test) 

e ti sputano fuori:

0.92345... 

o qualche altro Punto.

Sono curioso di conoscere i parametri della funzione clf.score o il modo in cui ottiene il punteggio del modello. Ho cercato su Internet, ma non riesco a trovare la documentazione per questo. Qualcuno sa?

+0

Credo che dipenda dal modello – Korem

+0

Quindi la funzione di calcolo del punteggio cambia da SVM, modelli lineari e altri classificatori e regressori? Sembra un mal di testa! – tooty44

risposta

9

Prende una matrice di caratteristiche X_test e i valori obiettivo previsti y_test. Previsioni per X_test sono confrontati con y_test e sia la precisione (per classificatori) o punteggio R² (per stimatori di regressione viene restituito.

Ciò viene affermato in modo molto esplicito nelle docstring per score metodi. Quello per la classificazione legge

Returns the mean accuracy on the given test data and labels. 

Parameters 
---------- 
X : array-like, shape = (n_samples, n_features) 
    Test samples. 

y : array-like, shape = (n_samples,) 
    True labels for X. 

sample_weight : array-like, shape = [n_samples], optional 
    Sample weights. 

Returns 
------- 
score : float 
    Mean accuracy of self.predict(X) wrt. y. 

e quello per la regressione è simile.

+0

Dove ottiene y_test e x_test? – zehelvion

+0

@zehelvion Devi preparare X_test e y_test e ci sono alcuni modi per farlo. Se stai usando scikit-learn, la funzione train_test_split di sklearn.model_selection è quella che stai cercando. –

1

Non sono sicuro di aver capito correttamente la domanda. Ovviamente, per calcolare qualche errore o somiglianza la maggior parte delle funzioni di punteggio riceve una matrice di valori di riferimento (y_true) e una matrice di valori previsti dal modello (y_score) come parametri principali, ma può anche ricevere alcuni altri parametri, specifici per la metrica. Le funzioni di punteggio di solito non hanno bisogno dei valori X.

Vorrei suggerire di esaminare il codice sorgente delle funzioni di calcolo del punteggio per capire come funzionano.

Ecco un elenco di funzioni di calcolo del punteggio in scikit-learn.

1

Questo è classifier dependent. Ogni classificatore fornisce una propria funzione di scoring.

Metodo di stima dello stimatore: gli stimatori hanno un metodo di punteggio che fornisce un criterio di valutazione predefinito per il problema per cui sono stati progettati per risolvere . Questo non è discusso in questa pagina, ma nella documentazione di di ogni stimatore.

Oltre alla documentazione fornita in una delle risposte, l'unica cosa aggiuntiva che puoi fare è leggere il tipo di parametri forniti dal tuo stimatore. Ad esempio SVC classificatore SVC ha i seguenti parametri score(X, y, sample_weight=None)

Problemi correlati