الفصل 2: اختبار أنظمة تعلم الآلة
أنواع اختبارات تعلم الآلة
| نوع الاختبار | ما يختبره | مثال |
|---|---|---|
| وحدة | الدوال الفردية | هندسة الميزات |
| بيانات | جودة البيانات | المخطط، القيم الفارغة |
| نموذج | سلوك النموذج | التنبؤات على المدخلات المعروفة |
| تكامل | من البداية إلى النهاية | API إلى التنبؤ |
| أداء | السرعة/استخدام الموارد | زمن الاستجابة، الذاكرة |
أمثلة على الاختبارات
# tests/test_model.py
import pytest
import numpy as np
class TestModel:
@pytest.fixture
def model(self):
return load_model("models/churn_model.pkl")
def test_prediction_shape(self, model):
X = np.random.randn(10, 15)
predictions = model.predict(X)
assert predictions.shape == (10,)
def test_prediction_range(self, model):
X = np.random.randn(100, 15)
predictions = model.predict_proba(X)
assert np.all(predictions >= 0) and np.all(predictions <= 1)
def test_known_input(self, model):
# ميزات العميل عالي المخاطر
high_risk = np.array([[0, 100, 365, 0, 1, ...]])
prob = model.predict_proba(high_risk)[0, 1]
assert prob > 0.7, "يجب أن يكون للعميل عالي المخاطر احتمال عالي للتسرب"
التالي: الفصل 3: التدريب المستمر