R में lm() के साथ predict() फ़ंक्शन का उपयोग कैसे करें
R में lm() फ़ंक्शन का उपयोग रैखिक प्रतिगमन मॉडल को फिट करने के लिए किया जा सकता है।
एक बार जब हम एक मॉडल फिट कर लेते हैं, तो हम एक नए अवलोकन के प्रतिक्रिया मूल्य की भविष्यवाणी करने के लिए पूर्वानुमान () फ़ंक्शन का उपयोग कर सकते हैं।
यह फ़ंक्शन निम्नलिखित सिंटैक्स का उपयोग करता है:
भविष्यवाणी (वस्तु, नया डेटा, प्रकार = “प्रतिक्रिया”)
सोना:
- ऑब्जेक्ट: glm() फ़ंक्शन का उपयोग करके मॉडल समायोजन का नाम
- न्यूडेटा: पूर्वानुमान लगाने के लिए नए डेटा फ़्रेम का नाम
- प्रकार: की जाने वाली भविष्यवाणी का प्रकार।
निम्नलिखित उदाहरण दिखाता है कि आर में एक रैखिक प्रतिगमन मॉडल को फिट करने के लिए एलएम() फ़ंक्शन का उपयोग कैसे करें, और फिर एक नए अवलोकन के प्रतिक्रिया मूल्य की भविष्यवाणी करने के लिए भविष्यवाणी() फ़ंक्शन का उपयोग कैसे करें जिसे मॉडल ने पहले कभी नहीं देखा है।
उदाहरण: R में lm() के साथ Predict() फ़ंक्शन का उपयोग करना
मान लीजिए कि हमारे पास आर में निम्नलिखित डेटा फ्रेम है जिसमें विभिन्न बास्केटबॉल खिलाड़ियों के बारे में जानकारी है:
#create data frame df <- data. frame (minutes=c(5, 10, 13, 14, 20, 22, 26, 34, 38, 40), fouls=c(5, 5, 3, 4, 2, 1, 3, 2, 1, 1), points=c(6, 8, 8, 7, 14, 10, 22, 24, 28, 30)) #view data frame df minutes fouls points 1 5 5 6 2 10 5 8 3 13 3 8 4 14 4 7 5 20 2 14 6 22 1 10 7 26 3 22 8 34 2 24 9 38 1 28 10 40 1 30
मान लीजिए कि हम प्रत्येक खिलाड़ी द्वारा बनाए गए अंकों की संख्या का अनुमान लगाने के लिए खेले गए मिनटों और कुल फाउल का उपयोग करके निम्नलिखित एकाधिक रैखिक प्रतिगमन मॉडल लागू करना चाहते हैं:
अंक = β 0 + β 1 (मिनट) + β 2 (फ़ाउल)
हम इस मॉडल को अनुकूलित करने के लिए lm() फ़ंक्शन का उपयोग कर सकते हैं:
#fit multiple linear regression model fit <- lm(points ~ minutes + fouls, data=df) #view summary of model summary(fit) Call: lm(formula = points ~ minutes + fouls, data = df) Residuals: Min 1Q Median 3Q Max -3.5241 -1.4782 0.5918 1.6073 2.0889 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -11.8949 4.5375 -2.621 0.0343 * minutes 0.9774 0.1086 9.000 4.26e-05 *** fouls 2.1838 0.8398 2.600 0.0354 * --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 2.148 on 7 degrees of freedom Multiple R-squared: 0.959, Adjusted R-squared: 0.9473 F-statistic: 81.93 on 2 and 7 DF, p-value: 1.392e-05
मॉडल परिणामों से गुणांकों का उपयोग करके, हम फिटेड रिग्रेशन समीकरण लिख सकते हैं:
अंक = -11.8949 + 0.9774 (मिनट) + 2.1838 (फ़ाउल)
फिर हम यह अनुमान लगाने के लिए भविष्यवाणी() फ़ंक्शन का उपयोग कर सकते हैं कि एक खिलाड़ी जो 15 मिनट तक खेलता है और कुल 3 फ़ाउल करता है, उसे कितने अंक मिलेंगे:
#define new observation
newdata = data. frame (minutes=15, fouls=3)
#use model to predict points value
predict(fit, newdata)
1
9.317731
मॉडल का अनुमान है कि यह खिलाड़ी 9.317731 अंक अर्जित करेगा।
ध्यान दें कि यदि हमारे पास कई नए अवलोकनों वाला डेटा फ्रेम है तो हम एक साथ कई भविष्यवाणियां भी कर सकते हैं।
उदाहरण के लिए, निम्नलिखित कोड दिखाता है कि तीन खिलाड़ियों के बिंदु मानों की भविष्यवाणी करने के लिए फिटेड रिग्रेशन मॉडल का उपयोग कैसे करें:
#define new data frame of three cars
newdata = data. frame (minutes=c(15, 20, 25),
fouls=c(3, 2, 1))
#view data frame
newdata
minutes fouls
1 15 3
2 20 2
3 25 1
#use model to predict points for all three players
predict(model, newdata)
1 2 3
9.317731 12.021032 14.724334
यहां परिणाम की व्याख्या करने का तरीका बताया गया है:
- 15 मिनट और 3 फाउल वाले खिलाड़ी के लिए अंकों की अपेक्षित संख्या 9.32 है।
- 20 मिनट और 2 फाउल वाले खिलाड़ी के लिए अंकों की अपेक्षित संख्या 12.02 है।
- 25 मिनट और 1 फाउल वाले खिलाड़ी के लिए अपेक्षित अंक 14.72 हैं।
पूर्वानुमान() का उपयोग करने पर नोट्स
नए डेटा फ़्रेम में कॉलम नाम डेटा फ़्रेम में उन कॉलम नामों से बिल्कुल मेल खाना चाहिए जिनका उपयोग मॉडल बनाने के लिए किया गया था।
ध्यान दें कि हमारे पिछले उदाहरण में, मॉडल बनाने के लिए हमने जिस डेटा फ़्रेम का उपयोग किया था, उसमें हमारे भविष्यवक्ता चर के लिए निम्नलिखित कॉलम नाम शामिल थे:
- मिनट
- गलतियां
इसलिए जब हमने न्यूडेटा नामक नया डेटा फ़्रेम बनाया, तो हमने कॉलमों को भी नाम देना सुनिश्चित किया:
- मिनट
- गलतियां
यदि कॉलम नाम मेल नहीं खाते हैं, तो आपको निम्न त्रुटि संदेश प्राप्त होगा:
Error in eval(predvars, data, env)
पूर्वानुमान() फ़ंक्शन का उपयोग करते समय इसे ध्यान में रखें।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि आर में अन्य सामान्य कार्य कैसे करें:
आर में सरल रैखिक प्रतिगमन कैसे करें
आर में मल्टीपल लीनियर रिग्रेशन कैसे करें
आर में बहुपद प्रतिगमन कैसे करें
आर में पूर्वानुमान अंतराल कैसे बनाएं