ما Scikit-Learn (Sklearn)؟

مؤلف

Bryan Clark

Senior Technology Advocate

ما scikit-learn (sklearn)؟

تُعَد Scikit-learn (وغالبًا ما تُكتب باسم scikit-learn أو sklearn) مكتبة تعلُّم آلي مفتوحة المصدر مستخدمة على نطاق واسع للغة Python.

Scikit-learn هي إحدى مكتبات التعلم الآلي (ML) الأكثر استخدامًا اليوم. تمت كتابة مجموعة أدوات علم البيانات هذه بلغة Python، وهي تعمل على تبسيط الذكاء الاصطناعي (AI) والتعلم الآلي (ML) والنمذجة الإحصائية من خلال واجهة متسقة. تتضمن وحدات أساسية للتصنيف والانحدار والتجميع وتقليل الأبعاد، وكلها مبنية على مكتبات NumPy وSciPy وMatplotlib. يمكن أن يكون تنفيذ خوارزميات التعلم الآلي من الصفر في Python مهمة حسابية مكثفة وعرضة للخطأ، وتتطلب خبرة في الجبر الخطي وحساب التفاضل والتكامل والتحسين. ويمكن أن يكون Scikit-learn موردًا قيمًا في التخفيف من هذه المشكلات.

من خلال الاستفادة من مجموعة scikit-learn القوية من الشبكات العصبية المدربة مسبقًا وخوارزميات التعلم الآلي، يمكن للوافدين الجدد إلى هذا المجال معالجة مجموعة البيانات مسبقًا بسرعة وفعالية لتطبيقات التعلم الخاضعة للإشراف، مثل الانحدار أو التصنيف. ويمكن إنجاز هذه الخطوة دون الحاجة إلى فهم متعمق للمفاهيم الرياضية المعقدة مثل الجبر الخطي أو حساب التفاضل والتكامل أو العلاقة الأساسية (الكاردينالية). بالإضافة إلى ذلك، تسهل هذه الأدوات عمليات التعلم غير الخاضعة للإشراف بما في ذلك التجميع وتقليل الأبعاد. كما تتيح هذه الأدوات للمستخدمين التركيز على رؤى عالية المستوى وابتكار قيمة للأعمال.

سير عمل scikit-learn
مخطط سير عمل Scikit-Learn

عناصر scikit-learn

Numpy: واحدة من مكتبات Python المهمة للحوسبة العلمية. ويوفر كائن مصفوفة وأنواع مختلفة من مجموعات البيانات الأخرى، إلى جانب العديد من الدوال لإجراء عمليات فعالة على المصفوفات في أثناء استخدام scikit-learn.

Scipy: مسعى مجتمعي يهدف إلى إنشاء برمجيات مصدر مفتوح ونشرها لأغراض علم البيانات بلغة Python. على وجه التحديد، تركز مهمتها على تطوير حزمة Scipy وصيانتها، التي تتوفر مجانًا بموجب ترخيص مصدر مفتوح (مثل ترخيص Berkeley Software Distribution، المعروف أيضا باسم BSD) ويمكن الوصول إليها بشكل عام من خلال مستودعات GitHub داخل مجموعة Scipy.

Matplotlib: مكتبة تخطيطية واسعة ومرنة لـ Python، تمكّن علماء البيانات من تحويل مجموعة بياناتهم إلى رسوم بيانية ومخططات وتصورات أخرى غنية بالمعلومات. من خلال توفير مجموعة شاملة من الأدوات والميزات، يسهل Matplotlib تحليل البيانات واستكشافها والتواصل فيما بينها.

Cython: يوسّع قدرات Python من خلال تمكين الاستدعاءات المباشرة لدوال C والتعريف الصريح لأنواع مجموعات بيانات C على المتغيرات وسمات الفئة. وتسهّل هذه القدرة توليد رمز C مُحسَّن للغاية من مصدر الرمز Cython لاستخدامه في sklearn.

أحدث الأخبار التقنية، مدعومة برؤى خبراء

