আমি 0 থেকে 1 সাল পর্যন্তglmnet
গ্রিডের উপরে ল্যাম্বডা মানগুলি নির্বাচন করে আর -তে প্যাকেজটি ব্যবহার করে স্বাস্থ্যসেবা ডেটাসেটে একটি ইলাস্টিক-নেট লজিস্টিক রিগ্রেশন করছি My আমার সংক্ষিপ্ত কোডটি নীচে রয়েছে:
alphalist <- seq(0,1,by=0.1)
elasticnet <- lapply(alphalist, function(a){
cv.glmnet(x, y, alpha=a, family="binomial", lambda.min.ratio=.001)
})
for (i in 1:11) {print(min(elasticnet[[i]]$cvm))}
যা প্রতিটি থেকে আলফা মান জন্য গড় ক্রস যাচাই ত্রুটি আউটপুট থেকে একজন বৃদ্ধি সঙ্গে :
[1] 0.2080167
[1] 0.1947478
[1] 0.1949832
[1] 0.1946211
[1] 0.1947906
[1] 0.1953286
[1] 0.194827
[1] 0.1944735
[1] 0.1942612
[1] 0.1944079
[1] 0.1948874
আমি সাহিত্যে যা পড়েছি তার উপর ভিত্তি করে, সিভির ত্রুটি হ্রাস করা হয় সর্বোত্তম পছন্দ । তবে বর্ণমালার সীমার তুলনায় ত্রুটিগুলির মধ্যে অনেক পার্থক্য রয়েছে। এর জন্য বিশ্বব্যাপী সর্বনিম্ন ত্রুটি সহ আমি বেশ কয়েকটি স্থানীয় ন্যূনতম দেখতে পাচ্ছি ।0.1942612
alpha=0.8
এটি কি নিরাপদ সাথে যেতে হবে alpha=0.8
? অথবা, আমি পুনরায় চালানো উচিত প্রকরণ দেওয়া cv.glmnet
আরো ক্রস বৈধতা ভাঁজ (যেমন সঙ্গে পরিবর্তে ) অথবা সম্ভবত একটি বড় সংখ্যা মধ্যে বাড়তি এবং CV ত্রুটি পথ একটি পরিষ্কার ছবি পেতে?alpha=0.0
1.0
cv.glmnet()
না foldids
।
caret
প্যাকেজটি একবারে দেখতে চান যা আলফা এবং ল্যাম্বদা উভয়ের জন্য বারবার সিভি এবং টিউন করতে পারে (মাল্টিকোর প্রসেসিং সমর্থন করে!)। স্মৃতি থেকে, আমি মনে করিglmnet
ডকুমেন্টেশনটি আপনি এখানে যেভাবে করছেন তাতে আলফা সুরের বিরুদ্ধে পরামর্শ দেয়। এটি ব্যবহারকারী দ্বারা সরবরাহ করা ল্যাম্বডা টিউনিংয়ের পাশাপাশি আলফাটির জন্যও যদি টিউন করে থাকে তবে ফোল্ডগুলি স্থির রাখার পরামর্শ দেয়cv.glmnet
।