Classifica in H2O AutoML

Aug 28 2020

Ho appena iniziato a imparare a usare H2O Auto ML e sto provando un modello di classificazione binario.

Sto cercando di capire perché le classifiche del modello cambiano ad ogni corsa.

I primi 5 modelli rimangono tra i primi 5, ma i modelli passano leggermente a una classifica più alta o più bassa.

Mentre DRF si è classificato 2° una volta, l'altra volta è arrivato 3°.

Ci sono un paio di ragioni per cui posso ipotizzare che causi cambiamenti.

  1. Il seme per l'algoritmo cambia ogni volta
  2. Non è stato assegnato alcun frame della classifica
  3. La RF comporta il campionamento casuale come parte del processo che porta alla creazione di alberi diversi ogni volta
  4. La classifica non cambierà, qualche altra modifica ai dati/codice è responsabile della modifica.

Mi aiutereste per favore a capirlo meglio.

Risposte

2 ErinLeDell Aug 31 2020 at 04:55

Sembra che tu non stia impostando un seme, quindi dovresti iniziare da lì. Affinché gli algoritmi con casualità intrinseca (ad es. XGBoost, GBM, Random Forest) producano la stessa risposta ogni volta, è necessario impostare (almeno) un seme casuale. In H2O AutoML, c'è un singolo seedargomento (che viene reindirizzato a tutti i singoli algoritmi) e se lo imposti ogni volta sullo stesso valore, la maggior parte dei modelli sarà la stessa su esecuzioni ripetute. Per impostazione predefinita, AutoML eseguirà anche la convalida incrociata con pieghe casuali, quindi ciò garantisce anche che le stesse pieghe vengano utilizzate ogni volta.

Ci sono alcuni avvertimenti: H2O Deep Learning non è riproducibile (per impostazione predefinita) anche se imposti un seme, quindi quei modelli cambieranno sempre. Poiché l'insieme impilato "Tutti i modelli" utilizza modelli di Deep Learning oltre a una serie di altri modelli, anche l'insieme finale non sarà riproducibile.

Infine, dovresti usare max_modelsinvece di max_runtime_secsper controllare per quanto tempo AutoML dovrebbe essere eseguito, altrimenti potresti ottenere un numero diverso di modelli nella classifica (e nell'insieme di tutti i modelli impilati) nelle esecuzioni successive.