ابقَ على اطلاع دومًا بأهم—اتجاهات المجال وأكثرها إثارة للفضول—بشأن الذكاء الاصطناعي والأتمتة والبيانات وغيرها الكثير مع نشرة Think الإخبارية. راجع بيان الخصوصية لشركة IBM.

شكرًا لك! أنت مشترك.

سيتم تسليم اشتراكك باللغة الإنجليزية. ستجد رابط إلغاء الاشتراك في كل رسالة إخبارية. يمكنك إدارة اشتراكاتك أو إلغاء اشتراكك هنا. راجع بيان خصوصية IBM لمزيد من المعلومات.

المعالجة المسبقة

عند العمل مع scikit-learn، من الضروري التأكد من إعداد بيانات التدريب وتنسيقها بشكل صحيح قبل إدخالها في نموذج التعلم الآلي. وتُعرف هذه العملية باسم المعالجة المسبقة، ويوفر scikit-learn مجموعة من الأدوات للمساعدة على تنظيم مجموعة البيانات. كما تتمثل إحدى المهام الشائعة خلال هذه المرحلة في المعالجة المسبقة لبرنامج scikit-learn في التوحيد، حيث يتم قياس الميزات الرقمية لتكون ذات مقادير متشابهة باستخدام تقنيات مثل MinMax Scaler أو Standard Scaler. إذا كانت هناك حاجة إلى ترميز مجموعة البيانات من المتغيرات الفئوية إلى تمثيلات رقمية، فيمكن لـ One-Hot Encoding (OHE) أو LabelEncoder (LE) جعلها متوافقة مع سير عمل النموذج. ويحول OHE قيم البيانات الفئوية إلى متجهات ثنائية، ما ينتج عنه عمود جديد لكل فئة مع 1 أو 0، ويشير إلى وجود الفئة أو عدم وجودها. يستخدم LE في التعلم الآلي حيث يتم تعيين تسميات رقمية للفئات أو المجموعات. على عكس One-Hot Encoder، فإنه لا ينشئ أعمدة جديدة ولكنه يستبدل القيم الفئوية بقيم صحيحة. ويمكن أن يؤدي ذلك إلى مشكلات مثل افتراض الاعتيادية، وهو أقل شيوعًا من OHE في ممارسات التعلم الآلي الحديثة بسبب محدوديته.

يمكن أن تتضمن المعالجة المسبقة أيضًا اختيار الميزة، حيث يمكن اختيار مجموعة فرعية من ميزات التعلم ذات الصلة لتدريب النموذج. ويمكن القيام بهذه الخطوة عن طريق إزالة الأعمدة غير ذات الصلة أو باستخدام تقنيات مثل الإزالة التكرارية للميزات (RFE) أو المعلومات المتبادلة (MI). الإزالة التكرارية للميزات هي تقنية تُستخدم لتحديد الميزات الأكثر أهمية في مجموعة بيانات عن طريق إزالة نموذج وإعادة تدريبه بشكل متكرر باستخدام مجموعة ميزات مُقلَّصة، ما يؤدي في النهاية إلى تحديد الميزات الأفضل أداءً. تقيس المعلومات المتبادلة مقدار المعلومات التي يحتويها أحد المتغيرات العشوائية عن متغير عشوائي آخر؛ ما يسمح بتحديد الميزة المترابطة أو ذات الصلة بالنتيجة المستهدفة. وهذه الطريقة مفيدة لاختيار المتغيرات الإعلامية. بالإضافة إلى ذلك، يُعد التعامل مع القيم المفقودة أمرًا بالغ الأهمية، ويوفر برنامج scikit-learn طرقًا مختلفة لاستنتاج هذه الفجوات، مثل الاستنتاج المتوسط/الوسيط، أو التعبئة الأمامية/التعبئة الخلفية، أو غيرها من الأساليب الأكثر تطورًا.

