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 - Skaal


Skaal kenmerke

Wanneer jou data verskillende waardes en selfs verskillende metingseenhede het, kan dit moeilik wees om dit te vergelyk. Wat is kilogram in vergelyking met meters? Of hoogte in vergelyking met tyd?

Die antwoord op hierdie probleem is skaal. Ons kan data skaal in nuwe waardes wat makliker is om te vergelyk.

Kyk bietjie na die tabel hieronder, dit is dieselfde datastel wat ons in die meervoudige regressie hoofstuk gebruik het, maar hierdie keer bevat die volume kolom waardes in liter in plaas van cm 3 (1.0 in plaas van 1000).

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

Voertuig Model Volume Gewig CO2
Toyota Aygo 1.0 790 99
Mitsubishi Ruimte Ster 1.2 1160 95
Skoda Citigo 1.0 929 95
Fiat 500 0,9 865 90
Mini Cooper 1.5 1140 105
VW Op! 1.0 929 105
Skoda Fabia 1.4 1109 90
Mercedes A-klas 1.5 1365 92
Ford Fiesta 1.5 1112 98
Audi A1 1.6 1150 99
Hyundai I20 1.1 980 99
Suzuki Swift 1.3 990 101
Ford Fiesta 1.0 1112 99
Honda Burgerlik 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 Vinnig 1.6 1119 104
Ford Fokus 2.0 1328 105
Ford Mondeo 1.6 1584 94
Opel Kenteken 2.0 1428 99
Mercedes C-klas 2.1 1365 99
Skoda 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-klas 2.1 1605 115
Volvo XC70 2.0 1746 117
Ford B-Maks 1.6 1235 104
BMW 2 1.6 1390 108
Opel Zafira 1.6 1405 109
Mercedes SLK 2.5 1395 120

Dit kan moeilik wees om die volume 1.0 met die gewig 790 te vergelyk, maar as ons albei in vergelykbare waardes skaal, kan ons maklik sien hoeveel een waarde met die ander vergelyk word.

Daar is verskillende metodes om data te skaal, in hierdie tutoriaal sal ons 'n metode genaamd standaardisering gebruik.

Die standaardiseringsmetode gebruik hierdie formule:

z = (x - u) / s

Waar zis die nuwe waarde, xis die oorspronklike waarde, uis die gemiddelde en sis die standaardafwyking.

As jy die gewigkolom uit die datastel hierbo neem, is die eerste waarde 790, en die geskaalde waarde sal wees:

(790 - ) / = -2.1

As jy die volumekolom uit die datastel hierbo neem, is die eerste waarde 1.0, en die geskaalde waarde sal wees:

(1.0 - ) / = -1.59

Nou kan jy -2.1 vergelyk met -1.59 in plaas van om 790 met 1.0 te vergelyk.

Jy hoef dit nie handmatig te doen nie, die Python sklearn-module het 'n metode genaamd StandardScaler() wat 'n Scaler-objek terugstuur met metodes om datastelle te transformeer.

Voorbeeld

Skaal alle waardes in die Gewig- en Volume-kolomme:

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)

Resultaat:

Let daarop dat die eerste twee waardes -2.1 en -1.59 is, wat ooreenstem met ons berekeninge:

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


Voorspel CO2-waardes

Die taak in die Hoofstuk Meervoudige Regressie was om die CO2-vrystelling van 'n motor te voorspel wanneer jy net sy gewig en volume geweet het.

Wanneer die datastel geskaal is, sal jy die skaal moet gebruik wanneer jy waardes voorspel:

Voorbeeld

Voorspel die CO2-vrystelling van 'n 1,3 liter-motor wat 2300 kilogram weeg:

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)

Resultaat:

[107.2087328]