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

bookCostruzione della Regressione Lineare Utilizzando 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

Il dataset contiene 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, quindi costruiremo uno scatterplot.

1234
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 offre 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:

123
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]

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

Effettuare le Previsioni

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

123
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, è possibile utilizzare l'equazione della regressione lineare per prevedere nuovi valori.

123
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

bookCostruzione della Regressione Lineare Utilizzando NumPy

Scorri per mostrare il menu

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

Il dataset contiene 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, quindi costruiremo uno scatterplot.

1234
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 offre 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:

123
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]

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

Effettuare le Previsioni

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

123
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, è possibile utilizzare l'equazione della regressione lineare per prevedere nuovi valori.

123
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