لأداء هذه المهام، يحتوي scikit-learn على مجموعة شاملة من أدوات المعالجة المسبقة. وتُعد فئتا StandardScaler وMinMaxScaler من الخيارات الشائعة لقياس الميزات الرقمية، بينما تُعد OneHotEncoder مثالية للمتغيرات الفئوية. وبالنسبة إلى تعويض القيم المفقودة، توفر فئة SimpleImputer مجموعة من الطرق للاختيار من بينها. من خلال الجمع بين هذه الأدوات بطرق مبتكرة، يمكن إنشاء مسار بيانات قوي للمعالجة المسبقة لضمان زيادة التعلم الآلي وأداء النموذج ودقته.

على سبيل المثال، يمكن استخدام StandardScaler لتوحيد الميزات الرقمية للبيانات، متبوعًا بـ OneHotEncoder لتحويل المتغيرات الفئوية إلى تمثيلات رقمية. لكل فئة فريدة في متغير فئوي، يتم إنشاء ميزة ثنائية جديدة (0 أو 1). إذا كانت الملاحظة تحتوي على الفئة "X"، فبالنسبة إلى الميزة المطابقة للفئة "X"، يتم تعيين القيمة إلى 1، ويتم تعيين جميع الميزات الأخرى إلى 0. ويمكن الإشارة إلى هذه العملية أيضًا باسم استخراج الميزة. من خلال ربط هذه العمليات معًا، يمكن إعداد مجموعة بيانات موحدة جاهزة لتدريب نموذج التعلم الآلي.

أكاديمية الذكاء الاصطناعي

كن خبيرًا في الذكاء الاصطناعي

اكتسب المعرفة لتحديد أولويات استثمارات الذكاء الاصطناعي التي تدفع نمو الأعمال. ابدأ مع أكاديمية الذكاء الاصطناعي المجانية اليوم وتولَّ زمام المبادرة لتعزيز مستقبل الذكاء الاصطناعي في مؤسستك.

المقاييس

يوفر Scikit-learn مجموعة من المقاييس المدمجة لكل من مشاكل التصنيف والانحدار، ما يساعد على عملية صناعة القرار بشأن تحسين النموذج أو اختيار النموذج. في سياق التعلم الآلي وخاصة مع scikit-learn، يُعد نموذج الانحدار نوعًا من النماذج التنبؤية التي تقدر النتائج المستمرة استنادًا إلى ميزات الإدخال. على عكس نماذج التصنيف التي تتنبأ بالتسميات أو الفئات المنفصلة، تُستخدم نماذج الانحدار عندما تريد التوقع بكمية ما.

بالنسبة إلى مهام التصنيف، تشمل المقاييس الدقة والضبط والاستدعاء ودرجة F1 والمجال تحت منحنى ROC (AUC-ROC).

  • الدقة: تقيس نسبة التنبؤات الصحيحة من إجمالي التنبؤات.

  • الدقة النوعية (Precision): يركِّز على التنبؤات الإيجابية، ويحدِّد عدد العناصر المحددة ذات الصلة.

  • الاستدعاء (Recall): المعروف أيضًا بالحساسية، يقيس قدرة النموذج على اكتشاف جميع الحالات ذات الصلة.

  • درجة F1-score: المتوسط التوافقي بين الدقة النوعية (Precision) والاستدعاء (Recall)، ويقدِّم توازنًا بين هذين المقياسين.

  • AUC-ROC: مقياس لتقييم الأداء من نموذج التصنيف حيث يكون الناتج عبارة عن احتمال. يمثِّل بصريًا العلاقة بين معدل الإيجابيات الحقيقية (TPR) ومعدل الإيجابيات الزائفة (FPR).

بالنسبة إلى مهام الانحدار، تشمل مقاييس التقييم الشائعة في scikit-learn متوسط الخطأ المطلق (MAE)، وجذر متوسط الخطأ المربّع (RMSE)، ودرجة R^2، ومتوسط الخطأ المربّع (MSE).

  • MAE: يقيس متوسط حجم الأخطاء دون النظر في اتجاهها.

  • RMSE: الجذر التربيعي لمتوسط الأخطاء التربيعية، ما يُعطي وزنًا أكبر للأخطاء الأكبر.

  • R² score: المعروف أيضًا باسم معامل التحديد، يعبِّر هذا المقياس عن نسبة التباين في المتغيّر التابع التي يمكن التنبؤ بها من المتغيّرات المستقلة.

  • MSE: يحسب متوسط الفرق التربيعي بين القيم المتوقعة والقيم الفعلية، ما يوفر مقياسًا لمدى قرب التطابق من نقاط البيانات.

