Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Costruzione della Regressione Lineare con NumPy | Regressione Lineare Semplice
Regressione Lineare con Python
course content

Contenuti del Corso

Regressione Lineare con Python

Regressione Lineare con Python

1. Regressione Lineare Semplice
2. Regressione Lineare Multipla
3. Regressione Polinomiale
4. Scelta del Modello Migliore

book
Costruzione della Regressione Lineare con NumPy

Sai già cos'è la regressione lineare semplice e come trovare la retta che meglio si adatta ai dati. Ora seguirai tutti i passaggi per costruire una regressione lineare su un dataset reale.

Caricamento dei dati

Abbiamo un file, simple_height_data.csv, con i dati dei nostri esempi. Caricheremo il file e lo esamineremo:

123456
import pandas as pd file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file print(df.head()) # Print the first 5 instances from a dataset
copy

Quindi il dataset ha due colonne: la prima è 'Father', che rappresenta la caratteristica di input, e la seconda è 'Height', che è la nostra variabile target.

Assegneremo i valori target alla variabile y e i valori della caratteristica a X e costruiremo uno scatterplot.

12345678910
import pandas as pd import matplotlib.pyplot as plt file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file X = df['Father'] # Assign the feature y = df['Height'] # Assign the target plt.scatter(X,y) # Build scatterplot plt.show()
copy

Ricerca dei parametri

NumPy dispone di una funzione utile per trovare i parametri della regressione lineare.

La regressione lineare è una regressione polinomiale di grado 1 (parleremo della regressione polinomiale nelle sezioni successive). Per questo motivo è necessario impostare deg=1 per ottenere i parametri della regressione lineare.
Ecco un esempio:

12345678910
import pandas as pd import numpy as np file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the files X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters print('beta_0 is', beta_0) print('beta_1 is', beta_1)
copy
Note
Nota

Se non conosci la sintassi beta_1, beta_0 = np.polyfit(X,y,1), questa si chiama unpacking. Se hai un iteratore (ad esempio, una lista, un array NumPy o una serie pandas) che contiene due elementi, scrivere

a, b = my_iterator

è equivalente a

a = my_iterator[0]
b = my_iterator[1]

Poiché il risultato della funzione polyfit() è un array NumPy con due valori, è possibile utilizzare questa sintassi.

Effettuare le Previsioni

Ora possiamo tracciare la retta e prevedere nuove variabili utilizzando i parametri.

123456789101112
import pandas as pd import numpy as np import matplotlib.pyplot as plt file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters plt.scatter(X,y) # Build a scatter plot plt.plot(X, beta_0 + beta_1 * X, color='red') # Plot the line plt.show()
copy

Ora che abbiamo i parametri, possiamo utilizzare l'equazione della regressione lineare per prevedere nuovi valori.

1234567891011
import pandas as pd import numpy as np import matplotlib.pyplot as plt file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters X_new = np.array([65, 70, 75]) # Feature values of new instances y_pred = beta_0 + beta_1 * X_new # Predict the target print('Predicted y: ', y_pred)
copy

Quindi è abbastanza semplice ottenere i parametri della regressione lineare. Tuttavia, alcune librerie possono anche fornire informazioni aggiuntive.

question mark

È possibile trovare i parametri della Regressione Lineare Semplice utilizzando la funzione di NumPy:

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 3

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

course content

Contenuti del Corso

Regressione Lineare con Python

Regressione Lineare con Python

1. Regressione Lineare Semplice
2. Regressione Lineare Multipla
3. Regressione Polinomiale
4. Scelta del Modello Migliore

book
Costruzione della Regressione Lineare con NumPy

Sai già cos'è la regressione lineare semplice e come trovare la retta che meglio si adatta ai dati. Ora seguirai tutti i passaggi per costruire una regressione lineare su un dataset reale.

Caricamento dei dati

Abbiamo un file, simple_height_data.csv, con i dati dei nostri esempi. Caricheremo il file e lo esamineremo:

123456
import pandas as pd file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file print(df.head()) # Print the first 5 instances from a dataset
copy

Quindi il dataset ha due colonne: la prima è 'Father', che rappresenta la caratteristica di input, e la seconda è 'Height', che è la nostra variabile target.

Assegneremo i valori target alla variabile y e i valori della caratteristica a X e costruiremo uno scatterplot.

12345678910
import pandas as pd import matplotlib.pyplot as plt file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file X = df['Father'] # Assign the feature y = df['Height'] # Assign the target plt.scatter(X,y) # Build scatterplot plt.show()
copy

Ricerca dei parametri

NumPy dispone di una funzione utile per trovare i parametri della regressione lineare.

La regressione lineare è una regressione polinomiale di grado 1 (parleremo della regressione polinomiale nelle sezioni successive). Per questo motivo è necessario impostare deg=1 per ottenere i parametri della regressione lineare.
Ecco un esempio:

12345678910
import pandas as pd import numpy as np file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the files X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters print('beta_0 is', beta_0) print('beta_1 is', beta_1)
copy
Note
Nota

Se non conosci la sintassi beta_1, beta_0 = np.polyfit(X,y,1), questa si chiama unpacking. Se hai un iteratore (ad esempio, una lista, un array NumPy o una serie pandas) che contiene due elementi, scrivere

a, b = my_iterator

è equivalente a

a = my_iterator[0]
b = my_iterator[1]

Poiché il risultato della funzione polyfit() è un array NumPy con due valori, è possibile utilizzare questa sintassi.

Effettuare le Previsioni

Ora possiamo tracciare la retta e prevedere nuove variabili utilizzando i parametri.

123456789101112
import pandas as pd import numpy as np import matplotlib.pyplot as plt file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters plt.scatter(X,y) # Build a scatter plot plt.plot(X, beta_0 + beta_1 * X, color='red') # Plot the line plt.show()
copy

Ora che abbiamo i parametri, possiamo utilizzare l'equazione della regressione lineare per prevedere nuovi valori.

1234567891011
import pandas as pd import numpy as np import matplotlib.pyplot as plt file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters X_new = np.array([65, 70, 75]) # Feature values of new instances y_pred = beta_0 + beta_1 * X_new # Predict the target print('Predicted y: ', y_pred)
copy

Quindi è abbastanza semplice ottenere i parametri della regressione lineare. Tuttavia, alcune librerie possono anche fornire informazioni aggiuntive.

question mark

È possibile trovare i parametri della Regressione Lineare Semplice utilizzando la funzione di NumPy:

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 3
some-alt