Regressione logistica per l'apprendimento automatico: una guida completa

Pubblicato: 2021-10-04

I 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!

Quanti tipi di regressione logistica per l'apprendimento automatico sono possibili?

La regressione logistica è sostanzialmente di tre tipi:
1. Binario
2. Multinomiale
3. Ordinale.

A cosa serve la regressione logistica in Machine Learning?

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.

Qual è la funzione utilizzata dalla regressione logistica per l'apprendimento automatico?

La regressione logistica per l'apprendimento automatico utilizza la funzione Sigmoid per trovare la curva di adattamento migliore.