على سبيل المثال، في سيناريو التقييم الذي يستخدم برنامج scikit-learn، يكون مقياس المجال تحت منحنى خاصية تشغيل المُستقبِل (AUC-ROC) من المقاييس أمرًا بالغ الأهمية في تقييم الأداء. ويقيس هذا المقياس قدرة النموذج على التمييز بين المقترضين الذين تخلفوا عن سداد القروض وأولئك الذين لم يتخلفوا عن سدادها، استنادًا إلى ميزات تشمل الدخل ونسبة الدين إلى الدخل وتاريخ التوظيف. كما تشير قيم AUC-ROC الأقرب إلى 1 إلى نماذج أفضل ذات قدرات تمييز أعلى، ما يساعد مديري البنوك على تحديد مدى ملاءمة النموذج لقرارات الإقراض أو تحديد المجالات التي تحتاج إلى تحسين.

تُمكّن مقاييس Scikit-learn من إجراء تقييم شامل لنماذج التعلّم الآلي عبر مهام وسيناريوهات مختلفة. ويساعد فهم هذه المقاييس على تفسير أداء النموذج، وتحديد المجالات المحتملة للتحسين، وفي نهاية المطاف اختيار أو تحسين النموذج الأفضل أداءً لمشكلة معينة.

حالات استخدام Scikit-learn

كشف البريد الإلكتروني العشوائي: تساعد خوارزميات التصنيف الخاصة بـ Scikit-learn، بما في ذلك الانحدار اللوجستي أو آلات المتجهات الداعمة (SVM)، على تصفية البريد الإلكتروني غير المرغوب فيه عن طريق تصنيفه على أنه بريد عشوائي أم لا. يتمتع Sklearn أيضًا بالقدرة على التحقق من الصحة عبر استخدام cross_val_score لتقييم مدى قدرة مُصنف Naïve Naïve Bayes على التمييز بين رسائل البريد الإلكتروني العشوائي وغير العشوائي. كما يستخدم Sklearn التحقق المتبادل لتدريب النموذج واختباره عبر 5 أقسام مختلفة من بياناتك. ويوفر هذا مقياسًا للأداء المتوسط الذي يمنحك فكرة أفضل عن كيفية أداء النموذج على البريد الإلكتروني الجديد غير المرئي.

التنبؤ بأسعار المنازل: يمكن استخدام برنامج Scikit-learn لتقنيات الانحدار مثل الانحدار الخطي لتقدير أسعار المنازل بناءً على ميزات مثل الموقع والحجم والمرافق، ما يساعد المشترين على اتخاذ قرارات مستنيرة. ويتكامل Scikit-learn بسلاسة مع مكتبات عرض مصور للبيانات مثل Plotly وMatplotlib. ويسمح ذلك بتصورات تعزز فهم نتائج الانحدار وتفسيرها، ما يسهل صناعة قرارات مستنيرة بشكل أفضل في حالة استخدام مثل هذه الحالة.

اكتشاف مرض أوراق شجر الزان: يمكن استخدام خوارزمية Decision Trees في scikit-learn على غابات شرق الولايات المتحدة لاكتشاف مرض أوراق الزان (BLD). من خلال تحليل عوامل مثل عمر الشجرة والموقع وحالة الأوراق، يمكن للنموذج تحديد أشجار الزان المعرضة لخطر مرض أوراق الزان (BLD). وباستخدام التعلم الآلي والأساليب القائمة على البيانات، يمكن تحديد الأشجار الأكثر عرضة للخطر ونشر استراتيجيات لحمايتها.

