Panoramica
- Gli hackathon prevedono la costruzione di modelli predittivi in un breve periodo di tempo.
- La fase di pre-elaborazione dei dati occupa la maggior parte del tempo condiviso durante la creazione di un modello
- Altri passaggi includono l'analisi descrittiva, Modellazione dei dati e valutazione delle prestazioni del modello.
introduzione
Negli ultimi mesi, Abbiamo iniziato a fare data science. hackatones. Questi hackathon sono concorsi con un ostacolo di dati ben definito., che dovrebbe essere risolto in breve tempo. Generalmente, ultimo tra 2 e 7 giorni.
Se le gare di un mese a Kaggle sono come le maratone, Quindi questi hackathon sono un formato più breve del gioco: 100 mts Sprint. Sono eventi ad alta energia in cui i data scientist portano molta energia., la classifica cambia quasi ogni ora e la velocità per risolvere il problema della scienza dei dati è molto più importante delle competenze di Kaggle.
Uno dei migliori consigli che posso offrire ai data scientist che partecipano a questi hackathon (o anche in competizioni più lunghe) è quello di creare rapidamente la prima soluzione e inviarla. Le prime presentazioni dovrebbero essere molto veloci. He creado módulos en Python y R que pueden incluir datos tabulares y el nombre de la variabileIn statistica e matematica, un "variabile" è un simbolo che rappresenta un valore che può cambiare o variare. Esistono diversi tipi di variabili, e qualitativo, che descrivono caratteristiche non numeriche, e quantitativo, che rappresentano quantità numeriche. Le variabili sono fondamentali negli esperimenti e negli studi, poiché consentono l'analisi delle relazioni e dei modelli tra elementi diversi, facilitare la comprensione di fenomeni complessi.... de destino y ¡BOOM! Ho il mio primo modello in meno di 10 minuti (supponendo che i tuoi dati abbiano più di 100,000 osservazioni). Per set di dati più piccoli, Questo può essere ancora più veloce. Il motivo per spedire questa soluzione ultraveloce è quello di creare un punto di riferimento per te dove devi migliorare.. Parlerò della mia metodologia in questo post.
Ripartizione della procedura di modellazione predittiva
Comprendere le aree strategiche, Analizziamo innanzitutto la procedura di analisi predittiva nelle sue componenti essenziali. All'incirca, può essere suddiviso in 4 parti. Ogni componente richiede x quantità di tempo per l'esecuzione. Valutiamo questi aspetti n (con il tempo trascorso):
- Analisi descrittiva dei dati: 50% tempo metereologico
- Elaborazione dati (Valore perso e correzione dei valori anomali): 40% tempo metereologico
- Modellazione dei dati: 4% tempo metereologico
- Stima delle prestazioni: 6% tempo metereologico
Nota: Le percentuali si concentrano su un campione di 40 Competenze, a cui ho partecipato in passato (arrotondato).
Ora sappiamo dove dobbiamo ridurre i tempi. Andiamo per gradi nella procedura (con tempo stimato):
1.Analisi descrittiva : Cuando comencé mi carrera en la analiticoL'analisi si riferisce al processo di raccolta, Misura e analizza i dati per ottenere informazioni preziose che facilitano il processo decisionale. In vari campi, come business, Salute e sport, L'analisi può identificare modelli e tendenze, Ottimizza i processi e migliora i risultati. L'utilizzo di strumenti avanzati e tecniche statistiche è fondamentale per trasformare i dati in conoscenze applicabili e strategiche...., Costruivamo principalmente modelli basati su Logistic Regression e Decision Tree. La maggior parte dell'algoritmo che abbiamo usato riguardava algoritmi avidi, che può sottocombinare il numero di funzionalità su cui devo concentrarmi.
Con strumenti avanzati di machine learning in esecuzione, Il tempo necessario per eseguire questa attività può essere significativamente ridotto. Per l'analisi iniziale, Probabilmente non è necessario eseguire alcun tipo di ingegneria delle funzioni. Perché, Il tempo necessario per eseguire un'analisi descrittiva è limitato alla conoscenza dei valori mancanti e delle grandi caratteristiche direttamente visibili. Nella mia metodologia, Bisogno 2 minuti Per completare questo passaggio (Suppongo un fatto con 100.000 osservazioni).
2.Elaborazione dati : Poiché questo è considerato il passaggio più dispendioso in termini di tempo, Dobbiamo trovare tecniche intelligenti per completare questa fase. Ecco due semplici trucchi che puoi mettere in pratica:
- Creare indicatori fittizi per i valori mancanti: generalmente, Ho scoperto che i valori mancanti nella variabile a volte contengono anche una buona quantità di informazioni.. Come esempio, Se stai analizzando i dati clickstream, Probabilmente non avrai molti valori in variabili specifiche corrispondenti all'utilizzo del dispositivo mobile.
- Imputare il valore mancante con la media / qualsiasi altro metodo più facile: Ho trovato che 'cattivo’ Funziona bene per la prima iterazione. Solo nei casi in cui vi sia una tendenza evidente proveniente dall'analisi descrittiva, Probabilmente hai bisogno di un metodo più intelligente.
Con metodi così semplici di elaborazione dei dati, può ridurre il tempo di elaborazione dei dati per 3-4 minuti.
3. Modellazione dei dati : Ho scoperto che GBM è estremamente efficace per 100.000 Casi di osservazione. In caso di dati di grandi dimensioni, È possibile prendere in considerazione l'esecuzione di una foresta casuale. Questa operazione richiederà la massima quantità di tempo (~ 4-5 minuti)
4. Stima delle prestazioni : Incontro k-fold con k = 7 Molto efficace per accettare la mia scommessa iniziale. Questo in conclusione prende 1-2 minuti Esecuzione e documento.
La ragione per costruire questo modello non è vincere la competizione, ma per determinare un punto di riferimento per noi stessi. Permettetemi di scavare più a fondo nel mio algoritmo. Ho anche incluso alcuni frammenti del mio codice in questo post.
Iniziamo a metterlo in pratica
Non includerò tutte le mie funzionalità per darti spazio per innovare. Ecco uno scheletro del mio algoritmo (un R):
passo 1 : Aggiungere il set di dati di test ed eseguire il training insieme
passo 2 : Leggi il set di dati nella tua memoria
set("C:UtentiTavishDesktopKaggAV") Completo <- leggi.csv("complete_data.csv", stringsAsFactors = VERO)
passo 3: Visualizzare i nomi delle colonne / Riepilogo del set di dati
colnames(Completo ) [1] "ID" "Genere" "Città" "Monthly_Income" "Sborsato" "treno"
passo 4: Identificare la a) Variabile numerica b) Variabili di identificazione c) Variabili del fattore D) Variabili di destinazione
passo 5 : Creare contrassegni per i valori persi
missing_val_var <- funzione(dati,variabile,new_var_name) { data$new_var_name <- ifelse(is.na(variabile),1,0)) Restituzione(data$new_var_name)}
passo 6 : Imputare valori numerici mancanti
numeric_impute <- funzione(dati,variabile) { media1 <- Significare(data$variable) data$variable <- ifelse(is.na(data$variable),mean1,data$variable) Restituzione(new_var_name) }
Equivalentemente, imputare una variabile categorica in modo che tutti i valori mancanti siano codificati come un singolo valore, Dillo “Nullo”.
passo 7 : Passa la variabile imputata alla routine di modellazione.
#Sfida: prova a integrare una metodologia K-fold in questo passaggio
create_model <- funzione(trainData,obbiettivo) { set.seme(120) myglm <- glm(Bersaglio~ . , data=trainData, famiglia = "binomiale") Restituzione(myglm) }
passo 8 : Fai previsioni
punto <- prevedere(myglm, newdata = testData, tipo = "risposta") score_train <- prevedere(myglm, newdata = completo, tipo = "risposta")
passo 9 : Controllare le prestazioni
Auc(completato$Erogato,score_train)
E invia!!
Note finali
Auspicabilmente, Questo post ti avrà dato abbastanza motivazione per creare il tuo codice di punteggio per 10 minuti. La maggior parte degli insegnanti di Kaggle e dei migliori scienziati nei nostri hackathon hanno questi codici pronti e girano la loro prima presentazione prima di fare un'analisi dettagliata.. Una volta che hanno una stima del benchmark, Iniziano a improvvisare di più. Condividi i tuoi codici completi nella casella dei commenti qui sotto.
Questo post è stato utile?? Condividi le tue opinioni / pensieri nella sezione commenti qui sotto.
Se ti piace quello che hai appena letto e vuoi continuare a imparare l'analisi, iscriviti alle nostre email, Seguici su Twitter o come il nostro pagina Facebook.
Imparentato
Articoli correlati:
- Modellazione predittiva in Excel | Come creare un modello di regressione lineare
- Creare un modello predittivo con PythonBuild a predictive model using Python
- Una guida pratica per costruire il tuo primo modello di rete neurale convoluzionale
- Come costruire un sistema di tracciamento della palla per il cricket