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í – vícenásobná regrese


Vícenásobná regrese

Vícenásobná regrese je jako lineární regrese , ale s více než jednou nezávislou hodnotou, což znamená, že se snažíme předpovědět hodnotu na základě dvou nebo více proměnných.

Podívejte se na soubor dat níže, obsahuje nějaké informace o autech.

Auto Modelka Objem Hmotnost CO2
Toyota Aygo 1000 790 99
Mitsubishi Vesmírná hvězda 1200 1160 95
Škoda Citigo 1000 929 95
Fiat 500 900 865 90
Mini Bednář 1500 1140 105
VW Nahoru! 1000 929 105
Škoda Fabia 1400 1109 90
Mercedes Třída 1500 1365 92
Brod Fiesta 1500 1112 98
Audi A1 1600 1150 99
Hyundai I20 1100 980 99
Suzuki Rychlý 1300 990 101
Brod Fiesta 1000 1112 99
Honda Občanská 1600 1252 94
Hyundai I30 1600 1326 97
Opel Astra 1600 1330 97
BMW 1 1600 1365 99
Mazda 3 2200 1280 104
Škoda Rychlý 1600 1119 104
Brod Zaměřit se 2000 1328 105
Brod Mondeo 1600 1584 94
Opel Insignie 2000 1428 99
Mercedes Třída C 2100 1365 99
Škoda Octavia 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 E-třída 2100 1605 115
Volvo XC70 2000 1746 117
Brod B-Max 1600 1235 104
BMW 2 1600 1390 108
Opel Zafira 1600 1405 109
Mercedes SLK 2500 1395 120

Můžeme předpovídat emise CO2 auta na základě velikosti motoru, ale pomocí vícenásobné regrese můžeme zahrnout více proměnných, jako je hmotnost vozu, aby byla předpověď přesnější.


Jak to funguje?

V Pythonu máme moduly, které práci udělají za nás. Začněte importem modulu Pandas.

import pandas

Přečtěte si o modulu Pandas v našem výukovém programu Pandas .

Modul Pandas nám umožňuje číst soubory csv a vracet objekt DataFrame.

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

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

Poté vytvořte seznam nezávislých hodnot a zavolejte tuto proměnnou X.

Vložte závislé hodnoty do proměnné s názvem y.

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

Tip: Je běžné pojmenovat seznam nezávislých hodnot velkým písmenem X a seznam závislých hodnot malým písmenem y.

Použijeme některé metody z modulu sklearn, takže budeme muset importovat i tento modul:

from sklearn import linear_model

Z modulu sklearn pomocí LinearRegression()metody vytvoříme objekt lineární regrese.

Tento objekt má metodu nazvanou fit(), která bere nezávislé a závislé hodnoty jako parametry a naplňuje objekt regrese daty, které popisují vztah:

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

Nyní máme regresní objekt, který je připraven předpovídat hodnoty CO2 na základě hmotnosti a objemu vozu:

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

Příklad

Podívejte se na celý příklad v akci:

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)

Výsledek:

[107.2087328]

Předpověděli jsme, že vůz s motorem 1,3 litru a hmotností 2300 kg uvolní přibližně 107 gramů CO2 na každý kilometr, který ujede.



Součinitel

Koeficient je faktor, který popisuje vztah s neznámou proměnnou.

Příklad: jestliže xje proměnná, pak 2xje xdvakrát. xje neznámá proměnná a číslo 2je koeficient.

V tomto případě se můžeme zeptat na hodnotu koeficientu hmotnosti vůči CO2 a na hodnotu objemu vůči CO2. Odpověď (odpovědi), kterou dostaneme, nám říká, co by se stalo, kdybychom zvýšili nebo snížili jednu z nezávislých hodnot.

Příklad

Vytiskněte hodnoty koeficientů regresního objektu:

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_)

Výsledek:

[0.00755095 0.00780526]

Výsledek vysvětlen

Pole výsledků představuje hodnoty koeficientů hmotnosti a objemu.

Hmotnost: 0,00755095
Objem: 0,00780526

Tyto hodnoty nám říkají, že při zvýšení hmotnosti o 1 kg se emise CO2 zvýší o 0,00755095 g.

A pokud se velikost motoru (objem) zvýší o 1 cm 3 , emise CO2 se zvýší o 0,00780526 g.

Myslím, že je to spravedlivý odhad, ale nechte to vyzkoušet!

Již jsme předpověděli, že pokud auto s motorem o objemu 1300 cm 3 váží 2300 kg, emise CO2 budou přibližně 107 g.

Co když zvýšíme váhu o 1000 kg?

Příklad

Zkopírujte příklad z předchozího, ale změňte váhu z 2300 na 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)

Výsledek:

[114.75968007]

Předpověděli jsme, že auto s motorem 1,3 litru a hmotností 3300 kg uvolní přibližně 115 gramů CO2 na každý kilometr, který ujede.

Což ukazuje, že koeficient 0,00755095 je správný:

107,2087328 + (1000 * 0,00755095) = 114,75968