كشف الخلل: في الأمن السيبراني، يمكن استخدام التجميع باستخدام أسلوب k-means من scikit-learn للكشف عن الأنماط أو السلوكيات غير العادية التي قد تشير إلى اختراقات أمنية محتملة. من خلال تجميع نقاط البيانات المتشابهة معًا، يساعد برنامج k-means على تحديد القيم الخارجية—نقاط البيانات التي تنحرف بشكل كبير عن المجموعة—بصفتها حالات شذوذ محتملة. وقد تشير هذه الشذوذ إلى محاولات وصول غير مصرح بها أو برنامج ضار أو إجراءات خبيثة أخرى. ويسمح الكشف عن مثل هذه الحالات الشاذة في الوقت المناسب، باستخدام sklearn، لفرق الأمن السيبراني بالتحقيق في التهديدات والتخفيف من حدتها بسرعة، ما يعزز الوضع الأمني العام للمؤسسة.

تقييم مخاطر الائتمان: تستخدم المؤسسات المالية خوارزمية الغابات العشوائية في برنامج scikit-Learn لتحديد أهم الميزات، مثل تاريخ الائتمان والدخل ونسبة الدين إلى الدخل، عند تقييم مخاطر الائتمان للمقترضين المحتملين. ومن خلال ترتيب أهمية المتغيرات باستخدام خوارزمية الغابات العشوائية، يمكن للمقرضين اتخاذ قرارات أكثر استنارة حول من يوافقون على القروض وبأي أسعار فائدة.

البحث في علم الجينوم: يمكن لـ Sklearn تطبيق تقنيات بما في ذلك تحليل العناصر الأساسية (PCA) لتقليل تعقيد البيانات الجينية، ما يجعل من السهل تحديد الأنماط المهمة دون التعرض للضوضاء.

تحليل النصوص: عند التعامل مع المستندات أو مجموعات البيانات الكبيرة، يساعد تقليل الأبعاد على تلخيص الموضوعات الرئيسية أو السمات وتصورها بكفاءة، وهو أمر بالغ الأهمية لمجالات مثل تحليل المشاعر أو أنظمة التوصية بالمحتوى.

تكامل النماذج اللغوية الكبيرة في scikit-learn

يركز Scikit-learn بشكل أساسي على خوارزميات التعلم الآلي ولكن يمكن توسيعها لدمج نماذج اللغة الكبيرة (LLMs). وعلى الرغم من تركيزه في الأصل على النماذج التقليدية مثل شجرة القرار وآلات دعم المتجهات وخوارزميات التجميع، فإن النظام البيئي المرن لـ scikit-learn يسمح بالتكامل مع LLMs من خلال تكوينات واجهة برمجة التطبيقات (API) المحددة. ويتضمن ذلك الاستفادة من نماذج مثل سلسلة GPT من OpenAI والخيارات الأخرى التي يسهم بها المجتمع مثل نماذج Anthropic أو AzureChatOpenAI.

تم تبسيط عملية التكامل بشكل مشابه للمشروعات مثل Auto-GPT، ما يجعلها في متناول المطورين الذين يعرفون سير عمل scikit-learn. يوفر Scikit-learn الموارد على موقع GitHub الخاص به، بما في ذلك البرامج التعليمية التي توجه المستخدمين في استكشاف LLMs مفتوحة المصدر. ويسهّل هذا الإعداد نشر نموذج LLM المختار من خلال بيانات اعتماد واجهة برمجة التطبيقات، ما يسمح لـ scikit-learn بالاستفادة من قدرات معالجة اللغة الطبيعية المحسّنة.

المتطلبات

يُعَد الفهم العملي لبيئات Python وNumPy وSciPy وPandas وMatplotlib أمرًا ضروريًا للاستفادة من كفاءة scikit-learn، إذ تشكِّل هذه الأدوات أساسًا لمعالجة البيانات وهندسة الميزات والتصور البياني ضمن مسارات التعلم الآلي. توفِّر هذه المكتبات أساسًا للمعالجة المسبقة للبيانات وهندسة الميزات والتصور في مسارات التعلم الآلي. والإلمام بقدراتها يمكِّن من التعامل بكفاءة مع مجموعات البيانات واختيار الميزات ذات الصلة وعرض النتائج بصريًا، ما يؤدي في النهاية إلى تحسين أداء النموذج.

