introduzione
Quanti di voi hanno riscontrato questo errore durante la creazione dei propri modelli di machine learning con “chiaro”?
Scommetto la maggior parte di noi! Almeno nei primi giorni.
Questo errore si verifica quando si tratta di variabili categoriali (Catene). E chiaro, devi convertire queste categorie in formato numerico.
Per eseguire questa conversione, usiamo vari metodi di pre-elaborazione come “codifica dei tag”, “codifica a caldo” e altri.
In questo articolo, parlerò di una libreria open source di recente ” CatBoost"Sviluppato e contribuito da Yandex. CatBoost può utilizzare direttamente le funzioni categoriali ed è di natura scalabile.
"Questa è la prima tecnologia russa di machine learning open source", Mikhail Bilenko ha detto, Yandex capo dell'intelligenza artificiale e della ricerca.
PD Puoi anche leggere questo articolo scritto da me prima “Come gestire le variabili categoriali?”.
Sommario
- Cos'è CatBoost??
- Vantaggi della libreria CatBoost
- CatBoost rispetto ad altri algoritmi di boost
- Installazione CatBoost
- Risolvere la sfida ML utilizzando CatBoost
- Note finali
1. Cos'è CatBoost??
CatBoost è un algoritmo di apprendimento automatico open source di Yandex. Puede integrarse fácilmente con marcos de apprendimento profondoApprendimento profondo, Una sottodisciplina dell'intelligenza artificiale, si affida a reti neurali artificiali per analizzare ed elaborare grandi volumi di dati. Questa tecnica consente alle macchine di apprendere modelli ed eseguire compiti complessi, come il riconoscimento vocale e la visione artificiale. La sua capacità di migliorare continuamente man mano che vengono forniti più dati lo rende uno strumento chiave in vari settori, dalla salute... como TensorFlow de Google y Core ML de Apple. Puoi lavorare con vari tipi di dati per aiutare a risolvere un'ampia gamma di problemi affrontati dalle aziende oggi. Per completarlo, fornisce la migliore precisione della categoria.
È particolarmente potente in due modi:
- Produce resultados de vanguardia sin un addestramentoLa formazione è un processo sistematico volto a migliorare le competenze, conoscenze o abilità fisiche. Viene applicato in vari ambiti, come lo sport, Formazione e sviluppo professionale. Un programma di allenamento efficace include la pianificazione degli obiettivi, Pratica regolare e valutazione dei progressi. L'adattamento alle esigenze individuali e la motivazione sono fattori chiave per ottenere risultati di successo e sostenibili in qualsiasi disciplina.... de datos extenso que normalmente requieren otros métodos de aprendizaje automático, e
- Fornisce un potente supporto immediato per i formati di dati più descrittivi che accompagnano molti problemi aziendali.
Il nome di “CatBoost” deriva da due parole “Gattoegoria "y"AumentoSinistro”.
Come discusso, la libreria funziona bene con i multipli Gattoegorie di dati, come audio, testo, Immagine, compresi i dati storici.
“Aumento”Proviene del algoritmo de aprendizaje automático que impulsa el gradienteGradiente è un termine usato in vari campi, come la matematica e l'informatica, per descrivere una variazione continua di valori. In matematica, si riferisce al tasso di variazione di una funzione, mentre in progettazione grafica, Si applica alla transizione del colore. Questo concetto è essenziale per comprendere fenomeni come l'ottimizzazione negli algoritmi e la rappresentazione visiva dei dati, consentendo una migliore interpretazione e analisi in..., poiché questa libreria è basata su una libreria che guida il gradiente. L'aumento del gradiente è un potente algoritmo di apprendimento automatico ampiamente applicato a più tipi di sfide aziendali, come il rilevamento delle frodi, articoli di raccomandazione, previsioni e funziona anche bene. Può anche restituire ottimi risultati con relativamente meno dati, a differenza dei modelli DL che devono imparare da una grande quantità di dati.
Ecco un videomessaggio di Mikhail Bilenko, Yandex capo dell'intelligenza artificiale e della ricerca, e Anna Veronika Dorogush, Direttore dei sistemi di apprendimento automatico presso Tandex.
2. Vantaggi della libreria CatBoost
- Prestazione: CatBoost fornisce risultati all'avanguardia ed è competitivo con qualsiasi algoritmo di apprendimento automatico leader sul fronte delle prestazioni.
- Gestione automatica delle caratteristiche categoriali: Possiamo usare CatBoost senza alcuna preelaborazione esplicita per convertire le categorie in numeri. CatBoost converte i valori categoriali in numeri utilizzando varie statistiche su combinazioni di caratteristiche categoriali e combinazioni di caratteristiche categoriali e numeriche. Puoi leggere di più su questo qui.
- Robusto: Riduce la necessità di un'ampia ottimizzazione degli iperparametri e riduce le possibilità di over-tuning, che porta anche a modelli più generalizzati. Sebbene, CatBoost tiene múltiples parametriIl "parametri" sono variabili o criteri che vengono utilizzati per definire, misurare o valutare un fenomeno o un sistema. In vari campi come la statistica, Informatica e Ricerca Scientifica, I parametri sono fondamentali per stabilire norme e standard che guidano l'analisi e l'interpretazione dei dati. La loro corretta selezione e gestione sono fondamentali per ottenere risultati accurati e pertinenti in qualsiasi studio o progetto.... para ajustar y contiene parámetros como el número de árboles, il tasso di apprendimento, il regolarizzazioneLa regolarizzazione è un processo amministrativo che cerca di formalizzare la situazione di persone o entità che operano al di fuori del quadro giuridico. Questa procedura è essenziale per garantire diritti e doveri, nonché a promuovere l'inclusione sociale ed economica. In molti paesi, La regolarizzazione viene applicata in contesti migratori, Lavoro e fiscalità, consentire a chi si trova in situazione irregolare di accedere ai benefici e tutelarsi da possibili sanzioni...., la profondità dell'albero, la dimensione della piega, temperatura di insacco e altri. Puoi leggere di tutti questi parametri qui.
- Facile da usare: Puoi usare CatBoost dalla riga di comando, utilizzando un'API facile da usare sia per Python che per R.
3. CatBoost: confronto con altre librerie boost
Abbiamo più librerie boost come XGBoost, H2O e LightGBM e tutti funzionano bene su una varietà di problemi. Lo sviluppatore CatBoost ha confrontato le prestazioni con la concorrenza su set di dati ML standard:
Il confronto sopra mostra il valore di perdita del registro per i dati del test ed è il più basso nel caso di CatBoost Nella maggior parte dei casi. Significa chiaramente che CatBoost funziona meglio principalmente per i modelli sintonizzati e predefiniti.
oltre a questo, CatBoost non richiede la conversione del set di dati in alcun formato specifico come XGBoost e LightGBM.
4. Installazione CatBoost
CatBoost è facile da installare sia per Python che per R. Devi avere una versione di 64 Python e R bit.
Di seguito sono riportati i passaggi di installazione per Python e R:
4.1 Installazione di Python:
pip install catboost
4.2 R Installazione
install.packages('devtools')
devtools::install_github('catboost/catboost', subdir="catboost/R-package")
5. Risolvi la sfida AA usando CatBoost
La libreria CatBoost può essere utilizzata per risolvere problemi di classificazione e regressione. Per la classificazione, Puoi usare “CatBoostClassifier“E per la regressione,”CaBoostReturn“.
Ecco una finestra di codifica dal vivo per giocare con il codice CatBoost e vedere i risultati in tempo reale:
In questo articolo, sto risolvendo “Grandi vendite al mercato"Problema pratico con CatBoost. È una sfida di regressione, quindi useremo CatBoostRegressor, prima leggerò i passaggi di base (Non eseguirò l'ingegneria delle funzionalità, costruirò solo un modello base).
importa panda come pd importa numpy come np da catboost import CatBoostRegressor #Leggi i file di addestramento e test treno = pd.read_csv("treno.csv") test = pd.read_csv("test.csv") #Identificare il tipo di dati delle variabili train.dtypes
#Trovare i valori mancanti train.isnull().somma()
#Assegnazione dei valori mancanti sia per il training che per il test train.fillna(-999, inplace=Vero) test.fillna(-999,inplace=Vero)
#Creazione di un set di addestramento per la modellazione e un set di convalida per controllare le prestazioni del modello X = train.drop(['Articolo_Outlet_Sales'], asse=1) y = train.Item_Outlet_Sales da sklearn.model_selection import train_test_split X_treno, X_validazione, y_train, y_validation = train_test_split(X, e, train_size=0.7, random_state=1234)
#Guarda il tipo di dati delle variabili X.dtypes
Ora, vedrai che identificheremo solo le variabili categoriali. Non eseguiremo alcun passaggio di pre-elaborazione per le variabili categoriali:
categorical_features_indices = np.where(X.dtypes != np.float)[0]
#importazione di libreria e modello di edificio da catboost import CatBoostRegressor model=CatBoostRegressor(iterazioni=50, profondità=3, tasso_di_apprendimento=0.1, loss_function='RMSE') model.fit(X_treno, y_train,cat_features=categorical_features_indices,eval_set=(X_validazione, y_validation),trama=Vero)
Come potete vedere, un modello di base offre una soluzione equa e gli errori di addestramento e di test sono sincronizzati. È possibile regolare i parametri e le funzioni del modello per migliorare la soluzione.
Ora, il prossimo compito è prevedere il risultato del set di dati del test.
sottomissione = pd.DataFrame() sottomissione['Item_Identifier'] = prova['Item_Identifier'] sottomissione['Identificativo_uscita'] = prova['Identificativo_uscita'] sottomissione['Articolo_Outlet_Sales'] = modello.prevedere(test) sottomissione.to_csv("Invio.csv")
Questo è tutto! Abbiamo costruito il primo modello con CatBoost
6. Note finali
In questo articolo, abbiamo visto una libreria boost open source di recente “CatBoost” di Yandex che può fornire una soluzione all'avanguardia per una varietà di problemi aziendali.
Una delle caratteristiche chiave che mi entusiasma di questa libreria è la gestione automatica dei valori categoriali utilizzando vari metodi statistici.
Abbiamo coperto i dettagli di base su questa libreria e risolto una sfida di regressione in questo articolo.. Ti consiglio inoltre di utilizzare questa libreria per risolvere una soluzione aziendale e confrontare le prestazioni con altri modelli di prossima generazione..