Python- tutoriaal

Python TUIS Python Intro Python Begin Python-sintaksis Python-kommentaar Python veranderlikes Python-datatipes Python-nommers Python Casting Python Strings Python Booleans Python-operateurs Python-lyste Python Tuples Python-stelle Python Woordeboeke Python As...Anders Python While Loops Python vir lusse Python-funksies Python Lambda Python-skikkings Python-klasse/-voorwerpe Python Erfenis Python Iterators Python-omvang Python-modules Python-datums Python Wiskunde Python JSON Python RegEx Python PIP Python Probeer ... Behalwe Python-gebruikersinvoer Python String Formatering

Lêerhantering

Python-lêerhantering Python Lees lêers Python Skryf/skep lêers Python verwyder lêers

Python-modules

NumPy Tutoriaal Panda Walkthrough Scipy Tutoriaal

Python Matplotlib

Matplotlib Intro Matplotlib Begin Matplotlib Pyplot Matplotlib Plotte Matplotlib Merkers Matplotlib-lyn Matplotlib-etikette Matplotlib-rooster Matplotlib Subplotte Matplotlib Scatter Matplotlib Bars Matplotlib Histogramme Matplotlib sirkeldiagramme

Masjienleer

Aan die gang kom Gemiddelde mediaanmodus Standaard afwyking Persentiel Dataverspreiding Normale dataverspreiding Strooi plot Lineêre regressie Polinoomregressie Meervoudige regressie Skaal Trein/toets Besluitboom

Python MySQL

MySQL Begin MySQL Skep databasis MySQL Skep tabel MySQL-insetsel MySQL Kies MySQL Waar MySQL Bestel deur MySQL verwyder MySQL Drop Table MySQL-opdatering MySQL-limiet MySQL Sluit aan

Python MongoDB

MongoDB Begin MongoDB Skep databasis MongoDB Skep versameling MongoDB-insetsel MongoDB Vind MongoDB-navraag MongoDB Sorteer MongoDB verwyder MongoDB Drop Collection MongoDB-opdatering MongoDB-limiet

Python-verwysing

Python Oorsig Python ingeboude funksies Python-stringmetodes Python Lys Metodes Python Woordeboek Metodes Python Tuple Metodes Python Stel metodes Python-lêermetodes Python sleutelwoorde Python-uitsonderings Python Woordelys

Moduleverwysing

Ewekansige module Versoeke Module Statistiek Module Wiskunde Module cMath-module

Python Hoe om

Verwyder lys duplikate Draai 'n snaar om Voeg twee getalle by

Python voorbeelde

Python voorbeelde Python-samesteller Python-oefeninge Python Vasvra Python-sertifikaat

Masjienleer - Veelvuldige regressie


Meervoudige regressie

Meervoudige regressie is soos lineêre regressie , maar met meer as een onafhanklike waarde, wat beteken dat ons probeer om 'n waarde te voorspel gebaseer op twee of meer veranderlikes.

Kyk na die datastel hieronder, dit bevat inligting oor motors.

Voertuig Model Volume Gewig CO2
Toyota Aygo 1000 790 99
Mitsubishi Ruimte Ster 1200 1160 95
Skoda Citigo 1000 929 95
Fiat 500 900 865 90
Mini Cooper 1500 1140 105
VW Op! 1000 929 105
Skoda Fabia 1400 1109 90
Mercedes A-klas 1500 1365 92
Ford Fiesta 1500 1112 98
Audi A1 1600 1150 99
Hyundai I20 1100 980 99
Suzuki Swift 1300 990 101
Ford Fiesta 1000 1112 99
Honda Burgerlik 1600 1252 94
Hyundai I30 1600 1326 97
Opel Astra 1600 1330 97
BMW 1 1600 1365 99
Mazda 3 2200 1280 104
Skoda Vinnig 1600 1119 104
Ford Fokus 2000 1328 105
Ford Mondeo 1600 1584 94
Opel Kenteken 2000 1428 99
Mercedes C-klas 2100 1365 99
Skoda 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-klas 2100 1605 115
Volvo XC70 2000 1746 117
Ford B-Maks 1600 1235 104
BMW 2 1600 1390 108
Opel Zafira 1600 1405 109
Mercedes SLK 2500 1395 120