بيئة Python

 

تثبيت مستقل لبيئة Python ومكوناتها، يُتيح لك عزل متطلبات مشروعك وضمان الاتساق بين المشروعات المختلفة. يمكن إنشاؤها باستخدام أدوات مثل conda أو virtualenv.

Numpy

 

مكتبة توفِّر دعمًا للمصفوفات والصفوف متعددة الأبعاد والكبيرة، بالإضافة إلى مجموعة واسعة من الدوال الرياضية عالية الأداء للتعامل معها. وهي حزمة أساسية للحوسبة العلمية في Python.

Scipy

 

مكتبة مبنية على NumPy، توفِّر دوالَّ للتطبيقات العلمية والهندسية، مثل معالجة الإشارات والجبر الخطي والتحسين والإحصاء. تُستخدَم على نطاق واسع في مجالات مثل الفيزياء والهندسة وتحليل البيانات.

Pandas

 

مكتبة توفِّر هياكل بيانات ودوالَّ للتعامل بكفاءة مع البيانات المنظمة، بما في ذلك البيانات الجدولية مثل جداول البيانات وجداول SQL. وهي مفيدة بشكل خاص لتنظيف البيانات وتصفيتها وتجميعها ودمجها.

Matplotlib

 

مكتبة للرسم البياني توفِّر مجموعة واسعة من أدوات التصور، تُتيح لك إنشاء مخططات ورسوم بيانية ثنائية وثلاثية الأبعاد عالية الجودة. غالبًا ما يتم استخدامها بالاقتران مع NumPy وPandas لتصوُّر البيانات العلمية.

التطورات المستقبلية

مع استمرار تطور برنامج scikit-learn، تُبذل الجهود لتوسيع قدراته باستخدام تقنيات تجميعية متقدمة ومناهج التعلم الوصفي. ومن خلال تسخير قوة الشبكات العصبية إلى جانب الخوارزميات التقليدية، يهدف برنامج scikit-learn إلى توفير مجموعة الأدوات التي تلبي مجموعة واسعة من تحديات التعلم الآلي. ونَعد هذه التطورات بجعلها أكثر سهولة للممارسين الذين يتطلعون إلى الاستفادة من التقنيات المتطورة في عملهم.

حلول ذات صلة
®IBM® watsonx.ai

تدريب الذكاء الاصطناعي التوليدي والتحقق من صحته وضبطه ونشره، وكذلك قدرات نماذج الأساس والتعلم الآلي باستخدام IBM watsonx.ai، وهو استوديو الجيل التالي من المؤسسات لمنشئي الذكاء الاصطناعي. أنشئ تطبيقات الذكاء الاصطناعي في وقت قصير وباستخدام جزء بسيط من البيانات.

استكشف watsonx.ai
حلول الذكاء الاصطناعي

استفِد من الذكاء الاصطناعي في عملك بالاستعانة بخبرة IBM الرائدة في مجال الذكاء الاصطناعي ومحفظة حلولها التي ستكون بجانبك.

استكشف حلول الذكاء الاصطناعي
الاستشارات والخدمات في مجال الذكاء الاصطناعي

تساعد خدمات IBM Consulting AI في إعادة تصور طريقة عمل الشركات باستخدام حلول الذكاء الاصطناعي من أجل النهوض بأعمالها.

استكشف خدمات الذكاء الاصطناعي
اتخِذ الخطوة التالية

باستخدام الذكاء الاصطناعي، يكشف IBM Concert عن رؤى مهمة حول عملياتك ويقدم توصيات خاصة بالتطبيق من أجل التحسين. اكتشف كيف يمكن لمنصة Concert تعزيز نمو أعمالك.

استكشف Concert® استكشف حلول أتمتة عمليات الأعمال