সিভি.glmnet (আর-এ ল্যাসো রিগ্রেশন) দিয়ে ক্রস-বৈধকরণ কীভাবে করবেন?


10

আমি ভাবছি যে কীভাবে আর এ গ্ল্যামনেট ব্যবহার করে কোনও লাসো মডেলকে সঠিকভাবে প্রশিক্ষণ এবং পরীক্ষা করতে হবে?

  • বিশেষত, আমি ভাবছি যে যদি বাহ্যিক পরীক্ষার ডেটা সেটের অভাবে আমার লাসো মডেলটি পরীক্ষা করতে আমি ক্রস-বৈধকরণ (বা অন্যান্য অনুরূপ পদ্ধতির) ব্যবহার করি তবে এটি কীভাবে করবেন তা আমি ভাবছি ।

আমাকে আমার পরিস্থিতি ভেঙে দিন:

আমার গ্ল্যামনেট মডেলটি জানান এবং প্রশিক্ষণের জন্য আমার কাছে কেবল একটি ডেটা সেট রয়েছে। ফলস্বরূপ, আমার মডেলটি পরীক্ষা করার উপায় তৈরি করতে আমার ডেটা বিভক্ত করতে আমাকে ক্রস-বৈধতা ব্যবহার করতে হবে।

আমি ইতিমধ্যে ব্যবহার করছি cv.glmnet, যা প্যাকেজ বিবরণ অনুযায়ী :

গ্ল্যামনেটের জন্য কে-ভাঁজ ক্রস-বৈধতা দেয়, একটি প্লট তৈরি করে এবং ল্যাম্বদার জন্য একটি মান প্রদান করে।

  • ক্রস-বৈধকরণটি cv.glmnetকেবল সেরা ল্যাম্বডা বাছাই করার জন্য সম্পাদিত হয় , বা এটি আরও সাধারণ ক্রস-বৈধকরণ পদ্ধতি হিসাবে পরিবেশন করছে?

    • অন্য কথায়, আমার মডেলটির "পরীক্ষা" চালানোর জন্য এখনও আমার কি অন্য ক্রস-বৈধতা পদক্ষেপ করা দরকার?

"হ্যাঁ আমি করি" এই ধারণা নিয়ে কাজ করছি।

এটি হ'ল, আমি কীভাবে আমার cv.glmnetমডেলকে বৈধতা দিতে পারি ?

  • আমাকে কী ম্যানুয়ালি করতে হবে, বা সম্ভবত caretগ্ল্যামনেট মডেলগুলির জন্য এই কার্যটি কার্যকর?

  • আমি কি ক্রস বৈধকরণের দুটি কেন্দ্রীভূত "লুপ" ব্যবহার করি? ... আমি কে-ফোল্ড ক্রস বৈধতা প্রক্রিয়াকরণের একটি "বাহ্যিক লুপ" এর প্রতিটি কে ভাঁজ মধ্যেcv.glmnet সর্বোত্তম ল্যাম্বদা মান নির্ধারণ করার জন্য সিভি এর একটি "অভ্যন্তরীণ লুপ" ব্যবহার করি? ?

    • যদি আমি আমার ইতিমধ্যে ক্রস-বৈধকরণ cv.glmnetমডেলটির ক্রস-বৈধকরণ করি, তবে আমি cv.glmnetক্রস বৈধতার আমার অন্যথায় "বাহ্যিক লুপ" এর প্রতিটি ভাড়ার মধ্যে প্রতিটি মডেল থেকে "সেরা" মডেলটি ("সেরা" ল্যাম্বদা মান থেকে) কীভাবে আলাদা করব?

      • দ্রষ্টব্য: আমি "সেরা" মডেলটিকে লাম্বদার সাথে যুক্ত মডেল হিসাবে সংজ্ঞায়িত করছি যা ন্যূনতম 1 এসইয়ের মধ্যে এমএসই তৈরি করে ... মডেলটিতে $lambda.1seএটিই cv.glmnet

প্রসঙ্গ:

আমি গাছের ব্যাস ("ডি"), ডি ^ 2 এবং প্রজাতির ("ফ্যাক্টর (স্পেক)") এর উপর ভিত্তি করে গাছের বয়স ("বয়স") পূর্বাভাস দেওয়ার চেষ্টা করছি। [ফলাফল সমীকরণ: Age ~ D + factor(SPEC) + D^2]। আমার কাছে ~ 50K সারি ডেটা রয়েছে, তবে ডেটাটি দ্রাঘিমাংশের (সময়ের সাথে ব্যক্তিদের ট্র্যাক করে) এবং ~ 65 প্রজাতি নিয়ে গঠিত।


