Ali Ahmed55 نشر 25 فبراير أرسل تقرير نشر 25 فبراير السلام عليكم هو انا لو استخدمات PredefinedSplit في RandomizedSearchCV او GridSearchCV وقت تدريب النموذج يقلل بشكل كبير ؟ 2 اقتباس
0 ياسر مسكين نشر 25 فبراير أرسل تقرير نشر 25 فبراير لا يؤدي استخدام PredefinedSplit إلى تسريع تدريب النموذج بطبيعته بل يغير فقط كيفية تقسيم البيانات أثناء ضبط المعلمات الفائقة أين يتم تحديد إجمالي وقت التدريب في GridSearchCV أو RandomizedSearchCV إلى حد كبير من خلال عدد مجموعات المعلمات وعدد التقسيمات التي تقيمها لكل مجموعة. إذا كنت تستخدم مثلا تقسيما واحدا (train/validation) بدلا من استخدام تقنيات التقسيم المتعددة (مثل 5-fold cross-validation)، فإن عدد مرات تدريب النموذج لكل تركيبة من معلمات النموذج سينخفض (من خمس مرات إلى مرة واحدة) وهذا قد يؤدي إلى تقليل الزمن الإجمالي للتدريب. بينما يقلل استخدام تقسيم واحد من زمن التدريب فإنه قد يؤثر على قوة التقييم والموثوقية لأن التقييم يعتمد على تقسيم واحد فقط بدلا من تقييم أكثر شمولا باستخدام عدة تقسيمات وإذا كنت تستخدم بالفعل تقسيما واحدا للتدريب والتحقق، فلن يكون هناك فرق كبير في زمن التدريب عند استخدام PredefinedSplit. 1 اقتباس
0 Ali Ahmed55 نشر 25 فبراير الكاتب أرسل تقرير نشر 25 فبراير تمام جدا الف شكراا جدا لحضرتك جزاك الله كل خير اقتباس
0 Mustafa Suleiman نشر 25 فبراير أرسل تقرير نشر 25 فبراير ستحدث مشاكل لو التقسيمات المُحددة مسبقًا غير مناسبة للبيانات، بمعنى PredefinedSplit مناسب للبيانات الزمنية كالتنبؤ بالأسهم، حيث يجب تجنب التقسيم العشوائي للحفاظ على التسلسل الزمني، وذلك لتحديد تقسيمات تمنع تسرب البيانات من المستقبل إلى الماضي، أو لو تريد فرض تقسيمات محددة مسبقًا كتقسيمات مستخدمة في أبحاث سابقة للمقارنة، أو الحفاظ على توزيع الفئات في كل تقسيم يدويًا. المشاكل تكمن لو تضمنت التقسيمات المُحددة تداخلًا بين بيانات التدريب والاختبار كتضمين عينات من الاختبار في التدريب، سيُبالغ النموذج في الأداء الوهمي Overfitting أي يحدث تسرب البيانات، ولو لم تكن التقسيمات تعكس التوزيع العام للبيانات مثل فصل عينات نادرة في مجموعة واحدة فقط، سيُقلل ذلك من قدرة النموذج على التعميم، أيضًا لو استخدمت تقسيمًا واحدًا فقط مثل train_test_split بدلًا من تقاطع K-Fold، فستحصل على تقدير غير مستقر لأداء النموذج. وكبدائل يتوفر KFold أو StratifiedKFold والتي توزع البيانات تلقائيًا بشكل عشوائي مع الحفاظ على التوازن، لكنها غير مناسبة للبيانات الزمنية أو الحالات التي تتطلب تحكم دقيقة، وفي البيانات الزمنية، الأفضل الإعتماد على TimeSeriesSplit لتقسيمات متزايدة تلقائيًا، بينما PredefinedSplit يعطيك تحكمًا كاملًا. 1 اقتباس
0 Ali Ahmed55 نشر 25 فبراير الكاتب أرسل تقرير نشر 25 فبراير الف شكراا جدا لحضرتك جزاك الله كل خير اقتباس
السؤال
Ali Ahmed55
السلام عليكم
هو انا لو استخدمات PredefinedSplit في RandomizedSearchCV او GridSearchCV وقت تدريب النموذج يقلل بشكل كبير ؟
4 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.