मशीन शिक्षा - मल्टीपल रिग्रेशन
- पिछला पृष्ठ बहुपदांक रीग्रेशन
- अगला पृष्ठ जगह कम करें
मल्टीपल रिग्रेशन (Multiple Regression)
मल्टीपल रिग्रेशन लाइनर रिग्रेशन की तरह है, लेकिन कई स्वतंत्र मूल्यों के साथ, इसलिए हम दो या अधिक वेरिएबल्स के आधार पर एक मूल्य की भविष्यवाणी करने की कोशिश करते हैं।
कृपया नीचे डाटासेट को देखें जिसमें कुछ ऑटोमोबाइल के बारे में जानकारी है।
Car | Model | Volume | Weight | CO2 |
---|---|---|---|---|
Toyota | Aygo | 1000 | 790 | 99 |
Mitsubishi | Space Star | 1200 | 1160 | 95 |
Skoda | Citigo | 1000 | 929 | 95 |
Fiat | 500 | 900 | 865 | 90 |
Mini | Cooper | 1500 | 1140 | 105 |
VW | Up! | 1000 | 929 | 105 |
Skoda | Fabia | 1400 | 1109 | 90 |
Mercedes | A-Class | 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 | Civic | 1600 | 1252 | 94 |
Hundai | I30 | 1600 | 1326 | 97 |
Opel | Astra | 1600 | 1330 | 97 |
BMW | 1 | 1600 | 1365 | 99 |
Mazda | 3 | 2200 | 1280 | 104 |
Skoda | Rapid | 1600 | 1119 | 104 |
Ford | Focus | 2000 | 1328 | 105 |
Ford | Mondeo | 1600 | 1584 | 94 |
Opel | Insignia | 2000 | 1428 | 99 |
Mercedes | C-Class | 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-Class | 2100 | 1605 | 115 |
Volvo | XC70 | 2000 | 1746 | 117 |
Ford | B-Max | 1600 | 1235 | 104 |
BMW | 2 | 1600 | 1390 | 108 |
Opel | Zafira | 1600 | 1405 | 109 |
Mercedes | SLK | 2500 | 1395 | 120 |
我们可以根据发动机排量的大小预测汽车的二氧化碳排放量,但是通过多元回归,我们可以引入更多变量,例如汽车的重量,以使预测更加准确。
工作原理
हम इंजन के आयतन के आकार के आधार पर वाहन के कार्बन डाई ऑक्साइड उत्सर्जन की भविष्यवाणी कर सकते हैं, लेकिन बहुवृत्तीय रीज़न के माध्यम से, हम अधिक वेरिएबल्स, जैसे कि वाहन का भार, शामिल करके भविष्यवाणी को अधिक सटीक बना सकते हैं।
import pandas
वर्तना
Python में, हम कुछ मॉड्यूलों का उपयोग करते हैं जो इस काम को पूरा कर सकते हैं। पहले Pandas मॉड्यूल को आयात करें:Pandas मॉड्यूल हमें csv फ़ाइल को पढ़ने और DataFrame ऑब्जैक्ट बनाने की अनुमति देता है।
df = pandas.read_csv("cars.csv")
यह फ़ाइल केवल परीक्षण के लिए प्रयोग की जाती है, आप यहाँ से डाउनलोड कर सकते हैं:
cars.csv
X = df[['Weight', 'Volume']] y = df['CO2']
फिर स्वतंत्र मान को सूचीबद्ध करें और इस वेरिएबल को 'X' में नामित करें。संबंधित मान को नाम 'y' में डालें। 提示:
आमतौर पर, स्वतंत्र मान की सूची को उच्चे अक्षरों से नामित करें X
से संबंधित मान की सूची को निचले अक्षरों से नामित करें
y
from sklearn import linear_model
sklearn मॉड्यूल में, हम कुछ मॉड्यूल के कुछ तरीकों का उपयोग करेंगे, इसलिए हम इस मॉड्यूल को आयात करना चाहते हैं: sklearn मॉड्यूल में, हम यही करेंगे
LinearRegression()
इस ऑब्जैक्ट के एक नाम fit()
यह तरीका
regr = linear_model.LinearRegression() regr.fit(X, y)
अब, हमारे पास एक रीज़न ऑब्जैक्ट है, जो वाहन के भार और आयतन के आधार पर CO2 मान की भविष्यवाणी कर सकता है:
# 2300kg भार और 1300ccm आयतन वाले वाहन के कार्बन डाई ऑक्साइड उत्सर्जन की भविष्यवाणी करने के लिए: predictedCO2 = regr.predict([[2300, 1300]])
उदाहरण
देखें पूरा उदाहरण:
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) # 2300kg भार और 1300ccm आयतन वाले वाहन के कार्बन डाई ऑक्साइड उत्सर्जन की भविष्यवाणी करने के लिए: predictedCO2 = regr.predict([[2300, 1300]]) print(predictedCO2)
परिणाम:
[107.2087328]
हम यह पूर्वानुमान करते हैं कि 1.3 लीटर इंजन वाले 2300 किलोग्राम भार के वाहन के प्रति किलोमीटर चलने पर लगभग 107 ग्राम कार्बन डाई ऑक्साइड उत्सर्जित होगा।
कोएफ़िशिएंट
कोएफ़िशिएंट अनजानता मान के साथ के संबंध के वर्णनकारी फ़ैक्टर है।
उदाहरण: यदि x
एक वेरिएबल है, तो 2x
यह x
के दोगुना है।x
यह अनजानता मान है, संख्या 2
यह कोएफ़िशिएंट है।
इस मामले में, हम भार के अनुपात में CO2 के कोएफ़िशिएंट के मान और आयतन के अनुपात में CO2 के कोएफ़िशिएंट के मान की मांग कर सकते हैं। हमारे प्राप्त जवाब हमें बताते हैं कि यदि हम किसी एक स्वतंत्र मान को बढ़ाए या कम करें, तो क्या होगा।
उदाहरण
रिटर्न रीज़न ऑब्जैक्ट के कोएफ़िशिएंट के मान को छापें:
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_)
परिणाम:
[0.00755095 0.00780526]
परिणाम व्याख्या
परिणाम सरलेखा प्रतिनिधित्व करता है भार और आयतन के कोएफ़िशिएंट के मान।
भार: 0.00755095 आयतन: 0.00780526
ये वाल्यूज़ हमें बताते हैं कि यदि भार 1g बढ़ता है, तो CO2 उत्सर्जन 0.00755095g बढ़ जाएगा।
यदि इंजन के आकार (आयतन) 1 ccm बढ़ता है, तो CO2 उत्सर्जन 0.00780526g बढ़ जाएगा।
मुझे लगता है कि यह एक उचित अनुमान है, लेकिन क्या आप इसे परीक्षण करें?
हमने पहले से ही भविष्यवाणी की है कि 1300ccm इंजन वाली 2300 किलोग्राम भार के कार को दोहरा करने से कार्बन डाइऑक्साइड उत्सर्जन लगभग 107 ग्राम होगा。
अगर 1000g का भार जोड़ा जाए तो क्या होगा?
उदाहरण
पिछले उदाहरण को दुबारा बनाएं, लेकिन कार के भार को 2300 से 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)
परिणाम:
[114.75968007]
हमने भविष्यवाणी की है कि 1.3 लीटर इंजन वाली और 3.3 टन भार के वाहन प्रति 1 किलोमीटर 115 ग्राम कार्बन डाइऑक्साइड रिलीज करेगा。
यह इंगित करता है कि 0.00755095 का समीकरण सही है:
107.2087328 + (1000 * 0.00755095) = 114.75968
- पिछला पृष्ठ बहुपदांक रीग्रेशन
- अगला पृष्ठ जगह कम करें