Výukový program Python

Python HOME Úvod do Pythonu Začínáme s Pythonem Syntaxe Pythonu Komentáře Pythonu Proměnné Pythonu Datové typy Pythonu Python čísla Python Casting Python řetězce Python Booleans Operátoři Pythonu Seznamy Pythonu Python n-tice Sady Pythonu Slovníky Pythonu Python If...Else Python While Loops Python pro smyčky Funkce Pythonu Python Lambda Pole Python Třídy/objekty Pythonu Dědičnost Pythonu Iterátory Pythonu Rozsah Pythonu Moduly Pythonu Data v Pythonu Matematika Pythonu Python JSON Python RegEx Python PIP Zkuste Python... Kromě Vstup uživatele Pythonu Formátování řetězců v Pythonu

Manipulace se soubory

Práce se soubory Python Soubory pro čtení Pythonu Python Zápis/Vytváření souborů Python mazat soubory

Moduly Pythonu

Výukový program NumPy Návod Panda Výukový program Scipy

Python Matplotlib

Úvod do Matplotlib Matplotlib Začínáme Matplotlib Pyplot Vykreslování Matplotlib Markery Matplotlib Linka Matplotlib Štítky Matplotlib Matplotlib Grid Matplotlib Subplots Matplotlib Scatter Bary Matplotlib Histogramy Matplotlib Koláčové grafy Matplotlib

Strojové učení

Začínáme Střední střední režim Standardní odchylka Percentil Distribuce dat Normální distribuce dat Bodový diagram Lineární regrese Polynomiální regrese Vícenásobná regrese Měřítko Vlak/test Rozhodovací strom

Python MySQL

MySQL Začínáme Vytvořit databázi MySQL Vytvořit tabulku MySQL Vložit MySQL Vyberte MySQL Kde MySQL Pořadí MySQL podle Smazat MySQL MySQL Drop Table Aktualizace MySQL Limit MySQL Připojte se k MySQL

Python MongoDB

MongoDB Začněte Vytvořit databázi MongoDB Vytvořit sbírku MongoDB Vložení MongoDB Najít MongoDB Dotaz MongoDB Řazení MongoDB Smazat MongoDB MongoDB Drop Collection Aktualizace MongoDB Limit MongoDB

Reference Pythonu

Přehled Pythonu Vestavěné funkce Pythonu Metody pythonských řetězců Metody seznamu v Pythonu Metody slovníku Python Metody Python Tuple Metody sady Python Metody souborů Python Klíčová slova Pythonu Výjimky v Pythonu Slovník Pythonu

Reference modulu

Náhodný modul Modul požadavků Modul statistiky Matematický modul cMath modul

Jak na to Python

Odebrat duplikáty seznamu Obrátit řetězec Přidejte dvě čísla

Příklady Pythonu

Příklady Pythonu Kompilátor Pythonu Cvičení Python Pythonský kvíz Python certifikát

Strojové učení – měřítko


Funkce měřítka

Když vaše data mají různé hodnoty a dokonce i různé jednotky měření, může být obtížné je porovnat. Co jsou kilogramy ve srovnání s metry? Nebo nadmořská výška v porovnání s časem?

Odpovědí na tento problém je škálování. Můžeme škálovat data do nových hodnot, které se snáze porovnávají.

Podívejte se na tabulku níže, jedná se o stejný soubor dat, který jsme použili v kapitole vícenásobná regrese , ale tentokrát sloupec objemu obsahuje hodnoty v litrech místo cm 3 (1,0 místo 1000).

Soubor je určen pouze pro testovací účely, stáhnout si ho můžete zde: cars2.csv

Auto Modelka Objem Hmotnost CO2
Toyota Aygo 1,0 790 99
Mitsubishi Vesmírná hvězda 1.2 1160 95
Škoda Citigo 1,0 929 95
Fiat 500 0,9 865 90
Mini Bednář 1.5 1140 105
VW Nahoru! 1,0 929 105
Škoda Fabia 1.4 1109 90
Mercedes Třída 1.5 1365 92
Brod Fiesta 1.5 1112 98
Audi A1 1.6 1150 99
Hyundai I20 1.1 980 99
Suzuki Rychlý 1.3 990 101
Brod Fiesta 1,0 1112 99
Honda Občanská 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
Škoda Rychlý 1.6 1119 104
Brod Zaměřit se 2,0 1328 105
Brod Mondeo 1.6 1584 94
Opel Insignie 2,0 1428 99
Mercedes Třída C 2.1 1365 99
Škoda Octavia 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 E-třída 2.1 1605 115
Volvo XC70 2,0 1746 117
Brod B-Max 1.6 1235 104
BMW 2 1.6 1390 108
Opel Zafira 1.6 1405 109
Mercedes SLK 2.5 1395 120

Porovnat objem 1.0 s hmotností 790 může být obtížné, ale pokud je oba naškálujeme na srovnatelné hodnoty, snadno zjistíme, jak moc je jedna hodnota ve srovnání s druhou.

Existují různé metody pro škálování dat, v tomto tutoriálu použijeme metodu zvanou standardizace.

Standardizační metoda používá tento vzorec:

z = (x - u) / s

Kde zje nová hodnota, xje původní hodnota, uje průměr a sje standardní odchylka.

Pokud sloupec hmotnosti převezmete z výše uvedené datové sady, první hodnota je 790 a škálovaná hodnota bude:

(790 - ) / = -2.1

Pokud sloupec objemu převezmete z datové sady výše, první hodnota je 1,0 a škálovaná hodnota bude:

(1.0 - ) / = -1.59

Nyní můžete porovnávat -2,1 s -1,59 namísto porovnávání 790 s 1,0.

Nemusíte to dělat ručně, modul Python sklearn má metodu nazvanou StandardScaler() , která vrací objekt Scaler s metodami pro transformaci datových sad.

Příklad

Měřítko všech hodnot ve sloupcích Hmotnost a Objem:

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)

Výsledek:

Všimněte si, že první dvě hodnoty jsou -2,1 a -1,59, což odpovídá našim výpočtům:

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


Předvídejte hodnoty CO2

Úkolem v kapitole Vícenásobná regrese bylo předpovědět emise CO2 z auta, když jste znali pouze jeho hmotnost a objem.

Když je datová sada škálována, budete muset použít stupnici, když předpovídáte hodnoty:

Příklad

Předpokládejte emise CO2 z vozu o objemu 1,3 litru, který váží 2300 kilogramů:

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)

Výsledek:

[107.2087328]