Classificazione nella programmazione R: Il tutto in un tutorial per padroneggiare il concetto!
In questo tutorial, studieremo a fondo la classificazione in R. Copriremo anche l’albero decisionale, la classificazione Naïve di Bayes e la macchina vettoriale di supporto. Per capirlo nel modo migliore, useremo immagini ed esempi in tempo reale.
Rimani aggiornato con le ultime tendenze tecnologiche
Unisciti a DataFlair su Telegram!!
- Introduzione alla classificazione in R
- Punti importanti di classificazione in R
- Albero decisionale in R
- Terminologie importanti relative all’Albero decisionale
- Tipi di albero delle decisioni
- Alberi categoriali (classificazione) vs alberi continui (regressione)
- Vantaggi dell’albero decisionale in R
- Svantaggi dell’albero decisionale R
- Introduzione alla classificazione Naïve di Bayes
- Introduzione alle macchine vettoriali di supporto
- Che cos’è la macchina vettoriale di supporto?
- Terminologie relative a R SVM
- Vantaggi di SVM in R
- Svantaggi di SVM in R
- Support Vector Machine – Regression
- Applicazioni di classificazione in R
- Sommario
Introduzione alla classificazione in R
Lo usiamo per prevedere un’etichetta di classe categoriale, come il tempo: piovoso, soleggiato, nuvoloso o nevoso.
Punti importanti di classificazione in R
Ci sono vari classificatori disponibili:
- Alberi decisionali – Questi sono organizzati sotto forma di serie di domande e risposte nella struttura ad albero.
- Classificatori Naive Bayes-Un modello probabilistico di apprendimento automatico utilizzato per la classificazione.
- Classificatori K-NN – In base alle misure di somiglianza come la distanza, classifica nuovi casi.
- Support Vector Machines-È un classificatore lineare binario non probabilistico che costruisce un modello per classificare un caso in una delle due categorie.
Un esempio di classificazione in R attraverso la macchina vettoriale di supporto è l’uso della funzione classification ():
classification (trExemplObj, classLabels, valExemplObj=NULL, kf=5, kernel = “linear”)
Wait! Hai completato il tutorial sul clustering negli argomenti R
:
1. trExemplObj-Si tratta di un oggetto eset treno esemplari.
2. classLabels – Viene memorizzato nell’oggetto eSet come nome di variabile, ad esempio”tipo”.
3. valExemplObj-È noto come exemplars validation eset object.
4. kf – È definito come il valore k-folds del parametro cross-validation. Inoltre, il valore predefinito è 5 pieghe. Impostando “Loo ” o” LOO ” una convalida incrociata Leave-One-Out che dobbiamo eseguire.
5. kernel-Nell’analisi di classificazione, usiamo un tipo di Kernel. Il kernel predefinito è “lineare”.
6. classL-Le etichette del set di treni.
7. valClassL – È definito come le etichette del set di convalida se non NULL.
8. predLbls-È definito come le etichette previste in base all’analisi di classificazione.
Albero decisionale in R
È un tipo di algoritmo di apprendimento supervisionato. Lo usiamo per problemi di classificazione. Funziona per entrambi i tipi di variabili di input e output. In questa tecnica, dividiamo la popolazione in due o più insiemi omogenei. Inoltre, si basa sullo splitter / differenziatore più significativo nelle variabili di input.
L’albero decisionale è un potente classificatore non lineare. Un albero decisionale utilizza una struttura ad albero per generare relazioni tra le varie caratteristiche e i potenziali risultati. Si avvale di decisioni ramificazione come la sua struttura centrale.
Nella classificazione dei dati, l’albero delle decisioni segue i passaggi indicati di seguito:
- Mette tutti gli esempi di formazione a una radice.
- In base ai vari attributi selezionati, un albero decisionale divide questi esempi di allenamento.
- Quindi selezionerà gli attributi utilizzando alcune misure statistiche.
- Il partizionamento ricorsivo continua fino a quando non rimane alcun esempio di addestramento.
Terminologie importanti relative all’Albero decisionale
- Nodo radice: rappresenta l’intera popolazione o campione. Inoltre, viene diviso in due o più insiemi omogenei.
- Divisione: In questo, eseguiamo la divisione di un nodo in due o più sotto-nodi.
- Albero decisionale: viene prodotto quando un sotto-nodo si divide in ulteriori sotto-nodi.
- Nodo foglia/Terminale: i nodi che non si dividono sono chiamati nodo foglia o Terminale.
- Potatura: quando rimuoviamo i sotto-nodi di un nodo decisionale, questo processo viene chiamato potatura. È il processo opposto di scissione.
- Ramo / Sotto-albero: una sottosezione dell’intero albero è chiamata ramo o sotto-albero.
- Nodo Padre e Figlio: Un nodo, che è diviso in sotto-nodi è chiamato un nodo genitore di sotto-nodi mentre sotto-nodi sono il figlio di un nodo genitore.
Tipi di albero delle decisioni
- Variabile categoriale(classificazione) Albero delle decisioni: albero delle decisioni che ha una variabile di destinazione categoriale.
- Albero di decisione variabile continua(regressione): l’albero di decisione ha una variabile di destinazione continua.
Non dimenticare di controllare gli alberi decisionali R in dettaglio
Alberi categoriali (classificazione) vs alberi continui (regressione)
Gli alberi di regressione vengono utilizzati quando la variabile dipendente è continua mentre gli alberi di classificazione vengono utilizzati quando la variabile dipendente è categoriale.
In continuo, un valore ottenuto è una risposta media di osservazione.
Nella classificazione, un valore ottenuto da un nodo terminale è una modalità di osservazioni.
C’è una somiglianza in entrambi i casi. Il processo di scissione continua risultati in alberi cresciuti fino a raggiungere i criteri di arresto. Ma è probabile che l’albero cresciuto si adatti troppo ai dati, portando a una scarsa precisione sui dati invisibili. Questo porta ‘potatura’. La potatura è una delle tecniche che utilizza tackle overfitting.
Vantaggi dell’albero decisionale in R
- Facile da capire: non ha bisogno di alcuna conoscenza statistica per leggerli e interpretarli. La sua rappresentazione grafica è molto intuitiva e gli utenti possono mettere in relazione le loro ipotesi.
- Meno pulizia dei dati richiesto: Rispetto ad alcune altre tecniche di modellazione, richiede meno dati.
- Il tipo di dati non è un vincolo: può gestire sia variabili numeriche che categoriali.
- Semplice da capire e interpretare.
- Richiede poca preparazione dei dati.
- Funziona con dati numerici e categoriali.
- Gestisce la non linearità.
- Possibile confermare un modello utilizzando test statistici.
- È robusto. Funziona bene anche se si discosta dalle ipotesi.
- Si ridimensiona a Big Data.
Devi assolutamente esplorare l’analisi di regressione non lineare R
Svantaggi dell’albero decisionale R
- Overfitting: è una delle difficoltà più pratiche per i modelli di albero decisionale. Impostando i vincoli sui parametri del modello e la potatura, possiamo risolvere questo problema in R.
- Non adatto per variabili continue: al momento dell’utilizzo di variabili numeriche continue. Ogni volta che categorizza le variabili in diverse categorie, l’albero delle decisioni perde informazioni.
- Per imparare a livello globale albero ottimale è NP-hard, algos si basano su ricerca avida.
- Le complesse relazioni “if-then” tra le caratteristiche gonfiano la dimensione dell’albero. Esempio-porta XOR, multiplexor.
Introduzione alla classificazione Naïve di Bayes
Usiamo il teorema di Bayes per fare la previsione. Si basa su conoscenze precedenti e prove attuali.
Il teorema di Bayes è espresso dalla seguente equazione:
dove P(A) e P(B) sono la probabilità di eventi A e B senza l’uno rispetto all’altro. P (A / B) è la probabilità di un condizionale su B e P(B|A) è la probabilità di B condizionale su A.
Introduzione alle macchine vettoriali di supporto
Che cos’è la macchina vettoriale di supporto?
Lo usiamo per trovare l’iperpiano ottimale (linea in 2D, un piano in 3D e iperpiano in più di 3 dimensioni). Che aiuta a massimizzare il margine tra due classi. I vettori di supporto sono osservazioni che supportano l’iperpiano su entrambi i lati.
Aiuta a risolvere un problema di ottimizzazione lineare. Aiuta anche a trovare l’iperpiano con il margine più ampio. Usiamo il “Trucco del kernel” per separare le istanze che sono inseparabili.
Terminologie relative a R SVM
Perché Hyperplane?
È una linea in 2D e un piano in 3D. In dimensioni superiori (più del 3D), viene chiamato come un iperpiano. Inoltre, SVM ci aiuta a trovare un iperpiano che può separare due classi.
Che cos’è il margine?
Una distanza tra l’iperpiano e il punto dati più vicino è chiamata margine. Ma se vogliamo raddoppiarlo, allora sarebbe uguale al margine.
Come trovare l’iperpiano ottimale?
Per prima cosa, dobbiamo selezionare due iperpiani. Devono separare i dati senza punti tra di loro. Quindi massimizza la distanza tra questi due iperpiani. La distanza qui è ‘margine’.
Che cos’è il Kernel?
È un metodo che aiuta a far funzionare SVM, in caso di punti dati separabili non lineari. Usiamo una funzione del kernel per trasformare i dati in uno spazio di funzionalità dimensionale superiore. E anche con l’aiuto di esso, esegui la separazione lineare.
Kernel diversi
1. lineare: u’ * v
2. polinomio: (gamma * u’ * v + coef0) ^ grado
3. radial basis (RBF) : exp (- gamma*|u-v|^2)sigmoid : tanh (gamma*u’*v + coef0)
RBF è generalmente il più popolare.
Come funziona SVM?
- Scegli un iperpiano ottimale che massimizzi il margine.
- Applica penalità per errate classificazioni (parametro di ottimizzazione del costo ‘c’).
- Se i punti dati non separabili linearmente. Quindi trasforma i dati in uno spazio dimensionale elevato. È fatto così per classificarlo facilmente con l’aiuto di superfici decisionali lineari.
È ora di padroneggiare il concetto di visualizzazione dei dati in R
Vantaggi di SVM in R
- Se stiamo usando il trucco del kernel in caso di dati separabili non lineari, allora funziona molto bene.
- SVM funziona bene nello spazio dimensionale elevato e in caso di classificazione di testo o immagine.
- Non soffre di un problema di multicollinearità.
Svantaggi di SVM in R
- Ci vuole più tempo su set di dati di grandi dimensioni.
- SVM non restituisce stime di probabilità.
- Nel caso di dati separabili linearmente, questo è quasi come la regressione logistica.
Support Vector Machine – Regression
- Sì, possiamo usarlo per un problema di regressione, in cui la variabile dipendente o target è continua.
- Lo scopo della regressione SVM è lo stesso del problema di classificazione, cioè trovare il margine più grande.
Applicazioni di classificazione in R
- Un pronto soccorso in un ospedale misura 17 variabili di pazienti appena ricoverati. Variabili, come la pressione sanguigna, l’età e molti altri. Inoltre, una decisione attenta deve essere presa se il paziente deve essere ricoverato in terapia intensiva. A causa di un alto costo di I. C. U, quei pazienti che possono sopravvivere più di un mese hanno la massima priorità. Inoltre, il problema è prevedere i pazienti ad alto rischio. E, per discriminarli dai pazienti a basso rischio.
- Una società di credito riceve centinaia di migliaia di applicazioni per nuove carte. L’applicazione contiene informazioni su diversi attributi diversi. Inoltre, il problema è quello di classificare coloro che hanno un buon credito, cattivo credito o cadere in una zona grigia.
- Gli astronomi hanno catalogato oggetti distanti nel cielo usando immagini CCD a lunga esposizione. Quindi, l’oggetto che deve essere etichettato è una stella, una galassia ecc. I dati sono rumorosi e le immagini sono molto deboli, quindi la catalogazione può richiedere decenni per essere completata.
Sommario
Abbiamo studiato la classificazione in R insieme ai loro usi e pro e contro. Abbiamo anche imparato esempi in tempo reale che aiutano a imparare la classificazione in un modo migliore.
Prossimo tutorial nella nostra serie R DataFlair tutorial-e1071 Package / SVM Training and Testing Models in R