Ons kan die CO2-emissie van 'n motor voorspel op grond van die grootte van die enjin, maar met veelvuldige regressie kan ons meer veranderlikes, soos die gewig van die motor, ingooi om die voorspelling meer akkuraat te maak.


Hoe werk dit?

In Python het ons modules wat die werk vir ons sal doen. Begin deur die Pandas-module in te voer.

import pandas

Kom meer te wete oor die Pandas-module in ons Pandas-tutoriaal .

Die Pandas-module stel ons in staat om csv-lêers te lees en 'n DataFrame-objek terug te stuur.

Die lêer is slegs vir toetsdoeleindes bedoel, jy kan dit hier aflaai: cars.csv

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

Maak dan 'n lys van die onafhanklike waardes en noem hierdie veranderlike X.

Plaas die afhanklike waardes in 'n veranderlike genaamd y.

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

Wenk: Dit is algemeen om die lys van onafhanklike waardes met 'n hoofletter X te noem, en die lys van afhanklike waardes met 'n kleinletter y.

Ons sal 'n paar metodes van die sklearn-module gebruik, so ons sal daardie module ook moet invoer:

from sklearn import linear_model

Vanuit die sklearn-module sal ons die LinearRegression()metode gebruik om 'n lineêre regressie-objek te skep.

Hierdie objek het 'n metode genoem fit()wat die onafhanklike en afhanklike waardes as parameters neem en die regressie-objek vul met data wat die verwantskap beskryf:

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

Nou het ons 'n regressie-voorwerp wat gereed is om CO2-waardes te voorspel gebaseer op 'n motor se gewig en volume:

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

Voorbeeld

Sien die hele voorbeeld in aksie:

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)

Resultaat:

[107.2087328]

Ons het voorspel dat 'n motor met 'n 1,3 liter-enjin, en 'n gewig van 2300 kg, ongeveer 107 gram CO2 sal vrystel vir elke kilometer wat hy ry.



Koëffisiënt

Die koëffisiënt is 'n faktor wat die verwantskap met 'n onbekende veranderlike beskryf.

Voorbeeld: as x'n veranderlike is, dan 2xis dit xtwee keer. xis die onbekende veranderlike, en die getal 2is die koëffisiënt.

In hierdie geval kan ons vra vir die koëffisiëntwaarde van gewig teenoor CO2, en vir volume teenoor CO2. Die antwoord(e) wat ons kry, vertel ons wat sal gebeur as ons een van die onafhanklike waardes verhoog, of verlaag.

Voorbeeld

Druk die koëffisiëntwaardes van die regressie-voorwerp:

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

Resultaat:

[0.00755095 0.00780526]

Resultaat verduidelik

Die resultaatskikking verteenwoordig die koëffisiëntwaardes van gewig en volume.

Gewig: 0,00755095
Volume: 0,00780526

Hierdie waardes sê vir ons dat as die gewig met 1 kg toeneem, die CO2-emissie met 0,00755095g toeneem.

En as die enjingrootte (Volume) met 1 cm 3 toeneem, verhoog die CO2-emissie met 0,00780526 g.

Ek dink dit is 'n regverdige raaiskoot, maar laat dit toets!

Ons het reeds voorspel dat as 'n motor met 'n 1300cm 3 -enjin 2300kg weeg, die CO2-emissie ongeveer 107g sal wees.

Wat as ons die gewig verhoog met 1000kg?

Voorbeeld

Kopieer die voorbeeld van voorheen, maar verander die gewig van 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)

Resultaat:

[114.75968007]

Ons het voorspel dat 'n motor met 1,3 liter-enjin, en 'n gewig van 3300 kg, ongeveer 115 gram CO2 sal vrystel vir elke kilometer wat hy ry.

Wat wys dat die koëffisiënt van 0.00755095 korrek is:

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