Regressione logistica per l'apprendimento automatico: una guida completa
Pubblicato: 2021-10-04I modelli di Machine Learning richiedono algoritmi per funzionare. A seconda dell'insieme di condizioni, un particolare modello ML può funzionare al meglio utilizzando l'uno o l'altro algoritmo. Di conseguenza, gli ingegneri e gli appassionati di Machine Learning dovrebbero essere consapevoli dei diversi tipi di algoritmi che possono essere utilizzati in contesti diversi, per sapere quale utilizzare quando sarà il momento. Non esiste mai una soluzione valida per tutti in Machine Learning e l'ottimizzazione con algoritmi diversi può fornire i risultati desiderati.
Ad esempio, devi già conoscere la regressione lineare. Tuttavia, questo algoritmo semplicemente non può essere applicato a variabili categoricamente dipendenti. È qui che la regressione logistica torna utile.
In Machine Learning, la regressione logistica è un metodo di apprendimento supervisionato utilizzato per prevedere la probabilità di una variabile dipendente o target. Utilizzando la regressione logistica, è possibile prevedere e stabilire relazioni tra dipendenti e una o più variabili indipendenti.
Le equazioni ei modelli di regressione logistica vengono generalmente utilizzati per l'analisi predittiva per la classificazione binaria. Puoi anche usarli per la classificazione multi-classe.
Ecco come appare l'equazione di regressione logistica per Machine Learning:
logit(p) = ln(p/(1-p)) = h0+h1X1+h2X2+h3X3….+hkXk
Dove;
p= probabilità del verificarsi della caratteristica
x1,x2,..xk = insieme di funzioni di input
h1,h2,….hk = valori parametrici da stimare nell'equazione di regressione logistica.
Sommario
Tipi di modelli di regressione logistica in Machine Learning
In base al modo in cui viene utilizzata la regressione logistica, il tipo di modelli di regressione logistica può essere classificato come segue:
1. Modello di regressione logistica binaria
Questo è uno dei modelli di regressione più utilizzati per la regressione logistica. Aiuta a classificare i dati in due classi e prevedere il valore di un nuovo input come appartenente a una delle due classi. Ad esempio, il tumore di un paziente può essere benigno o maligno, ma mai entrambi.
2. Modello di regressione logistica multinomiale
Questo modello aiuta a classificare le variabili target in più di due classi, indipendentemente da qualsiasi significato quantitativo. Un esempio di ciò potrebbe essere la previsione del tipo di cibo che è probabile che un individuo ordini in base alle sue preferenze dietetiche e alle esperienze passate.
Partecipa al corso di Machine Learning online dalle migliori università del mondo: master, programmi post-laurea per dirigenti e programma di certificazione avanzato in ML e AI per accelerare la tua carriera.
3. Modello di regressione logistica ordinale
Questo modello viene utilizzato per classificare la variabile target. Ad esempio, il rendimento di uno studente in un esame può essere classificato come scarso, buono ed eccellente in un ordine gerarchico. In questo modo, i dati sono classificati in tre categorie distinte, con ogni classe che ha un livello di importanza specifico.
L'equazione di regressione logistica può essere utilizzata in diversi casi, come il rilevamento dello spam, la classificazione dei tumori, la categorizzazione del sesso e molti altri. Diamo un'occhiata a due dei casi d'uso di esempio più comuni dell'equazione di regressione logistica in Machine Learning per aiutarti a capire meglio.
Esempi di casi d'uso dell'equazione di regressione logistica
Esempio 1: Identificazione delle e-mail di spam
Considera la classe 1 se l'e-mail è spam e 0 se l'e-mail non lo è. Per rilevare ciò, più attributi vengono analizzati dal corpo della posta. Questi includono:
- Il mittente
- Errori di spelling
- Parole chiave nell'e-mail come "coordinate bancarie", "fortunato", "vincitore", "congratulazioni".
- Dettagli di contatto o URL nell'e-mail
Questi dati estratti possono quindi essere inseriti nell'equazione di regressione logistica per Machine Learning che analizzerà tutti gli input e fornirà un punteggio compreso tra 0 e 1. Se il punteggio è maggiore di 0 ma inferiore a 0,5, l'e-mail verrà classificata come spam e se il punteggio è compreso tra 0,5 e 1, la posta viene contrassegnata come non spam.
Esempio 2: Identificazione di una frode con carta di credito
Utilizzando equazioni di regressione logistica o modelli di Machine Learning basati sulla regressione logistica, le banche possono identificare tempestivamente le transazioni fraudolente con carta di credito. Per questo, dettagli come PoS, numero di carta, valore della transazione, dati della transazione e simili vengono inseriti nel modello di regressione logistica, che decide se una determinata transazione è genuina (0) o fraudolenta (1). Ad esempio, se il valore di acquisto è troppo alto e si discosta dai valori tipici, il modello di regressione assegna un valore (compreso tra 0,5 e 1) che classifica la transazione come frode.
Utilizzo della regressione logistica nell'apprendimento automatico
La regressione logistica funziona utilizzando la funzione Sigmoid per mappare le previsioni sulle probabilità di output. Questa funzione è una curva a forma di S che traccia i valori previsti tra 0 e 1. I valori vengono quindi tracciati verso i margini nella parte superiore e inferiore dell'asse Y, utilizzando 0 e 1 come etichette. Quindi, in base a questi valori, si possono classificare le variabili indipendenti.
Ecco come appare la funzione Sigmoid:
La funzione Sigmoide si basa sulla seguente equazione:
y=1/(1+e^x)
Dove e^x= la costante esponenziale con un valore di 2,718.
L'equazione della funzione Sigmoide sopra fornisce il valore previsto (y) come zero se x è considerato negativo. Se x è un numero positivo grande, il valore previsto è vicino a uno.
Costruire un modello di regressione logistica in Python
Esaminiamo il processo di creazione di un modello di regressione logistica in Python. Per questo, utilizziamo il set di dati dei social network per eseguire l'analisi di regressione e proviamo a prevedere se un individuo acquisterà o meno una determinata auto. Ecco come appaiono i passaggi.
Passaggio 1: importazione delle librerie e del set di dati
Inizia importando le librerie necessarie per costruire il modello. Ciò include Pandas, Numpy e Matplotlib. Abbiamo anche bisogno di importare il set di dati con cui lavoreremo. Ecco come appare il codice:
importa numpy come np
importa matplotlib.pyplot come pt
importa panda come pd
set di dati = pd.read_csv('Social_Network.csv')
Passaggio 2: suddivisione in variabili dipendenti e indipendenti
Ora è il momento di dividere i dati alimentati in variabili dipendenti e indipendenti. Per questo esempio, considereremo il valore di acquisto come una variabile dipendente durante lo stipendio stimato e l'età degli individui come variabili indipendenti.
x = dataset.iloc[:, [2,3]].valori
y = dataset.iloc[:, 4].valori
Passaggio 3: suddivisione del set di dati in un set di addestramento e in un set di test
È essenziale suddividere il set di dati in set di test e training specifici. Il set di addestramento addestrerà l'equazione di regressione logistica, mentre i dati del test verranno utilizzati per convalidare l'addestramento del modello e testarlo. Sklearn viene utilizzato per dividere il set di dati fornito in due set. Usiamo la funzione train_split_ specificando la quantità di dati che desideriamo mettere da parte per l'addestramento e il test.
da sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.33, random_state = 0)
Come puoi vedere, abbiamo definito la dimensione del test come il 33% del set di dati completo. Quindi, il restante 66% verrà utilizzato come dati di allenamento.
Passaggio 4: ridimensionamento
Per migliorare l'accuratezza del tuo modello di regressione logistica, dovrai ridimensionare i dati e portare valori che potrebbero essere di natura molto variabile.
da sklearn.preprocessing import StandardScaler
sc_X = StandardScaler()
X_treno = sc_X.fit_transform(X_treno)
X_test = sc_X.transform(X_test)
Passaggio 5: creazione del modello di regressione logistica
Una volta fatto, è necessario creare il modello di regressione logistica e inserirlo nel set di addestramento. Inizia importando l'algoritmo di regressione logistica da Sklearn.
da sklearn.linear_model import LogisticRegression
Quindi, crea un classificatore di istanza per adattarlo ai dati di addestramento.
classificatore = LogisticRegression(random_state=0)
classificatore.fit(x_treno, y_treno)
Quindi, crea previsioni sul set di dati di test.
y_pred = classificatore.predict(x_test)
Infine, controlla le prestazioni del tuo modello di regressione logistica utilizzando la matrice di confusione.
da sklearn.metrics import confusion_matrix
cm = matrice_confusione(y_test, y_pred)
acc = punteggio_accuratezza(y_test, y_pred)
stampa (acc)
stampa (cm)
Ora puoi utilizzare Matplotlib per visualizzare l'intero set di dati, inclusi i set di training e test!
In conclusione
Logistic Regression è uno degli strumenti che aiutano nello sviluppo di modelli e algoritmi di Machine Learning. Allo stesso modo, ci sono anche molti altri algoritmi che vengono utilizzati a seconda del caso d'uso in questione. Tuttavia, per sapere quale algoritmo utilizzare, dovresti essere a conoscenza di tutte le possibili opzioni. Solo allora sarai in grado di selezionare l'algoritmo più adatto per il tuo set di dati.
Dai un'occhiata al nostro programma Executive PG in Machine Learning progettato in un modo che ti porta da zero e ti aiuta a sviluppare le tue abilità al massimo, in modo da essere in grado di risolvere qualsiasi problema di Machine Learning nel mondo reale. Dai un'occhiata ai diversi corsi e iscriviti a quello che fa per te. Unisciti a upGrad e sperimenta un ambiente di apprendimento olistico e un supporto per il posizionamento!
La regressione logistica è sostanzialmente di tre tipi: La regressione logistica è uno dei metodi di apprendimento supervisionato utilizzati per trovare e costruire la relazione più adatta tra variabili dipendenti e indipendenti per fare previsioni future adeguate. La regressione logistica per l'apprendimento automatico utilizza la funzione Sigmoid per trovare la curva di adattamento migliore.Quanti tipi di regressione logistica per l'apprendimento automatico sono possibili?
1. Binario
2. Multinomiale
3. Ordinale. A cosa serve la regressione logistica in Machine Learning?
Qual è la funzione utilizzata dalla regressione logistica per l'apprendimento automatico?