سؤال

لدي 300 عينة بيانات تحتوي كل منها على حوالي 4000 ميزة أبعاد.كل مدخل لديه 5 خافت.الإخراج في حدود -2 إلى 2.أحاول أن أتناسب مع نموذج لاسو.لقد مررت ببعض المشاركات التي تتحدث عن استراتيجيات التحقق المتبادل مثل هذه: اترك خوارزمية التحقق المتقاطع واحدة في MATLAB

لكنني رأيت أن اللاسو لا يدعم الإجازة في ماتلاب! http://www.mathworks.com/help/stats/lasso.html

كيف يمكنني تدريب نموذج باستخدام التحقق من صحة المغادرة وملائمة النموذج باستخدام اللاسو في مجموعة البيانات الخاصة بي؟أحاول أن أفعل هذا في ماتلاب.أرغب في الحصول على مجموعة من الأوزان التي سأتمكن من استخدامها للتنبؤات المستقبلية بشأن البيانات الأخرى.

حاولت استخدام glmnet: http://www.stanford.edu/~hastie/glmnet_matlab/intro.html لكن لم أتمكن من تجميعه على جهازي بسبب عدم وجود مترجم mex مناسب.

هل من حلول لمشكلتي؟شكرًا :)

يحرر

أحاول أيضًا استخدام وظيفة lasso المضمنة في MATLAB.لديه خيار لإجراء التحقق المتبادل.يقوم بإخراج B وFit Statistics، حيث B عبارة عن معاملات ملائمة، ومصفوفة p-by-L، حيث p هو عدد المتنبئين (الأعمدة) في X، وL هو عدد قيم Lambda.

الآن بالنظر إلى عينة اختبار جديدة، كيف يمكنني حساب الإخراج باستخدام هذا النموذج؟

هل كانت مفيدة؟

المحلول

يمكنك استخدام نهج الإجازة لمرة واحدة بغض النظر عن طريقة التدريب الخاصة بك.كما هو موضح هنا, ، يمكنك استخدام crossvalind لتقسيم البيانات إلى مجموعات التدريب والاختبار.

[Train, Test] = crossvalind('LeaveMOut', N, M)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top