1
যারা মন্তব্য না করেই বন্ধ করার পক্ষে ভোট দিয়েছেন তাদের পক্ষে: এটি সহায়ক নয় ... মন্তব্যগুলিতে আপনার সমস্যাটি কী তা আমাকে জানান এবং আমি এটি সংশোধন করার চেষ্টা করব।
বনাঞ্চল বিশেষজ্ঞ

1
তারা ক্রসভিলেটেডে স্থানান্তরিত করতে ভোট দিচ্ছেন তা বন্ধ করার জন্য তারা ভোট দিচ্ছেন না। আমি আমার ভোটটি এতে যুক্ত করেছি।
হ্যাক-আর

@ ফরেস্টকোলজিস্ট: 'ক্লোজ' বোতামে ক্লিক করে আপনার ক্লোজার / মাইগ্রেশনের কারণ হিসাবে উল্লেখ করা হচ্ছে তা দেখতে পারা উচিত।
ডিউইন

জিজ্ঞাসা করার জন্য ধন্যবাদ, আমার ঠিক এই প্রশ্নটি ছিল। এবং আমি ক্যারেট ব্যবহার করতে পারছি না কারণ আমার কাছে মাল্টিভারিয়েট ওয়াই আছে But তবে আপনি কি উত্স কোডটি পরীক্ষা করেছেন এবং নিশ্চিত করেছেন যে কোনও অতিরিক্ত সিভি লাগবে না? উত্স কোড অনুসরণ করা বেশ কঠিন হতে পারে।
Qoheleth

উত্তর:


3

ক্রস-বৈধকরণটি কেবল সেরা ল্যাম্বডা বাছাই করার জন্য সিভি.glmnet এ সঞ্চালিত হয়, বা এটি আরও সাধারণ ক্রস-বৈধকরণ প্রক্রিয়া হিসাবে কাজ করছে?

এটি ক্রস-বৈধকরণের জন্য প্রয়োজনীয় প্রায় সমস্ত কিছুই করে। উদাহরণস্বরূপ, এটি lambdaডেটাতে সম্ভাব্য মানগুলির সাথে মানিয়ে যায়, সেরা মডেল চয়ন করে এবং অবশেষে উপযুক্ত পরামিতিগুলির সাথে মডেলটিকে প্রশিক্ষণ দেয়।

উদাহরণস্বরূপ, প্রত্যাবর্তিত অবজেক্টে ::

cvmগড় ক্রস-বৈধ যাচাই করা ত্রুটি। cvsdআনুমানিক মান বিচ্যুতি।

অন্যান্য ফিরে আসা মানগুলির মতো এগুলিও পরীক্ষার সেটটিতে গণনা করা হয়। অবশেষে,

glmnet.fit সেরা পরামিতিগুলির সাথে সমস্ত ডেটা (প্রশিক্ষণ + পরীক্ষা) সম্পর্কে প্রশিক্ষিত মডেলকে দেয়।

আমাকে কী ম্যানুয়ালি করতে হবে, বা সম্ভবত গ্ল্যামনেট মডেলগুলির জন্য ক্যারেটের কাজটি কার্যকর?

আপনার নিজে এটি করার দরকার নেই do 'ক্যারেট' খুব কার্যকর হবে এবং এটি আমার প্রিয় প্যাকেজগুলির মধ্যে একটি কারণ এটি একই বাক্য গঠন সহ অন্যান্য সমস্ত মডেলের জন্য কাজ করে। আমি নিজেই caretবরং প্রায়শই ব্যবহার করি cv.glmnet। তবে আপনার দৃশ্যে এটি মূলত একই।

আমি কি ক্রস বৈধকরণের দুটি কেন্দ্রীক "লুপ" ব্যবহার করি? ... আমি কি কে-ফোল্ডের "বাহ্যিক লুপ" এর প্রতিটি কে ফোল্ডারের মধ্যে সেরা ল্যাম্বডা মান নির্ধারণ করার জন্য সিভি.glmnet এর মাধ্যমে সিভির একটি "অভ্যন্তরীণ লুপ" ব্যবহার করি? ক্রস বৈধতা প্রক্রিয়াজাতকরণ?

