मैं उन प्रासंगिक विशेषताओं का चयन करने के लिए GLM और इलास्टिक नेट का उपयोग करना चाहूंगा + एक रेखीय प्रतिगमन मॉडल का निर्माण (यानी, भविष्यवाणी और समझ दोनों, इसलिए अपेक्षाकृत कुछ मापदंडों के साथ छोड़ दिया जाना बेहतर होगा)। आउटपुट निरंतर है। यह प्रति मामलों में जीन है । मैं पैकेज के बारे में पढ़ रहा हूं, लेकिन मैं चरणों का पालन करने के बारे में 100% निश्चित नहीं हूं:50glmnet
लंबोदा चुनने के लिए CV का प्रदर्शन करें:
cv <- cv.glmnet(x,y,alpha=0.5)
(Q1) इनपुट डेटा को देखते हुए, क्या आप एक अलग अल्फा मान चुनेंगे?
(Q2) मॉडल बनाने से पहले मुझे कुछ और करने की आवश्यकता है?मॉडल को फिट करें:
model=glmnet(x,y,type.gaussian="covariance",lambda=cv$lambda.min)
(क्यू 3) "कोवरियन" से बेहतर कुछ भी नहीं?
(Q4) यदि लैम्ब्डा को CV द्वारा चुना गया था, तो इस कदम की आवश्यकता क्यों हैnlambda=
?
(Q5) का उपयोग करना बेहतर हैlambda.min
याlambda.1se
?गुणांक प्राप्त करें, यह देखने के लिए कि कौन से पैरामीटर गिर गए हैं ("।"):
predict(model, type="coefficients")
मदद पृष्ठ में कई हैं
predict
तरीकों (जैसे,predict.fishnet
,predict.glmnet
,predict.lognet
, आदि)। लेकिन किसी भी "सादे" की भविष्यवाणी जैसा कि मैंने एक उदाहरण पर देखा था।
(Q6) चाहिए मैं उपयोगpredict
याpredict.glmnet
या अन्य?
नियमितीकरण के तरीकों के बारे में मैंने जो पढ़ा है, उसके बावजूद, मैं आर और इन सांख्यिकीय पैकेजों में काफी नया हूं, इसलिए यह सुनिश्चित करना मुश्किल है कि क्या मैं अपनी समस्या को कोड में लागू कर रहा हूं। किसी भी सुझाव का स्वागत किया जाएगा।
अद्यतन के
आधार पर "जैसा कि पहले उल्लेख किया गया है, क्लास ट्रेन की एक वस्तु में एक तत्व होता है finalModel
, जिसे ट्यूनिंग पैरामीटर मानों के साथ फिर से जोड़ा जाता है , जो इस मॉडल का उपयोग करता है। इस वस्तु का उपयोग पारंपरिक रूप से नए नमूनों के लिए भविष्यवाणियों को उत्पन्न करने के लिए किया जा सकता है, जिसका उपयोग करते हुए। मॉडल का पूर्वानुमान कार्य
का उपयोग करते हुए caret
धुन पर दोनों अल्फा और लैम्ब्डा:
trc = trainControl(method=cv, number=10)
fitM = train(x, y, trControl = trC, method="glmnet")
fitM
पिछले चरण 2 को प्रतिस्थापित करता है ? यदि हां, तो type.gaussian="naive",lambda=cv$lambda.min/1se
अब glmnet विकल्प ( ) कैसे निर्दिष्ट करें ?
और निम्नलिखित predict
कदम है, मैं जगह ले सकता है model
करने के लिए fitM
?
यदि मैं करता हूँ
trc = trainControl(method=cv, number=10)
fitM = train(x, y, trControl = trC, method="glmnet")
predict(fitM$finalModel, type="coefficients")
यह बिल्कुल समझ में आता है या मैं गलत तरीके से दोनों पैकेज शब्दावली मिश्रण कर रहा हूँ?