आर में जीएलएम के साथ पूर्वानुमान फ़ंक्शन का उपयोग कैसे करें (उदाहरण के साथ)
आर में glm() फ़ंक्शन का उपयोग सामान्यीकृत रैखिक मॉडल को फिट करने के लिए किया जा सकता है। यह सुविधा विशेष रूप से लॉजिस्टिक रिग्रेशन मॉडल , पॉइसन रिग्रेशन मॉडल और अन्य जटिल मॉडल को फिट करने के लिए उपयोगी है।
एक बार जब हम एक मॉडल फिट कर लेते हैं, तो हम एक नए अवलोकन के प्रतिक्रिया मूल्य की भविष्यवाणी करने के लिए पूर्वानुमान () फ़ंक्शन का उपयोग कर सकते हैं।
यह फ़ंक्शन निम्नलिखित सिंटैक्स का उपयोग करता है:
भविष्यवाणी (वस्तु, नया डेटा, प्रकार = “प्रतिक्रिया”)
सोना:
- ऑब्जेक्ट: glm() फ़ंक्शन का उपयोग करके मॉडल समायोजन का नाम
- न्यूडेटा: पूर्वानुमान लगाने के लिए नए डेटा फ़्रेम का नाम
- प्रकार: की जाने वाली भविष्यवाणी का प्रकार।
निम्नलिखित उदाहरण दिखाता है कि आर में एक सामान्यीकृत रैखिक मॉडल को कैसे फिट किया जाए और फिर एक नए अवलोकन के प्रतिक्रिया मूल्य की भविष्यवाणी करने के लिए मॉडल का उपयोग कैसे किया जाए जो उसने पहले कभी नहीं देखा है।
उदाहरण: आर में जीएलएम के साथ पूर्वानुमान फ़ंक्शन का उपयोग करना
इस उदाहरण के लिए, हम mtcars नामक अंतर्निहित R डेटासेट का उपयोग करेंगे:
#view first six rows of mtcars data frame
head(mtcars)
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3,460 20.22 1 0 3 1
हम निम्नलिखित लॉजिस्टिक रिग्रेशन मॉडल को फिट करेंगे जिसमें हम प्रतिक्रिया चर am (कार का ट्रांसमिशन प्रकार: 0 = स्वचालित, 1 = मैनुअल) की भविष्यवाणी करने के लिए वेरिएबल disp और hp का उपयोग करते हैं।
#fit logistic regression model model <- glm(am ~ disp + hp, data=mtcars, family=binomial) #view model summary summary(model) Call: glm(formula = am ~ disp + hp, family = binomial, data = mtcars) Deviance Residuals: Min 1Q Median 3Q Max -1.9665 -0.3090 -0.0017 0.3934 1.3682 Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) 1.40342 1.36757 1.026 0.3048 available -0.09518 0.04800 -1.983 0.0474 * hp 0.12170 0.06777 1.796 0.0725 . --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 (Dispersion parameter for binomial family taken to be 1) Null deviance: 43,230 on 31 degrees of freedom Residual deviance: 16,713 on 29 degrees of freedom AIC: 22,713 Number of Fisher Scoring iterations: 8
फिर हम निम्नलिखित कोड का उपयोग करके इस मॉडल का उपयोग इस संभावना का अनुमान लगाने के लिए कर सकते हैं कि एक नई कार में स्वचालित ट्रांसमिशन (am=0) या मैन्युअल ट्रांसमिशन (am=1) होगा:
#define new observation
newdata = data. frame (disp=200, hp=100)
#use model to predict value of am
predict(model, newdata, type=" response ")
1
0.00422564
मॉडल भविष्यवाणी करता है कि नई कार में मैनुअल ट्रांसमिशन (am=1) होने की संभावना 0.004 है। इसका मतलब है कि पूरी संभावना है कि यह नई कार ऑटोमैटिक ट्रांसमिशन के साथ आएगी।
ध्यान दें कि यदि हमारे पास कई नई कारों वाला डेटाबेस है तो हम एक साथ कई भविष्यवाणियां भी कर सकते हैं।
उदाहरण के लिए, निम्नलिखित कोड दिखाता है कि तीन नई कारों के लिए मैन्युअल ट्रांसमिशन की संभावना का अनुमान लगाने के लिए फिट किए गए मॉडल का उपयोग कैसे करें:
#define new data frame of three cars
newdata = data. frame (disp=c(200, 180, 160),
hp=c(100, 90, 108))
#view data frame
newdata
hp disp
1,200 100
2 180 90
3,160,108
#use model to predict value of am for all three cars
predict(model, newdata, type=" response ")
1 2 3
0.004225640 0.008361069 0.335916069
यहां परिणाम की व्याख्या करने का तरीका बताया गया है:
- कार 1 में मैन्युअल ट्रांसमिशन होने की प्रायिकता 0.004 है।
- कार 2 में मैनुअल ट्रांसमिशन होने की संभावना 0.008 है।
- कार 3 में मैनुअल ट्रांसमिशन होने की संभावना 0.336 है।
टिप्पणियाँ
नए डेटा फ़्रेम में कॉलम नाम डेटा फ़्रेम में उन कॉलम नामों से बिल्कुल मेल खाना चाहिए जिनका उपयोग मॉडल बनाने के लिए किया गया था।
ध्यान दें कि हमारे पिछले उदाहरण में, मॉडल बनाने के लिए हमने जिस डेटा फ़्रेम का उपयोग किया था, उसमें हमारे भविष्यवक्ता चर के लिए निम्नलिखित कॉलम नाम शामिल थे:
- प्रदर्शन
- हिमाचल प्रदेश
इसलिए जब हमने न्यूडेटा नामक नया डेटा फ़्रेम बनाया, तो हमने कॉलमों को भी नाम देना सुनिश्चित किया:
- प्रदर्शन
- हिमाचल प्रदेश
यदि कॉलम नाम मेल नहीं खाते हैं, तो आपको निम्न त्रुटि संदेश प्राप्त होगा:
eval में त्रुटि (पूर्ववर्ती, डेटा, env)
पूर्वानुमान() फ़ंक्शन का उपयोग करते समय इसे ध्यान में रखें।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि आर में अन्य सामान्य कार्य कैसे करें:
आर में सरल रैखिक प्रतिगमन कैसे करें
आर में मल्टीपल लीनियर रिग्रेशन कैसे करें
आर में बहुपद प्रतिगमन कैसे करें
आर में पूर्वानुमान अंतराल कैसे बनाएं