Tutto sulla regressione lineare usando Scikit
Pubblicato: 2022-09-08In pratica, esistono due algoritmi di apprendimento automatico supervisionati primari: 1. Classificazione e 2. Regressione: la classificazione viene utilizzata per prevedere output discreti, mentre la regressione viene utilizzata per prevedere output di valore continuo.
In algebra, linearità denota una relazione retta o lineare tra più variabili. Una rappresentazione letterale di questa relazione sarebbe una linea retta.
Iscriviti al corso di Machine Learning dalle migliori università del mondo. Guadagna master, Executive PGP o programmi di certificazione avanzati per accelerare la tua carriera.
La regressione lineare è un algoritmo di apprendimento automatico eseguito sotto supervisione. È un processo di ricerca e mappatura di una linea adatta a tutti i punti dati disponibili su detto grafico. È un modello di regressione che aiuta a stimare il valore tra una variabile dipendente e una indipendente, il tutto con l'aiuto di una linea retta.
I modelli di regressione lineare aiutano a costruire una relazione lineare tra queste variabili indipendenti, che hanno i costi più bassi, in base alle variabili dipendenti date.
In matematica, abbiamo tre modi che vengono utilizzati per descrivere un modello di regressione lineare. Sono i seguenti (y essendo la variabile dipendente):
- y = intercetta + (pendenza x) + errore
- y = costante + (coefficientex) + errore
- y = a + bx + e
Perché è essenziale la regressione lineare?
I modelli di regressione lineare sono relativamente più semplici e di facile utilizzo. Rendono relativamente più semplice il processo di interpretazione di dati/formule matematiche in grado di generare previsioni. La regressione lineare può essere strumentale in vari campi (ad esempio, accademici o studi aziendali).
Il modello di regressione lineare è l'unico metodo scientificamente provato per prevedere con precisione il futuro. È usato in varie scienze da quelle ambientali, comportamentali, sociali, ecc.
Le proprietà di questi modelli sono molto ben comprese e quindi facilmente addestrabili poiché si tratta di una procedura statistica di lunga data. Facilita inoltre la trasformazione di copiosi set di dati grezzi in informazioni utilizzabili.
Assunzioni chiave di una regressione lineare efficace
- Il numero di casi validi, la media e la deviazione standard devono essere considerati per ciascuna variabile.
- Per ciascun modello : devono essere considerati i coefficienti di regressione, la matrice di correlazione, le correlazioni parziali e parziali, l'errore standard della stima, la tabella di analisi della varianza, i valori previsti e i residui.
- Grafici : vengono presi in considerazione grafici a dispersione, istogrammi, grafici parziali e grafici di probabilità normale.
- Dati : è necessario garantire che le variabili dipendenti e indipendenti siano quantitative. Le variabili categoriali non devono essere ricodificate in variabili binarie o fittizie o altri tipi di variabili di contrasto.
- Altre ipotesi : per ogni valore di una data variabile indipendente, abbiamo bisogno di una distribuzione normale della variabile dipendente. Anche la varianza della distribuzione data della variabile dipendente dovrebbe essere mantenuta costante per ogni valore di variabile indipendente. La relazione tra ogni variabile indipendente dipendente dovrebbe essere lineare. Inoltre, tutte le osservazioni dovrebbero essere indipendenti.
Ecco un esempio esistente di una semplice regressione lineare :
Il set di dati nell'esempio contiene informazioni relative alle situazioni meteorologiche globali di ogni giorno per un determinato periodo. Questo elenco dettagliato di informazioni include fattori come precipitazioni, nevicate, temperature, velocità del vento, temporali o altre possibili condizioni meteorologiche.
Questo problema mira a utilizzare il semplice modello di regressione lineare per prevedere la temperatura massima prendendo come input la temperatura minima.
In primo luogo, tutte le librerie devono essere importate.
importa panda come pd
importa numpy come np
importa matplotlib.pyplot come plt
importa seaborn come seabornInstance
da sklearn.model_selection import train_test_split
da sklearn.linear_model import LinearRegression
dalle metriche di importazione di sklearn
%matplotlib in linea
Per importare il seguente set di dati utilizzando Panda, è necessario applicare il seguente comando:
set di dati = pd.read_csv('/Users/nageshsinghchauhan/Documents/projects/ML/ML_BLOG_LInearRegression/Weather.csv')
Per verificare il numero di righe e colonne presenti nel dataset per esplorare i dati, è necessario applicare il seguente comando:
dataset.shape
L'output ricevuto dovrebbe essere (119040, 31), il che significa che i dati contengono 119040 righe e 31 colonne.
Per visualizzare i dettagli statistici del set di dati, è possibile utilizzare il seguente comando:
descrivere():
dataset.descrivi()
Ecco un altro esempio che mirerà a dimostrare come è possibile recuperare e utilizzare varie librerie Python che devono essere utilizzate per applicare la regressione lineare a determinati set di dati:
1. Importazione di tutte le librerie richieste
importa numpy come np
importa panda come pd
import seaborn come sns
importa matplotlib.pyplot come plt
da sklearn import preprocessing, svm
da sklearn.model_selection import train_test_split
da sklearn.linear_model import LinearRegression
2. Lettura del set di dati
cd C:\Utenti\Dev\Desktop\Kaggle\Salinity
# Modifica della posizione di lettura del file nella posizione del set di dati
df = pd.read_csv('bottiglia.csv')
df_binary = df[['Salnty', 'T_degC']]
# Prendendo solo i due attributi selezionati dal set di dati
df_binary.columns = ['Sal', 'Temp']
# Rinominare le colonne per facilitare la scrittura del codice
df_binary.head()
# Visualizzazione solo delle prime righe insieme ai nomi delle colonne
2. Esplorare la dispersione dei dati
sns.lmplot(x =”Sal”, y =”Temp”, data = df_binary, ordine = 2, ci = Nessuno)
# Tracciare la dispersione dei dati
3. Pulizia dei dati
# Eliminazione di NaN o numeri di input mancanti
df_binary.fillna(method ='fill', inplace = True)
4. Addestrare il modello
X = np.array(df_binary['Sal']).reshape(-1, 1)
y = np.array(df_binary['Temp']).reshape(-1, 1)
# Separazione dei dati in variabili indipendenti e dipendenti
# Conversione di ogni dataframe in un array numpy
# poiché ogni dataframe contiene solo una colonna
df_binary.dropna(inplace = True)
# Eliminazione di qualsiasi riga con valori Nan
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0,25)
# Suddivisione dei dati in dati di addestramento e test
regr = regressione lineare()
regr.fit(X_treno, y_treno)
print(regr.score(X_test, y_test))
5. Esplorare i risultati
y_pred = regr.predict(X_test)
plt.scatter(X_test, y_test, color ='b')
plt.plot(X_test, y_pred, color ='k')
plt.show()
# Diffusione dei dati dei valori previsti
6. Lavorare con un set di dati più piccolo
df_binario500 = df_binario[:][:500]
# Selezione delle prime 500 righe di dati
sns.lmplot(x =”Sal”, y =”Temp”, data = df_binary500,
ordine = 2, ci = Nessuno)
Blog popolari di Machine Learning e Intelligenza Artificiale
IoT: storia, presente e futuro | Esercitazione sull'apprendimento automatico: impara il ML | Cos'è l'algoritmo? Semplice e facile |
Stipendio per ingegnere robotico in India: tutti i ruoli | Un giorno nella vita di un ingegnere di machine learning: cosa fanno? | Cos'è l'IoT (Internet delle cose) |
Permutazione vs combinazione: differenza tra permutazione e combinazione | Le 7 tendenze principali nell'intelligenza artificiale e nell'apprendimento automatico | Machine Learning con R: tutto ciò che devi sapere |
Se sei interessato all'apprendimento dell'apprendimento automatico a tutti gli effetti, ti consigliamo di iscriverti al Master of Science in Machine Learning e AI di Grad . Il programma di 20 mesi è offerto in associazione con IIIT Bangalore e Liverpool John Moores University. È progettato per aiutarti a sviluppare competenze in linguaggi di programmazione, strumenti e librerie rilevanti per il settore come Python, Keras, Tensor Flow, MySql, Flask, Kubernetes, ecc.
Il programma può aiutarti ad acquisire concetti avanzati di scienza dei dati attraverso l'esperienza pratica e lo sviluppo di competenze. Inoltre, ottieni il vantaggio di upGrad con l'accesso a consulenza professionale a 360°, un pool di networking di oltre 40.000 studenti pagati e un sacco di opportunità di collaborazione!
Prenota oggi il tuo posto!
A cosa serve la regressione lineare
Questo tipo di analisi viene generalmente utilizzato per prevedere il valore di una variabile sulla base di un'altra variabile nota. Le variabili utilizzate per trovare il valore dell'altra sono chiamate rispettivamente variabili dipendenti e indipendenti.
Come installare Scikit Learn?
Inizialmente, è necessario installare la versione di regressione lineare di Scikit fornita dal sistema operativo interessato o dalla distribuzione Python. Questo è il più veloce per le persone che hanno questa opzione disponibile. Quindi è necessario installare la versione ufficialmente rilasciata e l'ultima aggiornata.
Come funziona l'apprendimento di scikit?
Scikit impara la regressione lineare fornisce una gamma di algoritmi supervisionati e non supervisionati attraverso un'interfaccia di Python, che è sempre coerente. È concesso in licenza con una licenza BSD consentita. È distribuito sotto vari operatori Linux. L'uso di questi algoritmi è ampiamente incoraggiato nel mondo degli affari e dell'istruzione.