Ali Ahmed55 نشر الثلاثاء في 18:16 أرسل تقرير نشر الثلاثاء في 18:16 السلام عليكم هي اي الGridsearch ؟ 2 اقتباس
0 Mustafa Suleiman نشر الثلاثاء في 18:28 أرسل تقرير نشر الثلاثاء في 18:28 ذلك أسلوب مُنظم لضبط المعاملات الفائقة Hyperparameters في نماذج التعلم الآلي للعثور على أفضل مجموعة من المعاملات الفائقة التي تُحسّن أداء النموذج كالدقة، السرعة وغيرهم بمعنى تُحدد المعاملات الفائقة التي تريد ضبطها كمُعدل التعلم learning rate وعدد الأشجار في Random Forest والمعاملات الأخرى، وتُحدد القيم المُحتملة لكل معامل كالتالي learning_rate = [0.01, 0.1, 1]. ويُنشئ Grid Search جميع التركيبات الممكنة من القيم المُحددة، أي لو لديك معاملين عدد الأشجار = [50, 100] والعمق الأقصى = [3, 5]، فالشبكة ستكون (50,3), (50,5), (100,3), (100,5). ولكل تركيبة، يُدرّب النموذج ويُقيّم أداؤه باستخدام تقنية مثل k-fold cross-validation، وتُختار التركيبة التي تعطي أفضل أداء بناءًا على مقياس مثل الدقة أو الـF1-score. from sklearn.model_selection import GridSearchCV from sklearn.ensemble import RandomForestClassifier model = RandomForestClassifier() param_grid = { 'n_estimators': [50, 100, 200], 'max_depth': [None, 10, 20], 'min_samples_split': [2, 5] } grid_search = GridSearchCV(model, param_grid, cv=5) grid_search.fit(X_train, y_train) print(grid_search.best_params_) لكن ذلك غير فعّال في حال بعض المعاملات غير مؤثرة. 1 اقتباس
0 محمد عاطف17 نشر الثلاثاء في 18:37 أرسل تقرير نشر الثلاثاء في 18:37 وعليكم السلام ورحمة الله وبركاته. إن ال GridSearch هو أسلوب في تعلم الآلة يتم إستخدامه للبحث عن أفضل مجموعة من المعاملات (hyperparameters) لنموذج معين. فبدلا من تجربة القيم يدويا يقوم GridSearch بالبحث بشكل تلقائي عن جميع التركيبات الممكنة للمعاملات من خلال تحديد نطاقات متعددة لكل معلمة. حيث يتم تحديد مجموعة من القيم الممكنة لكل هايبربارامتر. وم ثم إنشاء شبكة من التركيبات الممكنة للهايبربارامترات المحددة. وبعد ذلك يتم تدريب النموذج لكل تركيبة من التركيبات وتقييم أدائه باستخدام تقييم معين (مثل دقة التصنيف أو خطأ التوقع). وأخيرا يتم اختيار التركيبة التي تعطي أفضل أداء للنموذج. تلخيصا لما سبق فإن بحث مصفوفة المعاملات GridSearch يستخدم لاختبار عدد من المعاملات أو إعدادات النماذج المختلفة دفعة واحدة والعثور على أفضل مجموعة معاملات تحقق أفضل أداء . ولكن تستهلك هذه الطريقة وقتا وموارد حاسوبية كبيرة خاصة إذا كانت المعاملات كثيرة جدا 1 اقتباس
0 Ali Ahmed55 نشر الثلاثاء في 18:38 الكاتب أرسل تقرير نشر الثلاثاء في 18:38 بتاريخ 7 دقائق مضت قال Mustafa Suleiman: ذلك أسلوب مُنظم لضبط المعاملات الفائقة Hyperparameters في نماذج التعلم الآلي للعثور على أفضل مجموعة من المعاملات الفائقة التي تُحسّن أداء النموذج كالدقة، السرعة وغيرهم بمعنى تُحدد المعاملات الفائقة التي تريد ضبطها كمُعدل التعلم learning rate وعدد الأشجار في Random Forest والمعاملات الأخرى، وتُحدد القيم المُحتملة لكل معامل كالتالي learning_rate = [0.01, 0.1, 1]. ويُنشئ Grid Search جميع التركيبات الممكنة من القيم المُحددة، أي لو لديك معاملين عدد الأشجار = [50, 100] والعمق الأقصى = [3, 5]، فالشبكة ستكون (50,3), (50,5), (100,3), (100,5). ولكل تركيبة، يُدرّب النموذج ويُقيّم أداؤه باستخدام تقنية مثل k-fold cross-validation، وتُختار التركيبة التي تعطي أفضل أداء بناءًا على مقياس مثل الدقة أو الـF1-score. from sklearn.model_selection import GridSearchCV from sklearn.ensemble import RandomForestClassifier model = RandomForestClassifier() param_grid = { 'n_estimators': [50, 100, 200], 'max_depth': [None, 10, 20], 'min_samples_split': [2, 5] } grid_search = GridSearchCV(model, param_grid, cv=5) grid_search.fit(X_train, y_train) print(grid_search.best_params_) لكن ذلك غير فعّال في حال بعض المعاملات غير مؤثرة. طيب اقدر استخدم الGridsearchCV مع التعلم العميق بستخدم Keras & TensorFlow ؟ واي اجرب اي عديد من القيمه صح مش شرط 3 قيمه بس او 4 ؟ اقتباس
0 Mustafa Suleiman نشر الثلاثاء في 20:28 أرسل تقرير نشر الثلاثاء في 20:28 بتاريخ 1 ساعة قال Ali Ahmed55: طيب اقدر استخدم الGridsearchCV مع التعلم العميق بستخدم Keras & TensorFlow ؟ واي اجرب اي عديد من القيمه صح مش شرط 3 قيمه بس او 4 ؟ لا مشكلة، لكن مع بعض الخطوات الإضافية المطلوبة لجعل النموذج متوافقًا مع واجهة scikit-learn، حيث توفر Keras واجهة جاهزة KerasClassifier أو KerasRegressor لدمج النماذج مع أدوات scikit-learn مثل GridSearchCV. وتستطيع تحديد أي عدد من القيم لكل معامل فائق ليس فقط 3 أو 4، لكن تذكر أن زيادة عدد القيم يزيد الوقت الحسابي بشكل كبير، واستخدم GridSearchCV كما تفعل مع أي نموذج في scikit-learn. 1 اقتباس
0 Ali Ahmed55 نشر أمس الساعة 18:06 الكاتب أرسل تقرير نشر أمس الساعة 18:06 الف شكراا جدا لحضرتكم جزاك الله كل خير بتاريخ 23 ساعة قال Mustafa Suleiman: print(grid_search.best_params_) سوال لو سمحت بس اي الكود ده ؟ اقتباس
0 Mustafa Suleiman نشر منذ 7 ساعة أرسل تقرير نشر منذ 7 ساعة بتاريخ 18 ساعة قال Ali Ahmed55: الف شكراا جدا لحضرتكم جزاك الله كل خير سوال لو سمحت بس اي الكود ده ؟ يقوم بطباعة أفضل مجموعة من المعلمات التي تم العثور عليها بواسطة GridSearchCV بعد تجربة جميع التركيبات المحددة في param_grid وتقييمها باستخدام التحقق المتقاطع Cross-Validation مع cv=5. 1 اقتباس
0 Ali Ahmed55 نشر منذ 5 ساعة الكاتب أرسل تقرير نشر منذ 5 ساعة الف شكراا جدا لحضرتك جزاك الله كل خير اقتباس
السؤال
Ali Ahmed55
السلام عليكم
هي اي الGridsearch ؟
7 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.