उत्तर: प्रशिक्षण मापदंडों को नियंत्रित करने के लिए ट्रेनकंट्रोल का उपयोग कैसे करें
यह आकलन करने के लिए कि कोई मॉडल किसी डेटासेट में कितनी अच्छी तरह फिट होने में सक्षम है, हमें उन अवलोकनों पर उसके प्रदर्शन का विश्लेषण करने की आवश्यकता है जो उसने पहले कभी नहीं देखे हैं।
इसे प्राप्त करने के सबसे सामान्य तरीकों में से एक है के-फ़ोल्ड क्रॉस-वैलिडेशन का उपयोग करना, जो निम्नलिखित दृष्टिकोण का उपयोग करता है:
1. किसी डेटा सेट को यादृच्छिक रूप से लगभग समान आकार के k समूहों, या “फोल्ड्स” में विभाजित करें।
2. रिस्ट्रेन्ट सेट के रूप में किसी एक फोल्ड को चुनें। टेम्पलेट को शेष k-1 फ़ोल्ड में समायोजित करें। तनावग्रस्त प्लाई में अवलोकनों पर एमएसई परीक्षण की गणना करें।
3. इस प्रक्रिया को k बार दोहराएं, हर बार बहिष्करण सेट के रूप में एक अलग सेट का उपयोग करें।
4. k परीक्षण MSEs के औसत के रूप में समग्र परीक्षण MSE की गणना करें।
आर में के-फोल्ड क्रॉस-वैलिडेशन करने का सबसे आसान तरीका आर में कैरेट लाइब्रेरी से ट्रेनकंट्रोल() और ट्रेन() फ़ंक्शन का उपयोग करना है।
ट्रेनकंट्रोल() फ़ंक्शन का उपयोग प्रशिक्षण मापदंडों को निर्दिष्ट करने के लिए किया जाता है (उदाहरण के लिए उपयोग करने के लिए क्रॉस-वैलिडेशन का प्रकार, उपयोग करने के लिए फोल्ड की संख्या, आदि) और ट्रेन() फ़ंक्शन का उपयोग वास्तव में मॉडल को डेटा में फिट करने के लिए किया जाता है। .
निम्नलिखित उदाहरण दिखाता है कि व्यवहार में ट्रेनकंट्रोल() और ट्रेन() फ़ंक्शंस का उपयोग कैसे करें।
उदाहरण: आर में ट्रेनकंट्रोल() का उपयोग कैसे करें
मान लीजिए कि हमारे पास R में निम्नलिखित डेटासेट हैं:
#create data frame df <- data.frame(y=c(6, 8, 12, 14, 14, 15, 17, 22, 24, 23), x1=c(2, 5, 4, 3, 4, 6, 7, 5, 8, 9), x2=c(14, 12, 12, 13, 7, 8, 7, 4, 6, 5)) #view data frame df y x1 x2 6 2 14 8 5 12 12 4 12 14 3 13 14 4 7 15 6 8 17 7 7 22 5 4 24 8 6 23 9 5
अब मान लीजिए कि हम इस डेटा सेट में एकाधिक रैखिक प्रतिगमन मॉडल को फिट करने के लिए एलएम() फ़ंक्शन का उपयोग करते हैं, एक्स 1 और एक्स 2 को भविष्यवक्ता चर के रूप में और वाई को प्रतिक्रिया चर के रूप में उपयोग करते हैं:
#fit multiple linear regression model to data fit <- lm(y ~ x1 + x2, data=df) #view model summary summary(fit) Call: lm(formula = y ~ x1 + x2, data = df) Residuals: Min 1Q Median 3Q Max -3.6650 -1.9228 -0.3684 1.2783 5.0208 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 21.2672 6.9927 3.041 0.0188 * x1 0.7803 0.6942 1.124 0.2981 x2 -1.1253 0.4251 -2.647 0.0331 * --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 3.093 on 7 degrees of freedom Multiple R-squared: 0.801, Adjusted R-squared: 0.7441 F-statistic: 14.09 on 2 and 7 DF, p-value: 0.003516
मॉडल आउटपुट में गुणांकों का उपयोग करके, हम फिटेड रिग्रेशन मॉडल लिख सकते हैं:
y = 21.2672 + 0.7803*(x 1 ) – 1.1253(x 2 )
यह मॉडल अनदेखी टिप्पणियों पर कितना अच्छा प्रदर्शन करता है, इसका अंदाजा लगाने के लिए, हम के-फोल्ड क्रॉस-वैलिडेशन का उपयोग कर सकते हैं।
निम्नलिखित कोड दिखाता है कि के-फोल्ड क्रॉस-वैलिडेशन ( मेथड = “सीवी” ) को निर्दिष्ट करने के लिए कैरेट पैकेज के ट्रेनकंट्रोल () फ़ंक्शन का उपयोग कैसे करें जो 5 फोल्ड ( नंबर = 5 ) का उपयोग करता है।
फिर हम वास्तव में के-फोल्ड क्रॉस-वैलिडेशन करने के लिए इस ट्रेनकंट्रोल() फ़ंक्शन को ट्रेन() फ़ंक्शन में पास करते हैं:
library (caret) #specify the cross-validation method ctrl <- trainControl(method = " cv ", number = 5 ) #fit a regression model and use k-fold CV to evaluate performance model <- train(y ~ x1 + x2, data = df, method = " lm ", trControl = ctrl) #view summary of k-fold CV print (model) Linear Regression 10 samples 2 predictors No pre-processing Resampling: Cross-Validated (5 fold) Summary of sample sizes: 8, 8, 8, 8, 8 Resampling results: RMSE Rsquared MAE 3.612302 1 3.232153 Tuning parameter 'intercept' was held constant at a value of TRUE
परिणाम से हम देख सकते हैं कि मॉडल को हर बार 8 अवलोकनों के नमूना आकार का उपयोग करके 5 बार फिट किया गया था।
हर बार, मॉडल का उपयोग 2 बरकरार रखी गई टिप्पणियों के मूल्यों की भविष्यवाणी करने के लिए किया गया था और हर बार निम्नलिखित मैट्रिक्स की गणना की गई थी:
- आरएमएसई: मूल माध्य वर्ग त्रुटि। यह मॉडल द्वारा की गई भविष्यवाणियों और वास्तविक अवलोकनों के बीच औसत अंतर को मापता है। आरएमएसई जितना कम होगा, एक मॉडल उतनी ही सटीक रूप से वास्तविक टिप्पणियों की भविष्यवाणी कर सकता है।
- एमएई: औसत पूर्ण त्रुटि। यह मॉडल द्वारा की गई भविष्यवाणियों और वास्तविक अवलोकनों के बीच औसत पूर्ण अंतर है। एमएई जितना कम होगा, एक मॉडल उतनी ही सटीक रूप से वास्तविक अवलोकनों की भविष्यवाणी कर सकता है।
पांच घटकों के लिए आरएमएसई और एमएई मूल्यों का औसत परिणाम में प्रदर्शित होता है:
- आरएमएसई: 3.612302
- एमएई: 3.232153
ये मेट्रिक्स हमें नए डेटा पर मॉडल के प्रदर्शन का अंदाज़ा देते हैं।
व्यवहार में, हम आम तौर पर कई अलग-अलग मॉडलों को फिट करते हैं और इन मैट्रिक्स की तुलना करके यह निर्धारित करते हैं कि कौन सा मॉडल अदृश्य डेटा पर सबसे अच्छा प्रदर्शन करता है।
उदाहरण के लिए, हम एक बहुपद प्रतिगमन मॉडल को फिट कर सकते हैं और उस पर के-फोल्ड क्रॉस-सत्यापन कर सकते हैं यह देखने के लिए कि आरएमएसई और एमएई मेट्रिक्स एकाधिक रैखिक प्रतिगमन मॉडल की तुलना कैसे करते हैं।
नोट #1: इस उदाहरण में, हम k=5 फ़ोल्ड का उपयोग करना चुनते हैं, लेकिन आप अपनी इच्छानुसार कोई भी फ़ोल्ड चुन सकते हैं। व्यवहार में, हम आम तौर पर 5 और 10 प्लाई के बीच चयन करते हैं, क्योंकि यह प्लाई की इष्टतम संख्या साबित होती है जो विश्वसनीय परीक्षण त्रुटि दर उत्पन्न करती है।
नोट #2 : ट्रेनकंट्रोल() फ़ंक्शन कई संभावित तर्कों को स्वीकार करता है। आप इस फ़ंक्शन के लिए संपूर्ण दस्तावेज़ यहां पा सकते हैं।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल प्रशिक्षण मॉडल के बारे में अतिरिक्त जानकारी प्रदान करते हैं:
के-फोल्ड क्रॉस-वैलिडेशन का परिचय
लीव-वन-आउट क्रॉस-वैलिडेशन का परिचय
मशीन लर्निंग में ओवरफिटिंग क्या है?