Masshtablash


ULASHISH

Masshtab xususiyatlari

Ma’lumotlaringiz turli qiymatlarga va hatto turli o‘lchov birliklariga ega bo‘lsa, ularni solishtirish qiyin bo‘lishi mumkin. Kilogramm metrga nisbatan nima? Yoki vaqtga nisbatan balandlikmi?

Bu muammoning javobi masshtablashdir. Biz ma’lumotlarni solishtirish osonroq bo‘lgan yangi qiymatlarga o‘tkazishimiz mumkin.

Quyidagi jadvalni ko‘rib chiqing, bu biz ko‘p regressiya bobida foydalangan bir xil ma’lumotlar to‘plamidir, ammo bu safar hajm ustunida sm3 o‘rniga litrdagi qiymatlar mavjud (1000 o‘rniga 1,0).

Avtomobil Model Ovoz balandligi Og‘irligi CO2
Toyota Aygo 1.0 790 99
Mitsubishi Kosmik yulduz 1.2 1160 95
Skoda Citigo 1.0 929 95
Fiat 500 0.9 865 90
Mini Kuper 1.5 1140 105
VW Up! 1.0 929 105
Skoda Fabia 1.4 1109 90
Mersedes A-sinfi 1.5 1365 92
Ford Fiesta 1.5 1112 98
Audi A1 1.6 1150 99
Hyundai I20 1.1 980 99
Suzuki Tezkor 1.3 990 101
Ford Fiesta 1.0 1112 99
Honda Fuqarolik 1.6 1252 94
Hunday I30 1.6 1326 97
Opel Astra 1.6 1330 97
BMW 1 1.6 1365 99
Mazda 3 2.2 1280 104
Skoda Tez 1.6 1119 104
Ford Diqqat 2.0 1328 105
Ford Mondeo 1.6 1584 94
Opel Belgilar 2.0 1428 99
Mersedes C-sinfi 2.1 1365 99
Skoda Octavia 1.6 1415 99
Volvo S60 2.0 1415 99
Mersedes 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
Mersedes E-Class 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
Mersedes SLK 2.5 1395 120

1.0 hajmini og‘irligi 790 bilan solishtirish qiyin bo‘lishi mumkin, ammo agar biz ularni taqqoslanadigan qiymatlarga o‘tkazsak, biz bir qiymat boshqasiga qanchalik solishtirilganini osongina ko‘rishimiz mumkin.

Ma’lumotlarni masshtablashning turli usullari mavjud, bu qo‘llanmada biz standartlashtirish deb ataladigan usuldan foydalanamiz.

Standartlashtirish usuli quyidagi formuladan foydalanadi:

z = (x - u) / s

Bu erda z - yangi qiymat, x - asl qiymat, u - o‘rtacha va s - standart og‘ish.

Agar siz yuqoridagi ma’lumotlar to‘plamidan vazn ustunini olsangiz, birinchi qiymat 790 ga teng bo‘ladi va o‘lchov qiymati quyidagicha bo‘ladi:

(790 - 1292.23) / 238.74 = -2.1

Agar siz yuqoridagi ma’lumotlar to‘plamidan ovoz balandligi ustunini olsangiz, birinchi qiymat 1,0 ga teng va o‘lchovli qiymat quyidagicha bo‘ladi:

(1.0 - 1.61) / 0.38 = -1.59

Endi siz 790 ni 1,0 bilan solishtirish o‘rniga -2,1ni -1,59 bilan solishtirishingiz mumkin.

Buni qo‘lda qilish shart emas, Python sklearn modulida StandardScaler() deb nomlangan usul mavjud bo‘lib, u ma’lumotlar to‘plamini o‘zgartirish usullari bilan Scaler obyektini qaytaradi.

Misol

Og‘irligi va hajmi ustunlaridagi barcha qiymatlarni masshtablash:

import pandas from sklearn import linear_model from sklearn.preprocessing import StandardScaler scale = StandardScaler() df = pandas.read_csv("data.csv") X = df[['Weight', 'Volume']] scaledX = scale.fit_transform(X) print(scaledX)

Natija:

E’tibor bering, dastlabki ikkita qiymat -2,1 va -1,59 ni tashkil qiladi, bu bizning hisob-kitoblarimizga mos keladi:

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

Misolni ishga tushirish »



CO2 qiymatlarini bashorat qilish

Ko‘p regressiya bobidagi vazifa avtomobilning og‘irligi va hajmini bilganingizda CO2 emissiyasini taxmin qilish edi.

Ma’lumotlar to‘plami masshtablanganda, siz qiymatlarni bashorat qilishda o‘lchovdan foydalanishingiz kerak bo‘ladi:

Misol

Og‘irligi 2300 kilogramm bo‘lgan 1,3 litrli avtomobildan CO2 emissiyasini taxmin qiling:

import pandas from sklearn import linear_model from sklearn.preprocessing import StandardScaler scale = StandardScaler() df = pandas.read_csv("data.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)

Natija:

[107.2087328]

Misolni ishga tushirish »


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!