मशीन लर्निंग - स्केलिंग
- पिछला पृष्ठ बहुगुणा विकल्प
- अगला पृष्ठ प्रशिक्षण/परीक्षण
फ़ीचर स्केल (Scale Features)
जब आपके डाटा अलग-अलग मूल्यों के होते हैं, या फिर अलग-अलग मापदंडों का उपयोग करते हैं, तो उनकी तुलना करना मुश्किल हो सकता है।मीटर की तुलना में किलोग्राम क्या है? या ऊंचाई की तुलना समय से क्या है?
इस सवाल का जवाब स्केलिंग है।हम डाटा को तुलना करने के लिए आसान नए मूल्यों में स्केल कर सकते हैं。
यहाँ की तालिका देखिए, जो हमारेबहुगुणा विकल्पएकवां अध्याय में इस्तेमाल की गई डाटासेट एकसी है, लेकिन इस बार, आयतन स्तम्भ में इकाई लीटर है, न कि ccm (1.0 नहीं 1000).
कार | मॉडल | आयतन | भार | CO2 |
---|---|---|---|---|
टोयोटा | अयगो | 1.0 | 790 | 99 |
मित्सुबिशी | स्पेस स्टार | 1.2 | 1160 | 95 |
Skoda | सिटिगो | 1.0 | 929 | 95 |
फियात | 500 | 0.9 | 865 | 90 |
मिनी | कूपर | 1.5 | 1140 | 105 |
वीडब्ल्यू | अप! | 1.0 | 929 | 105 |
Skoda | फैबिया | 1.4 | 1109 | 90 |
Mercedes | A-क्लास | 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 | Civic | 1.6 | 1252 | 94 |
Hundai | I30 | 1.6 | 1326 | 97 |
Opel | Astra | 1.6 | 1330 | 97 |
BMW | 1 | 1.6 | 1365 | 99 |
Mazda | 3 | 2.2 | 1280 | 104 |
Skoda | Rapid | 1.6 | 1119 | 104 |
Ford | Focus | 2.0 | 1328 | 105 |
Ford | Mondeo | 1.6 | 1584 | 94 |
Opel | Insignia | 2.0 | 1428 | 99 |
Mercedes | C-Class | 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.7 | 1523 | 109 |
BMW | 5 | 2.0 | 1705 | 114 |
Mercedes | E-Class | 2.1 | 1605 | 115 |
Volvo | XC70 | 2.0 | 1746 | 117 |
Ford | B-Max | 1.6 | 1235 | 104 |
BMW | 2 | 1.6 | 1390 | 108 |
Opel | Zafira | 1.6 | 1405 | 109 |
Mercedes | SLK | 2.5 | 1395 | 120 |
1.0 के आकार को 790 के वजन के साथ तुलना करना मुश्किल है, लेकिन यदि दोनों को तुलनायोग्य मूल्यों में स्केल किया जाए, तो हम आसानी से एक मूल्य को दूसरे के साथ कितना तुलना कर सकते हैं。
स्केलिंग डेटा कई तरीकों से किया जा सकता है, इस ट्यूटोरियल में, हम एक नाम स्केलराइजेशन (standardization) का उपयोग करेंगे。
स्केलिंग विधि निम्न प्रविधि का उपयोग करती है:
z = (x - u) / s
जहां z नई मूल्य है, x मूल मूल्य है, u औसत है, s मानक त्रिज्या है。
यदि आपको उपरोक्त डेटा सेट से वेट स्तम्भ से मिलता है, तो पहला मूल्य 790 होगा, स्केल किए गए मूल्य:
(790 - 1292.23) / 238.74 = -2.1
यदि आपको उपरोक्त डेटा सेट से वॉल्यूम स्तम्भ के मामले में, पहला मूल्य 1.0 होगा, स्केल किए गए मूल्य:
(1.0 - 1.61) / 0.38 = -1.59
अब, आप -2.1 को -1.59 से तुलना कर सकते हैं, नहीं कि 790 को 1.0 से तुलना कर सकते हैं。
आपको इस का हस्तक्षेप नहीं करना होगा, पायथॉन sklearn मोड्यूल में एक नाम है StandardScaler()
विधि का उपयोग करता है जो स्केलर ऑब्जैक्ट को रिटर्न करता है जो डेटा सेट को ट्रांसफॉर्म करता है。
उदाहरण
वेट और वॉल्यूम स्तम्भ के सभी मूल्यों को फैक्टर करें:
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)
परिणाम:
कृपया ध्यान दें कि पहले दो मूल्य -2.1 और -1.59 हैं और हमारी गणना से मेल खाते हैं:
[[-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]
CO2 वैल्यू पूर्वानुमान करें
बहुगुणा विकल्पएक चैप्टर का कार्य केवल कार के भार और इंजन द्वारा उत्सर्जित कार्बन डाइऑक्साइड को पूर्वानुमान करने के लिए है।
डेटा सेट को स्केलिंग करने के बाद, पूर्वानुमान में अनिवार्य रूप से स्केलिंग परिमाण का उपयोग करना होगा:
उदाहरण
2300 किलोग्राम वजन वाले 1.3 लीटर के कार के कार्बन डाइऑक्साइड उत्सर्जन को पूर्वानुमान करें:
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)
परिणाम:
[107.2087328]
- पिछला पृष्ठ बहुगुणा विकल्प
- अगला पृष्ठ प्रशिक्षण/परीक्षण