- Cos'è la regressione logistica?
- Matematica coinvolta nella regressione logistica
- Misurazione delle prestazioni mediante matrici di confusione
- Demo di regressione logistica con codice Python
La regressione logistica è uno degli algoritmi di machine learning più popolari, che viene utilizzato nel caso di previsione di più insiemi di dati categoriali.. I set di dati categoriali hanno solo due risultati, 0/1 o se / No
Sommario
1 Cos'è la regressione logistica?
2 Perché applicare la regressione logistica?
3 Matematica coinvolta nella regressione logistica
4 Implementazione della regressione logistica durante la creazione di previsioni
5 valutazione della prestazione
6 caratteristiche chiave della regressione logistica
7 tipi di regressione logistica
8 Implementazione del codice Python
1. Cos'è la regressione logistica?
È un tipo di algoritmi di apprendimento automatico di regressione che vengono implementati per risolvere problemi di classificazione. / categorico,
Problemi che hanno risultati binari, come / No, 0/1, Vero / Impostore, Questi sono quelli che vengono chiamati problemi di classificazione..
2. Perché applicare la regressione logistica?
La regressione lineare non fornisce una buona linea di adattamento per problemi che hanno solo due valori (come mostrato nel figura"Figura" è un termine che viene utilizzato in vari contesti, Dall'arte all'anatomia. In campo artistico, si riferisce alla rappresentazione di forme umane o animali in sculture e dipinti. In anatomia, designa la forma e la struttura del corpo. Cosa c'è di più, in matematica, "figura" è legato alle forme geometriche. La sua versatilità lo rende un concetto fondamentale in molteplici discipline....). Darà meno precisione durante la previsione perché non coprirà i set di dati, essendo di natura lineare.
Per il miglior adattamento dei set di dati categoriali, è richiesta una curva che è possibile con l'aiuto della regressione logistica, poiché utilizza una funzione sigmoide per fare previsioni.
3. Matematica coinvolta nella regressione logistica
Il motivo principale alla base della curvatura della curva di regressione logistica è che viene calcolata utilizzando una funzione sigmoidea. (nota anche come funzione logistica perché viene utilizzata nella regressione logistica) di seguito elencati
Questa è la funzione matematica che ha la 'curva a forma di S'. Il valore della funzione sigmoide è sempre compreso tra 0 e 1, quindi è implementato per risolvere problemi categoriali che hanno due valori possibili.
4. Implementazione della regressione logistica durante la creazione di previsioni
La regressione logistica implementa la funzione sigmoidea per fare previsioni nel caso di valori categoriali.
Impostare un valore del punto di taglio, che è per lo più impostato su 0.5, Quello, quando viene superato dalla prevista deviazione dalla curva logistica, fornisce il rispettivo output previsto sotto forma della categoria a cui appartiene il set di dati.
Ad esempio,
Nel caso del modello di previsione del diabete, se l'uscita supera il punto di taglio, l'output della previsione sarà dato come Sì per il diabete; altrimenti, No, se il valore è inferiore al punto di cut-off.
5. Valutazione della prestazione
Per misurare le prestazioni del modello nel risoluzioneIl "risoluzione" si riferisce alla capacità di prendere decisioni ferme e raggiungere gli obiettivi prefissati. In contesti personali e professionali, Implica la definizione di obiettivi chiari e lo sviluppo di un piano d'azione per raggiungerli. La risoluzione è fondamentale per la crescita personale e il successo in vari ambiti della vita, In quanto ti permette di superare gli ostacoli e mantenere la concentrazione su ciò che conta davvero.... dei problemi di classificazione, viene utilizzata la matrice di confusione., di seguito è riportata l'implementazione della matrice di confusione.
Parole chiave:
- – TN significa veri negativi (Il valore previsto (negativo) corrisponde al valore effettivo (negativo))
- – FP sta per falsi positivi (Il valore effettivo era negativo, ma il modello prevedeva un valore positivo.)
- – FN sta per falsi negativi.(Il valore effettivo era positivo, ma il modello prevedeva un valore negativo)
- – TP significa veri positivi (Il valore previsto (positivo) corrispondeva al valore effettivo (positivo))
per un buon modello, non si dovrebbe avere un gran numero di falsi positivi o falsi negativi
6. Caratteristiche principali della regressione logistica
1. La regressione logistica è uno degli algoritmi di machine learning più popolari, utilizzato nella tecnica di apprendimento automatico supervisionato. Viene utilizzato per prevedere il 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.... Dipendente categorico, utilizzando un dato insieme di variabili indipendenti.
2. Prevedere l'output di una variabile categoriale, che è di natura discreta. Può essere Sì o No, 0 oh 1, vero o falso, eccetera. ma invece di dare il valore esatto come 0 e 1, restituisce il risultato come probabilità dell'insieme di dati compreso tra 0 e 1.
3. È simile alla regressione lineare. L'unica differenza è che la regressione lineare viene utilizzata per risolvere i problemi di regressione, mentre la regressione logistica viene utilizzata per risolvere i problemi di classificazione / problemi categoriali.
4 Nella regressione logistica, funzione logistica (sigmoidea) sotto forma di “S” viene utilizzata come curva di regolazione, che fornisce un output tra 0 e 1.
7. Tipi di regressione logistica
Ci sono tre tipi:
un binomio
b Ordinale
c multinomiale
un binomio
La regressione logistica binomiale si occupa di problemi con variabili target che hanno solo due valori possibili, 0 oh 1.
Cosa può significare Sì / No, Vero / Impostore, Morto / Vivo e altri valori categoriali.
b Ordinale
La regressione logistica ordinale si occupa di quei problemi le cui variabili target possono avere 3 o più di 3 valori, disordinato per natura. Questi valori non hanno significato quantitativo.
Ad esempio, tipo di casa 1, tipo di casa 3, tipo di casa 3, eccetera.
c multinomiale
Regressione logistica multinomiale, semplicemente regressione logistica ordinale, si occupa di problemi che hanno valori oggettivi maggiori o uguali a 3. La differenza principale è che, a differenza dell'ordinale, quei valori sono ben ordinati. I valori hanno un significato quantitativo
Ad esempio, valutazione delle abilità come bassa, media, esperto
6. Implementazione del codice Python
[ Nota: I set di dati presi è il set di dati Titanic]
Importazione di librerie
Vogliamo iniziare a spiegarti com'è la procedura che devi eseguire nel caso tu abbia un PC con Windows panda Che cosa pd
Vogliamo iniziare a spiegarti com'è la procedura che devi eseguire nel caso tu abbia un PC con Windows insensibile Che cosa notaio
Vogliamo iniziare a spiegarti com'è la procedura che devi eseguire nel caso tu abbia un PC con Windows matplotlib.pilota Che cosa per favore
%matplotlib in linea
Vogliamo iniziare a spiegarti com'è la procedura che devi eseguire nel caso tu abbia un PC con Windows marinaio Che cosa sns
sns, impostare ()
Importa il set di dati
titanic_data = pd.read_csv('titanic_train.csv’)
Condurre analisi esplorative dei dati:
1. Verifica la presenza di più voci nulle nel set di dati, con l'aiuto del mappa di caloreun "mappa di calore" è una rappresentazione grafica che utilizza i colori per mostrare la densità dei dati in un'area specifica. Comunemente usato nell'analisi dei dati, Marketing e studi comportamentali, Questo tipo di visualizzazione consente di identificare rapidamente modelli e tendenze. Attraverso variazioni cromatiche, Le mappe di calore facilitano l'interpretazione di grandi volumi di informazioni, aiutando a prendere decisioni informate....
2.Visualizzazione di varie relazioni tra variabili
3. Uso di Grafico a scatolaUn complotto a scatola, oh "Grafico a scatola", è uno strumento grafico che riassume la distribuzione di un insieme di dati nei suoi quartili. Questo tipo di grafico mostra la mediana, I quartili inferiore e superiore, così come i valori anomali. È utile per visualizzare la variabilità e rilevare le differenze tra i vari gruppi di dati, Semplificare il confronto delle distribuzioni. La sua semplicità lo rende una risorsa preziosa... per dettagli sulla distribuzione
sns.mappa di calore(titanic_data.è nullo(), cbar=Impostore)
sns.conteggio(X='Sopravvissuto’, dati=titanic_data)
sns.conteggio(X='Sopravvissuto’, tinta='Sesso’, dati=titanic_data)
sns.conteggio(X='Sopravvissuto’, tinta='Pclasse’, dati=titanic_data)
mappa di calore
età e capanna hanno voci nulle
sns.trama a scatola(titanic_data["Classe P"], titanic_data['Età'])
Utilizzo della funzione per sostituire input nulli
def input_missing_age(colonne):
età = colonne[0]
passeggero_class = colonne[1]
e pd.è nullo(età):
e(passeggero_class == 1):
Ritorno titanic_data[titanic_data["Classe P"] == 1]['Età'].significare()
elifapasseggero_class == 2):
Ritorno titanic_data[titanic_data["Classe P"] == 2]['Età'].significare()
elifapasseggero_class == 3):
Ritorno titanic_data[titanic_data["Classe P"] == 3]['Età'].significare()
il riposo:
Ritorno età
Compila i dati sull'età mancanti
titanic_data['Età'] = titanic_data[['Età', "Classe P"]].richiesta(input_missing_age, asse = 1)
rimuovere i dati nulli
titanic_data.far cadere(‘Cabina’, asse=1, Invece = Certo)
titanic_data.gocciolare(Invece = Certo)
Crea variabili fittizie per le colonne Sesso e SpeditoS
dati_sesso = pd.get_dummy(titanic_data['Sesso'], drop_first = Certo)
dati_imbarcati = pd.get_dummy(titanic_data['Imbarcato'], drop_first = Certo)
Aggiungi variabili fittizie a DataFrame e rimuovi i dati non numerici
titanic_data = pd.concat([titanic_data, dati_sesso, dati_imbarcati], asse = 1)
titanic_data.far cadere(['Nome', 'ID passeggero', 'Biglietto', 'Sesso', 'Imbarcato'], asse = 1, Invece = Certo)
Stampa il set di dati finito
titanic_data.testa()
Dividi il set di dati in dati x e y
y_data = titanic_data['Sopravvissuto']
x_dati = titanic_data.far cadere('Sopravvissuto’, asse = 1)
Dividi il set di dati in dati da 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.... e dati di test
a partire dal chiaro.selezione_modello Vogliamo iniziare a spiegarti com'è la procedura che devi eseguire nel caso tu abbia un PC con Windows train_test_split
x_dati_di_allenamento, x_test_data, y_training_data, y_test_data = train_test_split(x_dati, y_data, test_size = 0,3)
Crea il modello
a partire dal chiaro.modello lineare Vogliamo iniziare a spiegarti com'è la procedura che devi eseguire nel caso tu abbia un PC con Windows Regressione logistica
modello = Regressione logistica()
Addestra il modello e crea previsioni
modello.adattarsi(x_dati_di_allenamento, y_training_data)
predizioni = modello.prevedere(x_test_data)
Calcola le metriche delle prestazioni
a partire dal chiaro.metrica Vogliamo iniziare a spiegarti com'è la procedura che devi eseguire nel caso tu abbia un PC con Windows classificazione_report
Stampa(classificazione_report(y_test_data, predizioni))
precision recall f1-score support
0 0.83 0.87 0.85 169
1 0.75 0.68 0.72 98
accuracy 0.80 267
macro avg 0.79 0.78 0.78 267
weighted avg 0.80 0.80 0.80 267
Genera una matrice di confusione
a partire dal chiaro.metrica Vogliamo iniziare a spiegarti com'è la procedura che devi eseguire nel caso tu abbia un PC con Windows matrice di confusione
Stampa(matrice di confusione(y_test_data,
predizioni)
[[145 22]
[ 30 70]]
Con questo chiudo questo blog..
Ciao a tutti, Namaste
Il mio nome è Pranshu Sharma e sono un appassionato di data science
Grazie mille per aver dedicato del tuo tempo prezioso a leggere questo blog.. Sentiti libero di segnalare eventuali errori (Dopotutto, sono un apprendista) e fornire i commenti corrispondenti o lasciare un commento.
Dhanyvaad !!
Feedback:
E-mail: [e-mail protetta]
Il supporto mostrato in questo articolo non è di proprietà di DataPeaker e viene utilizzato a discrezione dell'autore.