Esercitazione Python

Python HOME Introduzione di Python Python per iniziare Sintassi Python Commenti Python Variabili Python Tipi di dati Python Numeri Python Fusione in pitone Stringhe Python Python booleani Operatori Python Elenchi Python Tuple di Python Insiemi Python Dizionari Python Python Se... Altro Python While Loops Python per loop Funzioni Python Python Lambda Matrici Python Classi/oggetti Python Ereditarietà Python Iteratori Python Ambito Python Moduli Python Date Python Python matematica Python JSON Python RegEx PIP Python Python Prova... Tranne Input utente Python Formattazione di stringhe Python

Gestione dei file

Gestione dei file Python File di lettura Python Python Scrivi/Crea file Python Elimina file

Moduli Python

Tutorial NumPy Procedura dettagliata di Panda Tutorial Scipy

Python Matplotlib

Introduzione a Matplotlib Matplotlib Inizia Plottaggio Matplotlib Tracciatura Matplotlib Marcatori Matplotlib Linea Matplotlib Etichette Matplotlib Griglia Matplotlib Sottotrame Matplotlib Dispersione Matplotlib Barre Matplotlib Istogrammi Matplotlib Grafici a torta Matplotlib

Apprendimento automatico

Iniziare Modalità mediana media Deviazione standard percentile Distribuzione dei dati Distribuzione normale dei dati Trama a dispersione Regressione lineare Regressione polinomiale Regressione multipla Scala Treno/prova Albero decisionale

Python MySQL

MySQL per iniziare MySQL crea database MySQL Crea tabella Inserimento MySQL MySQL Seleziona MySQL dove MySQL Ordina per Elimina MySQL MySQL Drop Table Aggiornamento MySQL Limite MySQL Unisciti a MySQL

Python MongoDB

MongoDB Inizia MongoDB Crea database MongoDB Crea raccolta Inserisci MongoDB MongoDB Trova Interrogazione MongoDB Ordinamento MongoDB Elimina MongoDB Collezione Drop MongoDB Aggiornamento MongoDB Limite MongoDB

Riferimento Python

Panoramica di Python Funzioni integrate in Python Metodi di stringa Python Metodi dell'elenco Python Metodi del dizionario Python Metodi della tupla Python Metodi di impostazione Python Metodi di file Python Parole chiave Python Eccezioni Python Glossario Python

Riferimento del modulo

Modulo casuale Modulo Richieste Modulo Statistiche Modulo di matematica Modulo cMath

Python come fare per

Rimuovi i duplicati dell'elenco Invertire una stringa Aggiungi due numeri

Esempi Python

Esempi Python Compilatore Python Esercizi di Python Python Quiz Certificato Python

Apprendimento automatico - Regressione multipla


Regressione multipla

La regressione multipla è come la regressione lineare , ma con più di un valore indipendente, il che significa che proviamo a prevedere un valore basato su due o più variabili.

Dai un'occhiata al set di dati di seguito, contiene alcune informazioni sulle auto.

Macchina Modello Volume Peso CO2
Toyota Aygo 1000 790 99
Mitsubishi Stella spaziale 1200 1160 95
Skoda Citigine 1000 929 95
Fiat 500 900 865 90
Mini Bottaio 1500 1140 105
VW Su! 1000 929 105
Skoda Fabio 1400 1109 90
Mercedes Una classe 1500 1365 92
Guado Festa 1500 1112 98
Audi A1 1600 1150 99
Hyundai I20 1100 980 99
Suzuki Veloce 1300 990 101
Guado Festa 1000 1112 99
Honda Civico 1600 1252 94
Hyundai I30 1600 1326 97
Opel Astra 1600 1330 97
BMW 1 1600 1365 99
Mazda 3 2200 1280 104
Skoda Rapido 1600 1119 104
Guado Messa a fuoco 2000 1328 105
Guado Mondeo 1600 1584 94
Opel Insegne 2000 1428 99
Mercedes Classe C 2100 1365 99
Skoda Ottavia 1600 1415 99
Volvo S60 2000 1415 99
Mercedes CLA 1500 1465 102
Audi A4 2000 1490 104
Audi A6 2000 1725 114
Volvo V70 1600 1523 109
BMW 5 2000 1705 114
Mercedes Classe E 2100 1605 115
Volvo XC70 2000 1746 117
Guado B-Max 1600 1235 104
BMW 2 1600 1390 108
Opel Zafira 1600 1405 109
Mercedes SLK 2500 1395 120

