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 - Scalabilità


Funzioni di scala

Quando i tuoi dati hanno valori diversi e persino unità di misura diverse, può essere difficile confrontarli. Cosa sono i chilogrammi rispetto ai metri? O l'altitudine rispetto al tempo?

La risposta a questo problema è il ridimensionamento. Possiamo ridimensionare i dati in nuovi valori che sono più facili da confrontare.

Dai un'occhiata alla tabella seguente, è lo stesso set di dati che abbiamo utilizzato nel capitolo sulla regressione multipla , ma questa volta la colonna del volume contiene valori in litri anziché in cm 3 (1,0 anziché 1000).

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

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

Può essere difficile confrontare il volume 1.0 con il peso 790, ma se li ridimensioniamo entrambi in valori comparabili, possiamo facilmente vedere quanto un valore viene confrontato con l'altro.

Esistono diversi metodi per ridimensionare i dati, in questo tutorial utilizzeremo un metodo chiamato standardizzazione.

Il metodo di standardizzazione utilizza questa formula:

z = (x - u) / s

Dove zè il nuovo valore, xè il valore originale, uè la media ed sè la deviazione standard.

Se prendi la colonna del peso dal set di dati sopra, il primo valore è 790 e il valore in scala sarà:

(790 - ) / = -2.1

Se prendi la colonna del volume dal set di dati sopra, il primo valore è 1,0 e il valore in scala sarà:

(1.0 - ) / = -1.59

Ora puoi confrontare -2,1 con -1,59 invece di confrontare 790 con 1,0.

Non devi farlo manualmente, il modulo Python sklearn ha un metodo chiamato StandardScaler() che restituisce un oggetto Scaler con metodi per trasformare i set di dati.

Esempio

Scala tutti i valori nelle colonne Peso e Volume:

import pandas
from sklearn import linear_model
from sklearn.preprocessing import StandardScaler
scale = StandardScaler()

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

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

scaledX = scale.fit_transform(X)

print(scaledX)

Risultato:

Nota che i primi due valori sono -2.1 e -1.59, che corrispondono ai nostri calcoli:

[[-2.10389253 -1.59336644]
 [-0.55407235 -1.07190106]
 [-1.52166278 -1.59336644]
 [-1.78973979 -1.85409913]
 [-0.63784641 -0.28970299]
 [-1.52166278 -1.59336644]
 [-0.76769621 -0.55043568]
 [ 0.3046118  -0.28970299]
 [-0.7551301  -0.28970299]
 [-0.59595938 -0.0289703 ]
 [-1.30803892 -1.33263375]
 [-1.26615189 -0.81116837]
 [-0.7551301  -1.59336644]
 [-0.16871166 -0.0289703 ]
 [ 0.14125238 -0.0289703 ]
 [ 0.15800719 -0.0289703 ]
 [ 0.3046118  -0.0289703 ]
 [-0.05142797  1.53542584]
 [-0.72580918 -0.0289703 ]
 [ 0.14962979  1.01396046]
 [ 1.2219378  -0.0289703 ]
 [ 0.5685001   1.01396046]
 [ 0.3046118   1.27469315]
 [ 0.51404696 -0.0289703 ]
 [ 0.51404696  1.01396046]
 [ 0.72348212 -0.28970299]
 [ 0.8281997   1.01396046]
 [ 1.81254495  1.01396046]
 [ 0.96642691 -0.0289703 ]
 [ 1.72877089  1.01396046]
 [ 1.30990057  1.27469315]
 [ 1.90050772  1.01396046]
 [-0.23991961 -0.0289703 ]
 [ 0.40932938 -0.0289703 ]
 [ 0.47215993 -0.0289703 ]
 [ 0.4302729   2.31762392]]


Prevedere i valori di CO2

Il compito nel capitolo Regressione multipla era prevedere l'emissione di CO2 di un'auto quando ne conoscevi solo il peso e il volume.

Quando il set di dati viene ridimensionato, dovrai utilizzare la scala per prevedere i valori:

Esempio

Prevedi le emissioni di CO2 di un'auto da 1,3 litri che pesa 2300 chilogrammi:

import pandas
from sklearn import linear_model
from sklearn.preprocessing import StandardScaler
scale = StandardScaler()

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

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

scaledX = scale.fit_transform(X)

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

scaled = scale.transform([[2300, 1.3]])

predictedCO2 = regr.predict([scaled[0]])
print(predictedCO2)

Risultato:

[107.2087328]