ما هو Scikit-learn
Scikit-learn — هي واحدة من أشهر وأقوى مكتبات Python للتعلم الآلي مفتوحة المصدر. تم تطويرها في عام 2007 بواسطة David Cournapeau، وأصبحت المكتبة المعيار الفعلي لتنفيذ خوارزميات التعلم الآلي في نظام Python البيئي.
المهام والإمكانيات الرئيسية لـ Scikit-learn
توفر المكتبة أدوات جاهزة لحل مجموعة واسعة من مهام التعلم الآلي:
مهام التعلم الخاضع للإشراف:
- التصنيف — تحديد انتماء الكائنات إلى فئات معينة
- الانحدار — التنبؤ بقيم رقمية مستمرة
مهام التعلم غير الخاضع للإشراف:
- التجميع — تجميع الكائنات المتشابهة
- تقليل الأبعاد — ضغط البيانات مع الحفاظ على المعلومات المهمة
- كشف الشذوذ — تحديد القيم المتطرفة في البيانات
إمكانيات إضافية:
- المعالجة المسبقة للبيانات — التطبيع، القياس، الترميز
- اختيار الميزات — اختيار الخصائص الأكثر إفادة
- تقييم النماذج — مقاييس جودة مختلفة
- التحقق المتقاطع — اختبار استقرار النموذج
- ضبط المعلمات الفائقة — ضبط المعلمات تلقائياً
التثبيت والإعداد الأولي
التثبيت عبر pip
pip install scikit-learnالتثبيت مع التبعيات الإضافية
pip install scikit-learn pandas matplotlib seaborn jupyterالتحقق من التثبيت
import sklearnprint(sklearn.__version__)استيراد المكونات الرئيسية
# الوحدات الرئيسيةfrom sklearn.model_selection import train_test_split, cross_val_scorefrom sklearn.preprocessing import StandardScaler, LabelEncoderfrom sklearn.linear_model import LinearRegression, LogisticRegressionfrom sklearn.ensemble import RandomForestClassifierfrom sklearn.metrics import accuracy_score, classification_reportfrom sklearn.datasets import load_iris, make_classificationالهندسة المعمارية والمفاهيم الأساسية
Estimator (المقدر)
Estimator — هي الفئة الأساسية لجميع خوارزميات التعلم الآلي في Scikit-learn. كل estimator يطبق طريقتين رئيسيتين:
fit(X, y)— تدريب النموذج على البياناتpredict(X)— التنبؤ للبيانات الجديدة
from sklearn.linear_model import LinearRegression
model = LinearRegression()model.fit(X_train, y_train)predictions = model.predict(X_test)Transformer (المحول)
Transformer — فئة لتحويل البيانات. تطبق الطرق التالية:
fit(X)— تعلم معلمات التحويلtransform(X)— تطبيق التحويلfit_transform(X)— دمج fit و transform
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()X_scaled = scaler.fit_transform(X)Pipeline (خط الأنابيب)
Pipeline يسمح بدمج عدة خطوات لمعالجة البيانات والتدريب في تسلسل واحد:
from sklearn.pipeline import Pipelinefrom sklearn.preprocessing import StandardScalerfrom sklearn.svm import SVC
pipeline = Pipeline([ ('scaler', StandardScaler()), ('classifier', SVC())])
pipeline.fit(X_train, y_train)predictions = pipeline.predict(X_test)العمل مع البيانات
مجموعات البيانات المدمجة
يوفر Scikit-learn العديد من مجموعات البيانات الجاهزة