Possiamo prevedere le emissioni di CO2 di un'auto in base alle dimensioni del motore, ma con una regressione multipla possiamo inserire più variabili, come il peso dell'auto, per rendere la previsione più accurata.


Come funziona?

In Python abbiamo moduli che faranno il lavoro per noi. Inizia importando il modulo Pandas.

import pandas

Scopri il modulo Panda nel nostro Tutorial Panda .

Il modulo Pandas ci consente di leggere file CSV e restituire un oggetto DataFrame.

Il file è inteso solo a scopo di test, puoi scaricarlo qui: cars.csv

df = pandas.read_csv("cars.csv")

Quindi fare un elenco dei valori indipendenti e chiamare questa variabile X.

Metti i valori dipendenti in una variabile chiamata y.

X = df[['Weight', 'Volume']]
y = df['CO2']

Suggerimento: è comune nominare l'elenco dei valori indipendenti con una X maiuscola e l'elenco dei valori dipendenti con una y minuscola.

Useremo alcuni metodi dal modulo sklearn, quindi dovremo importare anche quel modulo:

from sklearn import linear_model

Dal modulo sklearn utilizzeremo il LinearRegression()metodo per creare un oggetto di regressione lineare.

Questo oggetto ha un metodo chiamato fit()che prende i valori indipendenti e dipendenti come parametri e riempie l'oggetto di regressione con dati che descrivono la relazione:

regr = linear_model.LinearRegression()
regr.fit(X, y)

Ora abbiamo un oggetto di regressione pronto per prevedere i valori di CO2 in base al peso e al volume di un'auto:

#predict the CO2 emission of a car where the weight is 2300kg, and the volume is 1300cm3:
predictedCO2 = regr.predict([[2300, 1300]])

Esempio

Guarda l'intero esempio in azione:

import pandas
from sklearn import linear_model

df = pandas.read_csv("cars.csv")

X = df[['Weight', 'Volume']]
y = df['CO2']

regr = linear_model.LinearRegression()
regr.fit(X, y)

#predict the CO2 emission of a car where the weight is 2300kg, and the volume is 1300cm3:
predictedCO2 = regr.predict([[2300, 1300]])

print(predictedCO2)

Risultato:

[107.2087328]

Abbiamo previsto che un'auto con motore da 1,3 litri e un peso di 2300 kg rilascerà circa 107 grammi di CO2 per ogni chilometro percorso.



Coefficiente

Il coefficiente è un fattore che descrive la relazione con una variabile sconosciuta.

Esempio: se xè una variabile, allora 2xè xdue volte. xè la variabile sconosciuta e il numero 2è il coefficiente.

In questo caso, possiamo chiedere il valore del coefficiente di peso rispetto alla CO2, e per il volume rispetto alla CO2. Le risposte che otteniamo ci dicono cosa accadrebbe se aumentassimo o diminuissimo uno dei valori indipendenti.

Esempio

Stampa i valori dei coefficienti dell'oggetto di regressione:

import pandas
from sklearn import linear_model

df = pandas.read_csv("cars.csv")

X = df[['Weight', 'Volume']]
y = df['CO2']

regr = linear_model.LinearRegression()
regr.fit(X, y)

print(regr.coef_)

Risultato:

[0.00755095 0.00780526]

Risultato spiegato

La matrice dei risultati rappresenta i valori dei coefficienti di peso e volume.

Peso: 0,00755095
Volume: 0,00780526

Questi valori ci dicono che se il peso aumenta di 1 kg, l'emissione di CO2 aumenta di 0,00755095 g.

E se la cilindrata (Volume) aumenta di 1 cm 3 , l'emissione di CO2 aumenta di 0,00780526 g.

Penso che sia un'ipotesi giusta, ma proviamola!

Abbiamo già previsto che se un'auto con un motore da 1300 cm 3 pesa 2300 kg, l'emissione di CO2 sarà di circa 107 g.

E se aumentassimo il peso di 1000 kg?

Esempio

Copia l'esempio di prima, ma cambia il peso da 2300 a 3300:

import pandas
from sklearn import linear_model

df = pandas.read_csv("cars.csv")

X = df[['Weight', 'Volume']]
y = df['CO2']

regr = linear_model.LinearRegression()
regr.fit(X, y)

predictedCO2 = regr.predict([[3300, 1300]])

print(predictedCO2)

Risultato:

[114.75968007]

Abbiamo previsto che un'auto con motore da 1,3 litri e un peso di 3300 kg rilascerà circa 115 grammi di CO2 per ogni chilometro percorso.

Il che mostra che il coefficiente di 0,00755095 è corretto:

107.2087328 + (1000 * 0.00755095) = 114.75968