আপনি এই কাজ করতে পারে এবং এই ধারণা খুব নেস্টেড ক্রস-ভ্যালিডেশন ধারণা অনুরূপ মডেল নির্বাচনের জন্য নেস্টেড ক্রস বৈধতা

যদি আমি আমার ইতিমধ্যে ক্রস-বৈধকরণ সিভি.glmnet মডেলের ক্রস-বৈধকরণ করি, তবে আমি কীভাবে আমার অন্যথায় "বাহ্যিক লুপের প্রতিটি ভাঁজের মধ্যে প্রতিটি সিভি.glmnet মডেল থেকে" সেরা "মডেলটি (" সেরা "ল্যাম্বডা মান থেকে) বিচ্ছিন্ন করব? "ক্রস বৈধতা?

কেবলমাত্র একটি লুপ চালান যেখানে আপনি প্রশিক্ষণের ডেটা তৈরি করেন এবং প্রশিক্ষণ ডেটাতে চালিত টেস্ট ডেটা এবং পরীক্ষার ডেটা পূর্বাভাস cv.glmnetদেওয়ার জন্য মডেলটি ব্যবহার করুন glmnet.fit


@ ডিস্কিউপুলাস: ধন্যবাদ আপনি কি তার জন্য কিছু প্রমান সরবরাহ করতে পারেন? (অর্থাত্, দয়া করে আমাকে এর মধ্য দিয়ে চলুন)। এছাড়াও, আপনার উত্তর দেওয়া হয়েছে, তার অর্থ কি এই যে ডেটাটির জন্য পারফরম্যান্স মেট্রিকের প্রতিবেদন করার জন্য আর কোনও ক্রস বৈধকরণ প্রক্রিয়া প্রয়োজন হয় না? (আমি কেবল আমার চূড়ান্ত মডেল পারফরম্যান্স হিসাবে ল্যাম্বদা .১ কেসের এমএসইর প্রতিবেদন করতে পারি?)
the

হ্যাঁ, আর কোনও ক্রস-বৈধকরণের প্রয়োজন নেই। প্রমাণের জন্য, আপনি cv.glmnetক্রিয়াকলাপের উত্স কোডটি Rওপেনসোর্স হিসাবে দেখতে পারেন। শুধু cv.glmnetকনসোল টাইপ করুন ।
অনুশাসন

3
@discipulus। আমি ট্রেভর হাস্যিকে জিজ্ঞাসা করে ইমেল করেছিলাম "সিভি.glmnet (আর বাস্তবায়ন) কেবল ল্যাম্বডা বেছে নেওয়ার জন্য সিভি করে? বা নির্বাচিত ল্যাম্বডা যাচাই করার জন্য এটি কোনও বহিরাগত সিভিও করে? অন্য কথায়, আমরা যদি আমাদের নিজস্ব বাইরের সিভি কোড করে থাকি আমরা যদি? নির্বাচিত লাম্বদা বৈধ করতে চান? " এবং তিনি জবাব দিলেন (বরং দ্রুত) "হ্যাঁ, কেবল ল্যাম্বদা বাছাই করতে", যার অর্থ আমি এটি বোঝাতে চাইছি এটি কেবল অভ্যন্তরীণ সিভি করে, এবং আমাদের নিজের বাইরের সিভি কোড করতে হবে।
কোহলেথ

@ ফরেস্টকোলজিস্ট আমি ক্রস-বৈধতা সম্পর্কে আরও জানতে এবং আপনার পোস্টটি শিক্ষাগত খোঁজার চেষ্টা করছি। Cv.glmnet আরও সাধারণ ক্রস-বৈধকরণ প্রক্রিয়া হিসাবে পরিবেশন করে আপনি কী বোঝাতে চেয়েছেন তা আমি বুঝতে পারি না। আমি ভেবেছিলাম লাম্বদাটি বেছে নেওয়ার জন্য কেবলমাত্র প্যারামিটারটিই পাওয়া যায় - ক্রস-বৈধতার কোন বহিরাগত স্তর বিদ্যমান? আপনি যদি উত্তর দিতে পারে কৃতজ্ঞ হবে। ধন্যবাদ!
ব্যবহারকারী 2450223
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.