الصورة بواسطة المحرر
هناك عدد كبير من خوارزميات التعلم الآلي التي يمكنها نمذجة ظواهر معينة. بينما تستخدم بعض النماذج مجموعة من السمات لتتفوق في الأداء على الآخرين ، فإن البعض الآخر يشمل المتعلمين الضعفاء للاستفادة من باقي السمات لتوفير معلومات إضافية للنموذج ، والمعروفة باسم نماذج المجموعات.
تتمثل فرضية نماذج المجموعة في تحسين أداء النموذج من خلال الجمع بين التنبؤات من النماذج المختلفة عن طريق تقليل أخطائها. هناك نوعان من تقنيات التجميع الشائعة: التعبئة والتغليف والتعزيز.
يعمل Bagging ، المعروف أيضًا باسم Bootstrapped Aggregation ، على تدريب العديد من النماذج الفردية على مجموعات فرعية عشوائية مختلفة من بيانات التدريب ثم حساب متوسط توقعاتهم لإنتاج التنبؤ النهائي. من ناحية أخرى ، يتضمن التعزيز تدريب النماذج الفردية بالتتابع ، حيث يحاول كل نموذج تصحيح الأخطاء التي ارتكبتها النماذج السابقة.
الآن بعد أن أصبح لدينا سياق حول نماذج المجموعة ، فلننقر نقرًا مزدوجًا على نموذج مجموعة التعزيز ، وتحديداً خوارزمية Light GBM (LGBM) التي طورتها Microsoft.
LGBMClassifier يرمز إلى مصنف آلة تعزيز التدرج الخفيف. يستخدم خوارزميات شجرة القرار للترتيب والتصنيف ومهام التعلم الآلي الأخرى. يستخدم LGBMClassifier تقنية جديدة لأخذ العينات من جانب واحد على أساس التدرج (GOSS) وتجميع الميزات الحصرية (EFB) للتعامل مع البيانات واسعة النطاق بدقة ، مما يجعلها أسرع بشكل فعال ويقلل من استخدام الذاكرة.
ما هو أخذ العينات من جانب واحد القائم على التدرج (GOSS)؟
تستخدم خوارزميات تعزيز التدرج التقليدي جميع البيانات للتدريب ، والتي يمكن أن تستغرق وقتًا طويلاً عند التعامل مع مجموعات البيانات الكبيرة. من ناحية أخرى ، يحتفظ نظام GOSS الخاص بـ LightGBM بجميع الحالات ذات التدرجات الكبيرة ويقوم بأخذ عينات عشوائية على الحالات ذات التدرجات الصغيرة. الحدس الكامن وراء ذلك هو أن الحالات ذات التدرجات الكبيرة يصعب ملاءمتها وبالتالي تحمل المزيد من المعلومات. تقدم GOSS مُضاعِفًا ثابتًا لحالات البيانات ذات التدرجات الصغيرة للتعويض عن فقد المعلومات أثناء أخذ العينات.
ما هي حزمة الميزات الحصرية (EFB)؟
في مجموعة بيانات متفرقة ، تكون معظم الميزات أصفارًا. EFB هي خوارزمية شبه خالية من الضياع تجمع / تجمع بين ميزات حصرية متبادلة (ميزات ليست غير صفرية في وقت واحد) لتقليل عدد الأبعاد ، وبالتالي تسريع عملية التدريب. نظرًا لأن هذه الميزات "حصرية" ، يتم الاحتفاظ بمساحة الميزة الأصلية دون فقد معلومات كبيرة.
يمكن تثبيت حزمة LightGBM مباشرة باستخدام pip - مدير حزم python. اكتب الأمر المشترك أدناه إما في Terminal أو موجه الأوامر لتنزيل مكتبة LightGBM وتثبيتها على جهازك:
pip install lightgbm
يمكن لمستخدمي Anaconda تثبيته باستخدام أمر "conda install" كما هو مذكور أدناه.
conda install -c conda-forge lightgbm
بناءً على نظام التشغيل الخاص بك ، يمكنك اختيار طريقة التثبيت باستخدام هذا دليل.
الآن ، دعنا نستورد LightGBM والمكتبات الضرورية الأخرى:
import numpy as np
import pandas as pd
import seaborn as sns
import lightgbm as lgb
from sklearn.metrics import classification_report
from sklearn.model_selection import train_test_split
تحضير مجموعة البيانات
نحن نستخدم مجموعة بيانات تايتانيك الشهيرة ، والتي تحتوي على معلومات حول ركاب تيتانيك ، مع المتغير المستهدف الذي يشير إلى ما إذا كانوا قد نجوا أم لا. يمكنك تنزيل مجموعة البيانات من Kaggle أو استخدم الكود التالي لتحميله مباشرة من Seaborn ، كما هو موضح أدناه:
titanic = sns.load_dataset('titanic')
قم بإسقاط الأعمدة غير الضرورية مثل "deck" و "embark_town" و "على قيد الحياة" لأنها زائدة عن الحاجة أو لا تساهم في بقاء أي شخص على متن السفينة. بعد ذلك ، لاحظنا أن السمات "العمر" و "الأجرة" و "الرحلة" لها قيم مفقودة - لاحظ أنه يتم احتساب السمات المختلفة بمقاييس إحصائية مناسبة.
# Drop unnecessary columns
titanic = titanic.drop(['deck', 'embark_town', 'alive'], axis=1) # Replace missing values with the median or mode
titanic['age'] = titanic['age'].fillna(titanic['age'].median())
titanic['fare'] = titanic['fare'].fillna(titanic['fare'].mode()[0])
titanic['embarked'] = titanic['embarked'].fillna(titanic['embarked'].mode()[0])
أخيرًا ، نقوم بتحويل المتغيرات الفئوية إلى متغيرات رقمية باستخدام أكواد الباندا الفئوية. الآن ، تم إعداد البيانات لبدء عملية التدريب النموذجية.
# Convert categorical variables to numerical variables
titanic['sex'] = pd.Categorical(titanic['sex']).codes
titanic['embarked'] = pd.Categorical(titanic['embarked']).codes # Split the dataset into input features and the target variable
X = titanic.drop('survived', axis=1)
y = titanic['survived']
تدريب نموذج تصنيف LGBM
لبدء تدريب نموذج LGBMClassifier ، نحتاج إلى تقسيم مجموعة البيانات إلى ميزات الإدخال والمتغيرات المستهدفة ، بالإضافة إلى مجموعات التدريب والاختبار باستخدام وظيفة train_test_split من scikit-learn.
# Split the dataset into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
لنقم بتسمية ترميز البيانات الفئوية ("who") والترتيبية ("class") للتأكد من تزويد النموذج ببيانات رقمية ، نظرًا لأن LGBM لا يستهلك بيانات غير رقمية.
class_dict = { "Third": 3, "First": 1, "Second": 2
}
who_dict = { "child": 0, "woman": 1, "man": 2
}
X_train['class'] = X_train['class'].apply(lambda x: class_dict[x])
X_train['who'] = X_train['who'].apply(lambda x: who_dict[x])
X_test['class'] = X_test['class'].apply(lambda x: class_dict[x])
X_test['who'] = X_test['who'].apply(lambda x: who_dict[x])
بعد ذلك ، نحدد المعلمات الفائقة للنموذج كوسيطات للمُنشئ ، أو يمكننا تمريرها كقاموس إلى طريقة set_params.
تتمثل الخطوة الأخيرة لبدء تدريب النموذج في تحميل مجموعة البيانات عن طريق إنشاء مثيل لفئة LGBMClassifier وتناسبها مع بيانات التدريب.
params = { 'objective': 'binary', 'boosting_type': 'gbdt', 'num_leaves': 31, 'learning_rate': 0.05, 'feature_fraction': 0.9
}
clf = lgb.LGBMClassifier(**params)
clf.fit(X_train, y_train)
بعد ذلك ، دعنا نقيم أداء المصنف المدرب على مجموعة البيانات غير المرئية أو الاختبار.
predictions = clf.predict(X_test)
print(classification_report(y_test, predictions))
precision recall f1-score support 0 0.84 0.89 0.86 105 1 0.82 0.76 0.79 74 accuracy 0.83 179 macro avg 0.83 0.82 0.82 179
weighted avg 0.83 0.83 0.83 179
ضبط Hyperparameter
يتيح LGBMClassifier قدرًا كبيرًا من المرونة عبر المعلمات الفائقة التي يمكنك ضبطها للحصول على الأداء الأمثل. هنا ، سنناقش بإيجاز بعض المعلمات التشعبية الرئيسية:
- عدد_أوراق: هذه هي المعلمة الرئيسية للتحكم في تعقيد النموذج الشجري. من الناحية المثالية ، يجب أن تكون قيمة عدد_الأوراق أقل من أو تساوي 2 ^ (max_depth).
- min_data_in_leaf: هذه معلمة مهمة لمنع فرط التخصيص في شجرة أوراق الحكمة. تعتمد قيمته المثلى على عدد عينات التدريب وعدد الأوراق.
- أقصى عمق: يمكنك استخدام هذا للحد من عمق الشجرة بشكل صريح. من الأفضل ضبط هذه المعلمة في حالة فرط التجهيز.
دعنا نضبط هذه المعلمات الفائقة وندرب نموذجًا جديدًا:
model = lgb.LGBMClassifier(num_leaves=31, min_data_in_leaf=20, max_depth=5)
model.fit(X_train, y_train)
predictions = model.predict(X_test)
print(classification_report(y_test, predictions))
precision recall f1-score support 0 0.85 0.89 0.87 105 1 0.83 0.77 0.80 74 accuracy 0.84 179 macro avg 0.84 0.83 0.83 179
weighted avg 0.84 0.84 0.84 179
لاحظ أن الضبط الفعلي للمعلمات الفائقة هو عملية تتضمن التجربة والخطأ وقد تسترشد أيضًا بالتجربة والفهم الأعمق لخوارزمية التعزيز وخبرة الموضوع (معرفة المجال) لمشكلة العمل التي تعمل عليها.
في هذا المنشور ، تعرفت على خوارزمية LightGBM وتنفيذ Python. إنها تقنية مرنة مفيدة لأنواع مختلفة من مشاكل التصنيف ويجب أن تكون جزءًا من مجموعة أدوات التعلم الآلي الخاصة بك.
فيدي تشو هو استراتيجي للذكاء الاصطناعي وقائد للتحول الرقمي يعمل عند تقاطع المنتج والعلوم والهندسة لبناء أنظمة تعلم آلي قابلة للتطوير. هي قائدة ابتكار حائزة على جوائز ، ومؤلفة ، ومتحدثة دولية. إنها في مهمة لإضفاء الطابع الديمقراطي على التعلم الآلي وكسر المصطلحات اللغوية للجميع ليكونوا جزءًا من هذا التحول.
- محتوى مدعوم من تحسين محركات البحث وتوزيع العلاقات العامة. تضخيم اليوم.
- PlatoData.Network Vertical Generative Ai. تمكين نفسك. الوصول هنا.
- أفلاطونايستريم. ذكاء Web3. تضخيم المعرفة. الوصول هنا.
- أفلاطون السيارات / المركبات الكهربائية ، كربون، كلينتك ، الطاقة، بيئة، شمسي، إدارة المخلفات. الوصول هنا.
- BlockOffsets. تحديث ملكية الأوفست البيئية. الوصول هنا.
- المصدر https://www.kdnuggets.com/2023/07/lgbmclassifier-gettingstarted-guide.html?utm_source=rss&utm_medium=rss&utm_campaign=lgbmclassifier-a-getting-started-guide
- :يكون
- :ليس
- :أين
- 1
- 10
- 11
- 13
- 14
- 31
- 7
- 77
- 8
- 80
- 84
- 87
- 9
- a
- من نحن
- تسريع
- دقة
- يقدم
- إضافي
- معلومات اضافية
- السن
- تجميع
- AI
- خوارزمية
- خوارزميات
- الكل
- يسمح
- أيضا
- an
- و
- أي وقت
- مناسب
- APT
- هي
- الحجج
- AS
- At
- محاولات
- سمات
- المؤلفة
- AVG
- الحائز على جائزة
- BE
- لان
- بدأ
- وراء
- أقل من
- أفضل
- تعزيز
- استراحة
- موجز
- نساعدك في بناء
- الأعمال
- by
- CAN
- حمل
- حقيبة
- طفل
- اختار
- فئة
- تصنيف
- مو
- الكود
- رموز
- الأعمدة
- الجمع بين
- تعقيد
- ثابت
- تستهلك
- يحتوي
- سياق الكلام
- المساهمة
- مراقبة
- تحول
- تصحيح
- خلق
- البيانات
- قواعد البيانات
- تعامل
- القرار
- شجرة القرار
- أعمق
- دمقرطة
- يعتمد
- عمق
- المتقدمة
- مختلف
- رقمي
- التحول الرقمي
- الأبعاد
- مباشرة
- بحث
- do
- لا
- نطاق
- بإمكانك تحميله
- قطرة
- أثناء
- كل
- على نحو فعال
- إما
- الهندسة
- ضمان
- متساو
- خطأ
- أخطاء
- تقييم
- كل شخص
- حصري
- الخبره في مجال الغطس
- خبرة
- أسرع
- الميزات
- المميزات
- نهائي
- الاسم الأول
- تناسب
- تركيبات
- مرونة
- مرن
- متابعيك
- في حالة
- تبدأ من
- وظيفة
- الحصول على
- التدرجات
- توجيه
- يد
- مقبض
- أصعب
- يملك
- هنا
- HTML
- HTTPS
- من الناحية المثالية
- التنفيذ
- استيراد
- أهمية
- تحسن
- in
- تتضمن
- فرد
- معلومات
- بدء
- الابتكار
- إدخال
- تثبيت
- التركيب
- مثل
- عالميا
- تقاطع طرق
- إلى
- يدخل
- حدس
- IT
- انها
- رطانة
- KD nuggets
- القفل
- المعرفة
- معروف
- تُشير
- كبير
- على نطاق واسع
- اسم العائلة
- زعيم
- تعلم
- تعلم
- أقل
- المكتبات
- المكتبة
- ضوء
- مما سيحدث
- المدرج
- تحميل
- خسارة
- آلة
- آلة التعلم
- الماكرو
- صنع
- الرئيسية
- القيام ب
- رجل
- مدير
- أمر
- مايو..
- الإجراءات
- متوسط
- مكبر الصوت : يدعم، مع دعم ميكروفون مدمج لمنع الضوضاء
- طريقة
- المقاييس
- مایکروسافت
- مفقود
- المهمة
- موضة
- نموذج
- عارضات ازياء
- الأكثر من ذلك
- أكثر
- كثيرا
- متعدد
- متبادل
- ضروري
- حاجة
- جديد
- التالي
- رواية
- الآن
- عدد
- نمباي
- موضوعي
- ملاحظ
- of
- on
- الأمثل
- or
- أصلي
- OS
- أخرى
- أخرى
- يتفوق على
- صفقة
- الباندا
- المعلمة
- جزء
- pass
- أداء
- ينفذ
- شخص
- أفلاطون
- الذكاء افلاطون البيانات
- أفلاطون داتا
- الرائج
- منشور
- دقة
- تنبؤ
- تنبؤات
- أعدت
- منع
- سابق
- المشكلة
- مشاكل
- عملية المعالجة
- إنتاج
- المنتج
- توفير
- بايثون
- عشوائية
- تصنيف
- RE
- تخفيض
- تقليص
- يحل محل
- s
- تحجيم
- علوم
- تعلم الحروف
- سيبورن
- الثاني
- طقم
- باكجات
- الجنس
- شاركت
- هي
- ينبغي
- أظهرت
- هام
- معا
- منذ
- صغير
- بعض
- الفضاء
- مكبرات الصوت
- محدد
- على وجه التحديد
- انقسم
- المدرجات
- بداية
- بدأت
- إحصائي
- خطوة
- الاستراتيجيين
- موضوع
- هذه
- زودت
- الدعم
- نجاة
- نجا
- أنظمة
- الهدف
- المهام
- تقنيات
- محطة
- تجربه بالعربي
- الاختبار
- من
- أن
- •
- المعلومات
- من مشاركة
- منهم
- then
- هناك.
- وبالتالي
- تشبه
- هم
- الثالث
- وهكذا
- استهلاك الوقت
- إلى
- أدوات
- قطار
- متدرب
- قادة الإيمان
- القطارات
- تحول
- شجرة
- محاكمة
- المحاولة و الخطأ
- اثنان
- نوع
- أنواع
- فهم
- us
- الأستعمال
- تستخدم
- المستخدمين
- يستخدم
- استخدام
- الاستفادة من
- قيمنا
- القيم
- مختلف
- كبير
- بواسطة
- we
- حسن
- متى
- سواء
- التي
- في حين
- من الذى
- سوف
- مع
- بدون
- امرأة
- عامل
- X
- لصحتك!
- حل متجر العقارات الشامل الخاص بك في جورجيا
- زفيرنت