2015-12-13 18 views

risposta

10

Se si inizializza il modello con verbose=True prima di chiamare fit si dovrebbe ottenere una sorta di output che indica lo stato di avanzamento. Per esempio GradientBoostedClassifer fornisce in uscita il progresso che assomiglia a questo:

Iter  Train Loss Remaining Time 
    1   1.2811   0.71s 
    2   1.2595   0.58s 
    3   1.2402   0.50s 
    4   1.2263   0.46s 
    5   1.2121   0.43s 
    6   1.1999   0.41s 
    7   1.1876   0.39s 
    8   1.1761   0.38s 
    9   1.1673   0.37s 
    10   1.1591   0.36s 
    20   1.1021   0.29s 
    30   1.0511   0.27s 
    40   1.0116   0.25s 
    50   0.9830   0.22s 
    60   0.9581   0.19s 
    70   0.9377   0.16s 
    80   0.9169   0.14s 
    90   0.9049   0.12s 
    100   0.8973   0.10s 
+2

fit() ha ottenuto un argomento inaspettato parola chiave 'verbose' –

+1

Aggiungere la parola chiave per il modello, non il metodo di chiamata in forma. Inoltre, usando SVR, l'impostazione verbose = True non ha aggiunto output per quanto posso dire. – oskopek

+0

A meno che non manchi qualcosa, i meta-stimatori usati per multiclasse/multilabel non consentono tali parole chiave. Ad esempio non puoi usare verbose = True come parametro per OneVsRestClassifier(), solo per il classificatore che stai usando al suo interno. Questo è un peccato perché non si può avere un senso di progresso ad alto livello. – Stephen

12

Molti modelli supportano un argomento verbose che dà corso (e, talvolta, l'indicazione sulla velocità di convergenza).

ad es.

clf = MPLClassifier(verbose=True)

(see MLPClassifier)

Se si dispone di un ciclo di fuori del modello di apprendimento, vi consiglio tqdm.