الترميز X و y، البطاقة والفئة

15 دقيقة
الكتلة 1 — المفردات الأساسية
الهدف
إتقان اصطلاح الترميز X / y وأصله، والتحقق في الكود من أبعاد كل منهما، وتعريف الوسم بدقة والفئة، وتعيين الفئة الموجبة وفق معيار صريح و قياس عواقبه، وتمييز الفئة الأغلبية والأقلية.
المدة المقدَّرة
35 دقيقة
المتطلبات السابقة
الفصول 001 إلى 006
الاختبارات المرتبطة
من 007.1-quiz-notation-x-y.md إلى 007.6-quiz-classes-majoritaire-minoritaire.md

1. اصطلاح الترميز X و y

1.1 القول الواجب فكّه

«نضبط النموذج على X و y، مع X بشكل (n, p) و y بشكل (n,)».

الترجمة الكاملة: ندرّب النموذج على جدول متغيرات توضيحية من n صفاً و p عموداً، وعلى عمود من n جواباً، الجواب رقم i يقابل الصف رقم i. وهذا الاصطلاح ليس أسلوبياً: إنه مطبَّع، وحالة الأحرف تحمل معلومة عن الطبيعة الرياضية للكائن.

1.2 الأصل: طباعة الجبر الخطي

الكائن الرياضيالطباعة الاصطلاحيةمثالعدد الأبعاد
عدديصغير مائل، أو حرف يونانيn، p، α0
متجهصغير، غالباً غليظy، x، β1
مصفوفةكبيرX، A، Σ2

هذا انضباط الترميز، السابق بعدة عقود على التعلّم الآلي، يُنسَب إلى Alston Householder (Principles of Numerical Analysis، 1953) ثم تبنّته أدبيات الجبر الخطي العددي.

النتيجة المباشرة: X كبير لأنه مصفوفة (ملاحظات ومتغيرات)؛ وy صغير لأنه متجه (قيمة لكل ملاحظة).

المصدر الثاني للاصطلاح هو الصياغة المصفوفية للنموذج الخطي، المعيارية في الإحصاء:

y = X β + ε ، ومقدِّر المربعات الصغرى β̂ = (Xᵀ X)⁻¹ Xᵀ y

حجة الاتساق البعدي: Xᵀ X لا معنى له إلا إذا كان X مصفوفة، وXᵀ y إلا إذا كان y متجهاً بطول يساوي عدد صفوف X. فالترميز يشترط مقروئية صيغ المجال.

تعريف — مصفوفة المتغيرات التوضيحية (X)

التعريف الدقيق

لتكن مجموعة بيانات من n ملاحظة موصوفة بـ p متغيراً توضيحياً. مصفوفة المتغيرات التوضيحية X هي عنصر Rn×p\mathbb{R}^{\text{n×p}} الذي حدّه xijx_{ij} هو القيمة التي يأخذها المتغير التوضيحي رقم j على الملاحظة رقم i. والصف رقم i من X، المرموز xix_i، هو متجه الخصائص (feature vector) للملاحظة i. مرادفات: مصفوفة الخطة (design matrix)، مصفوفة المتنبئات، feature matrix.

ترجمة إلى اللغة اليومية: جدول المعلومات المقدَّمة للنموذج، بعد تجريده من العمود المراد التنبؤ به والأعمدة بلا دور توضيحي.

نقطة انتباه: لا يحتوي X لا على الهدف ولا على المعرّفات ولا على أعمدة التتبع؛ وأي عمود محتفَظ به ستستخدمه الخوارزمية، بما فيه معرّف مرتبط عرضاً بالهدف (الفصلان 005 و 028).

تعريف — متجه الهدف (y)

التعريف الدقيق

متجه الهدف y هو عنصر Rn\mathbb{R}^n في الانحدار، أو Cn\mathcal{C}^n في التصنيف حيث 𝒞 المجموعة المنتهية من الفئات، الذي مكوّنه رقم i yiy_i هو قيمة المتغير الهدف الملاحَظة للملاحظة رقم i. و التقابل موضعي: yiy_i هو الجواب المرتبط بالصف xix_i من X. مرادفات: متجه الجواب، المتغير التابع، target، labels.

ترجمة إلى اللغة اليومية: عمود الأجوبة الصحيحة، بترتيب صفوف الجدول.

نقطة انتباه: y كائن ببعد واحد، بشكل (n,) و ليس (n, 1) — تمييز بلا أثر في الرياضيات، لكنه حقيقي في الكود (الفقرة 2.3).

1.3 فصل الجدول إلى X و y

python
df = pd.read_csv("transactions.csv")

CIBLE, HORS_MODELE = "statut", ["transaction_id", "date_operation"]
X = df.drop(columns=[CIBLE] + HORS_MODELE)
y = df[CIBLE]

التفسير: يُبنى X بالطرح، لا بتعداد الأعمدة المحتفَظ بها؛ فعمود مضاف في أعلى السلسلة يدخل إذن تلقائياً في النموذج، وهو ما يفرض مراجعة صريحة للمخطط.

التنويعات والترميز الخاطئ: Y الكبير مبرَّر لهدف متعدّد المخرج، بشكل (n, t)، وخاطئ لهدف واحد. وجزء من أدبيات الشبكات العصبية يضع الملاحظات في أعمدة، مع X بشكل (p, n): تنويعة متسقة داخلياً، لكنها غير متوافقة مع واجهة scikit-learn التي تتطلّب الملاحظات في صفوف.


2. الأبعاد والتحقق منها في الكود

2.1 الأعداد الصحيحة البنيوية والثابت

الرمزالاسمالمكافئ في scikit-learnما يعدّه
nعدد الملاحظاتn_samplesصفوف X، طول y
pعدد المتغيرات التوضيحيةn_featuresأعمدة X
kعدد الفئاتn_classesالأنماط المتميّزة لـ y

تشير بعض المراجع بـ d إلى عدد المتغيرات و m إلى عدد الملاحظات: الحرف قليل الأهمية، والموضع مهم، فالمحور الأول هو محور الملاحظات.

تتحقق scikit-learn تلقائياً من تساوي الأطوال. أما التقابل صفاً بصف فلا يمكن لأي مكتبة التحقق منه: إنه خاصية للكود الذي أنتج X و y.

تذكير مفردات: الشكل (shape) هو صف أحجام المحاور. يحتوي (n,) و (n, 1) على العدد نفسه من القيم لكن ليس الرتبة نفسها — متجه من جهة، ومصفوفة بعمود واحد من جهة أخرى.

2.2 التحقق المنهجي

python
print("X :", X.shape)
print("y :", y.shape)
print("y ndim :", y.ndim)
print("longueurs égales :", X.shape[0] == y.shape[0])
X : (120000, 14)
y : (120000,)
y ndim : 1
longueurs égales : True

التفسير: 120 000 ملاحظة موصوفة بـ 14 متغيراً و 120 000 قيمة هدف؛ ورتبة 1 لـ y تؤكد أنه متجه. بتكلفة معدومة، يُكرَّر التحقق بعد كل ترشيح.

2.3 فخ المتجه العمودي

python
y_correct = df["statut"]     # Series pandas -> forme (120000,)   ndim 1
y_faux = df[["statut"]]      # DataFrame     -> forme (120000, 1) ndim 2

مُمرَّراً إلى مقدِّر، يطلق الثاني التحذير التالي، الذي لا يقطع التنفيذ ويتكرّر عند كل تكرار تحقّق:

DataConversionWarning: A column-vector y was passed when a 1d array was
expected. Please change the shape of y to (n_samples,), for example using
ravel().

التصحيح: df["statut"] أو df[["statut"]].to_numpy().ravel().

2.4 الخطأ الكلاسيكي: فقدان المحاذاة بين X و y

السيناريو الأكثر انتشاراً يتمثّل في ترشيح X بعد استخراج y.

python
X = df.drop(columns=["transaction_id", "date_operation", "statut"])
y = df["statut"]

X = X.dropna()          # 2 570 lignes retirées de X, aucune de y
RandomForestClassifier().fit(X, y)
ValueError: Found input variables with inconsistent numbers of samples:
[117430, 120000]

التفسير: الخطأ حميد لأنه صاخب — مراقبة الاتساق تقطع التنفيذ قبل أي تعلّم. والشكل الصحيح يرشّح الجدول المصدر قبل الفصل.

الحالة الخطرة هي فقدان المحاذاة الصامت: تُحفَظ الأطوال، لكن ترتيب الصفوف يتباعد.

python
X = df.drop(columns=["transaction_id", "date_operation", "statut"])
X = X.sort_values("montant")      # réordonnancement de X seul
y = df["statut"]

print(X.shape[0] == y.shape[0])
print(cross_val_score(RandomForestClassifier(), X, y, cv=5,
                      scoring="roc_auc").mean().round(3))
True
0.501

التفسير: لا يُرفَع أي استثناء. تحوّل المقدِّرات كائنات pandas إلى جداول NumPy وتجاهل الفهرس: يُفقَد التقابل بلا إشارة، ويتعلّم النموذج ارتباطاً بين معاملات ووسوم معاملات أخرى. وROC-AUC يبلغ 0,501 على مشكلة يُعتقَد أنها قابلة للتنبؤ هو توقيع فقدان محاذاة، لا توقيع خوارزمية سيئة.

ضمان: الفهرس عندئذ الشاهد الوحيد على التقابل — assert X.index.equals(y.index). ترشيح يرفع استثناء، إذن يبقى حميداً؛ أما sort_values() و sample(frac=1) و reset_index(drop=True) الأحادي فصامتة، إذن حرجة.


3. الوسم والـ label

يُترجَم Label بـ وسم (étiquette)؛ والمصطلحان متكافئان و يتعايشان في الأوساط الناطقة بالفرنسية، وكذلك étiqueter و annoter و التعريب labelliser.

تعريف — الوسم (label)

التعريف الدقيق

قيمة المتغير الهدف المرتبطة بملاحظة في مجموعة بيانات تعلّم مُوجَّه، تُعدّ جواب المرجع لهذه الملاحظة. والمجموعة المرتَّبة من الوسوم تشكّل متجه الهدف y.

ترجمة إلى اللغة اليومية: الجواب الصحيح، المعروف سلفاً، المرتبط بصف الجدول.

نطاق المصطلح: بالمعنى الدقيق، الوسم قيمة فئوية تسمّي فئة انتماء الملاحظة. في التصنيف، الوسم فئة؛ وفي الانحدار، القيمة المرتبطة قيمة هدف عددية وليست وسماً بالمعنى الدقيق، حتى لو وسّع الاستخدام المهني الكلمة إلى الوضعين.

نقطة انتباه: الوسم ليس حقيقة مطلقة بل قيمة مسجَّلة، قد تكون خاطئة أو تعكس قرار مشغّل قابل للخطأ. والحقيقة الميدانية (ground truth)، مجموعة قيم المرجع التي تُستخدَم للحكم على النموذج، ليست إذن الواقع بل قياسه المتاح: مجموعة احتيال تتضمّن الاحتيالات المكتشَفة، والأخرى تحمل الوسم «طبيعي».

3.1 وسم التصنيف وقيمة هدف الانحدار

المعيارالتصنيفالانحدار
طبيعة yiy_iفئةعدد حقيقي
المصطلح الدقيقوسم فئة (class label)قيمة هدف، قيمة جواب
مجموعة الوصولمجموعة منتهية 𝒞، ذات أصل kℝ أو فترة من ℝ
الفجوة بين قيمتينغير معرَّفةمعرَّفة وقابلة للتفسير
مثالstatut ∈ {Fraude, Normal}montant_sinistre = 4 380,50 $

نقطة انتباه: لا يُقرَأ التمييز في النوع المعلوماتي للعمود — هدف مرمَّز 0 و 1 عددي بمعنى pandas و فئوي بمعنى إحصائي. والمعيار هو طبيعة الظاهرة المقيسة (الفصل 010).

جودة الوسم: بين الظاهرة والقيمة المسجَّلة في y تتوسّط كشف وتسجيل، كلاهما قابل للخطأ. عندما يوسم عدة مشغّلين الملاحظات نفسها، يحدّ معدّل خلافهم الأداء القابل للبلوغ؛ ويقيس كابا (Cohen، 1960) هذا الاتفاق بتصحيح أثر الصدفة.


4. الفئة، الترميز 0/1 واصطلاحاته

تعريف — الفئة (classe)

التعريف الدقيق

نمط المتغير الهدف لمشكلة تصنيف. وتشكّل مجموعة الـ k فئات تجزئة لفضاء الملاحظات: كل ملاحظة تنتمي إلى فئة واحدة فقط؛ فالفئات إذن متنافية وشاملة جماعياً.

ترجمة إلى اللغة اليومية: إحدى الفئات الممكنة للجواب، وواحدة فقط لكل صف.

الأصل: k = 2 في التصنيف الثنائي، k > 2 في متعدّد الفئات؛ و التصنيف متعدّد الوسوم يرفع فرضية التنافي (الفصل 011).

نقطة انتباه: الفئة نمط الهدف؛ أما أنماط متغير توضيحي ففئات (الفصل 022).

4.1 من الوسم النصي إلى الرمز العددي

تتلاعب معظم المقدِّرات بوسوم عددية. والتحويل آلي، لكنه يحمل قراراً ضمنياً: أي فئة تتلقّى 1.

python
from sklearn.preprocessing import LabelEncoder

encodeur = LabelEncoder().fit(df["statut"])
print(dict(zip(encodeur.classes_, encodeur.transform(encodeur.classes_))))
{'Fraude': 0, 'Normal': 1}

التفسير: يرتّب LabelEncoder الأنماط بـ ترتيب معجمي. ولما كانت «Fraude» تسبق «Normal» في الأبجدية، يتلقّى الاحتيال الرمز 0 والسلوك الطبيعي الرمز 1؛ والمقاييس التي تحتفظ بـ pos_label=1 افتراضياً، تصبح الفئة الموجبة «Normal» — عكس النية المهنية، بلا أي تحذير.

الشكل الموصى به: التصريح بالترميز بدلاً من الخضوع له.

python
y = (df["statut"] == "Fraude").astype(int)
print(y.value_counts())
statut
0    119652
1       348
Name: count, dtype: int64

التفسير: الرمز 1 يشير إلى الاحتيال بالبناء لا بالصدفة الأبجدية، وسطر كود واحد يوثّق القرار.

4.2 اصطلاحات الترميز الواجب معرفتها

الاصطلاحالمحتوىالسياق
0 / 10 = غياب الظاهرة، 1 = حضورمعياري في التصنيف الثنائي
ترتيب معجميتُرتَّب الأنماط ثم تُرقَّمالسلوك الافتراضي لـ scikit-learn
classes_سمة تعرض الترتيب الذي احتفظ به المقدِّريجب استشارتها منهجياً

نقطة انتباه على predict_proba: تتضمّن المصفوفة المعادة عموداً لكل فئة، مرتَّبة وفق estimateur.classes_. مع classes_ يساوي [0 1] و 1 يشير إلى الاحتيال، يحمل predict_proba(X_test)[:, 1] فعلاً احتمال الاحتيال؛ ومع وسوم نصية غير مرمَّزة، سيحمل احتمال أن يكون طبيعياً، منتجاً ROC-AUC أدنى من 0,5 بلا رفع أي خطأ.


5. اختيار الفئة الموجبة

تعريف — الفئة الموجبة والفئة السالبة

التعريف الدقيق

في مشكلة تصنيف ثنائي، الفئة الموجبة هي النمط للمتغير الهدف المعيَّن حدث اهتمام؛ وتخدم مرجعاً لحساب الكميات TP و FP و FN و TN وكل المقاييس غير المتناظرة المشتقّة منها، والفئة السالبة هي النمط المكمِّل. والمفردات مستعارة من التشخيص الطبي، حيث اختبار «موجب» يشير إلى حضور الحالة المبحوث عنها.

ترجمة إلى اللغة اليومية: الفئة الموجبة هي ما نسعى إلى كشفه.

نقطة انتباه: «موجب» ليس «مواتياً». في نموذج فحص، الفئة الموجبة هي «مصاب»؛ وفي نموذج انسحاب، «يلغي». المصطلح وصفي، لا تقييمي.

تشبيه — اختبار الفحص

مريض يعود اختباره موجباً لم يتلقَّ خبراً ساراً. و المختبر لم يعبّر عن حكم قيمة: أشار إلى أن المادة المبحوث عنها اكتُشِفت.

اختبار مصمَّم لكشف مرض يُعايَر على المرض: لا أحد يسأل «ما حساسية هذا الاختبار للصحة الجيدة». وفئة نموذج موجبة تخضع للمنطق نفسه — إنها المادة المبحوث عنها.

5.1 معيار التعيين

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

حالة الاستخدامالفئة الموجبةالفئة السالبةالفعل المطلَق
كشف احتيالاحتيالطبيعيحظر أو مراجعة يدوية
فحص طبيمصابسليمفحص تكميلي
انسحاب عميليلغييبقىعرض احتفاظ
صيانة تنبؤيةعطل خلال 30 يوماًتشغيل اسميتدخّل وقائي

5.2 العواقب على المقاييس

ليكن نموذج مقيَّم على 24 000 معاملة منها 70 احتيالاً، الاحتيال معيَّن موجباً:

متنبَّأ طبيعيمتنبَّأ احتيال
حقيقي طبيعيTN = 23 620FP = 310
حقيقي احتيالFN = 28TP = 42
python
for nom, val in [("Accuracy", accuracy_score(y_test, y_pred)),
                 ("Precision fraude", precision_score(y_test, y_pred, pos_label=1)),
                 ("Recall fraude", recall_score(y_test, y_pred, pos_label=1)),
                 ("F1 fraude", f1_score(y_test, y_pred, pos_label=1)),
                 ("F1 normal", f1_score(y_test, y_pred, pos_label=0))]:
    print(f"{nom:<17}: {val:.4f}")
Accuracy         : 0.9859
Precision fraude : 0.1193
Recall fraude    : 0.6000
F1 fraude        : 0.1990
F1 normal        : 0.9929

التفسير: النموذج نفسه، على التنبؤات نفسها، يعرض درجة F1 تبلغ 0,199 أو 0,993 حسب الفئة المعيَّنة موجبة: كاشف متواضع من جهة، ونظام ممتاز ظاهرياً يمرّر 40 % من الاحتيالات من جهة أخرى.

المقياسالسلوك عند عكس الفئة الموجبة
Accuracy، Balanced Accuracy، Log Loss، معامل Matthewsثابتة
Precision، Recallتصبحان على التوالي القيمة التنبؤية السالبة والنوعية للتعيين القديم
F1-score، PR-AUCتتغيّران، جذرياً في حال اختلال
ROC-AUCدون تغيّر إذا كانت الدرجة المستخدَمة درجة الفئة الموجبة الجديدة؛ تصبح 1 − AUC وإلا

تُعرَّف هذه المقاييس واحدة تلو الأخرى في الفصول 052 إلى 065؛ وما يجب اكتسابه هنا هو اعتمادها على فئة المرجع. ويحكم التعيين أيضاً قراءة مصفوفة الالتباس، حيث تبادل الأدوار يحوّل سلبياً كاذباً إلى إيجابي كاذب (الفصل 052)، واتجاه تحريك العتبة (الفصل 062) والفئة التي يعزّزها class_weight وإعادة العيّنة الزائدة (الفصل 051).

5.3 الأخطاء الكلاسيكية في التعيين

الخطأ الكلاسيكيالتجلّيالتصحيح
ترك الترتيب الأبجدي يقرّر«Fraude» مرمَّز 0 بـ LabelEncoderترميز فئة الاهتمام صراحة بـ 1
الخلط بين موجب ومواتٍ«عميل وفي» معيَّن موجباً في نموذج انسحابموجب = الحدث المبحوث عنه
تعيين الفئة الأغلبيةمقاييس مجاملة وغير قابلة للاستغلالتعيين الحدث النادر الواجب كشفه
إغفال pos_label مع وسوم نصيةValueError: pos_label=1 is not a valid labelتمرير pos_label="Fraude" أو إعادة ترميز 0/1
قراءة confusion_matrix().ravel() دون التحقق من الترتيبTN، FP، FN، TP مقلوبةتثبيت labels= والتحكّم في classes_

توصية: ينتمي التعيين إلى تأطير المشكلة، بقدر وحدة التحليل: يُحسَم مع المجال، ويُكتَب بوضوح، ويتجسّد بتعبير صريح واحد.


6. الفئة الأغلبية والفئة الأقلية

تعريف — الفئة الأغلبية، الفئة الأقلية، الانتشار

التعريف الدقيق

الفئة الأغلبية هي ذات العدد الأعلى في المجموعة المعنيّة، والفئة الأقلية ذات العدد الأدنى؛ وفي متعدّد الفئات، يمتد التوصيف بترتيب تنازلي للأعداد. و انتشار الفئة الموجبة هو نسبة ملاحظات هذه الفئة، π = n₁ / n؛ ونسبة الاختلال (imbalance ratio) هي الحاصل IR = nmajn_{\mathrm{maj}} / nminn_{\mathrm{min}}.

ترجمة إلى اللغة اليومية: الفئة الأكثر تكراراً والأندر؛ نسبة الحالات الموجبة وعدد السوالب لكل موجب.

نقطة انتباه: هذه التوصيفات تجريبية؛ تصف تركيب عيّنة، لا خاصية للظاهرة. مجموعة معاد عيّنتها قد تعرض أعداداً متساوية بينما تبقى الظاهرة نادرة في المجتمع، وهو السبب الذي لأجله يجب ألا تُعاد موازنة مجموعة الاختبار أبداً (الفصل 051).

نقطة انتباه ثانية: ما يحدّ التعلّم ليس النسبة وحدها بل العدد المطلق للفئة الأقلية. نسبة 100:1 مع 5 000 موجب قابلة للاستغلال؛ والنسبة نفسها مع 30 موجباً ليست كذلك، أيّاً كانت التقنية المستخدَمة.

6.1 ملاحظة في الكود

python
effectifs = df["statut"].value_counts()
print(effectifs)
print("Prévalence :", round(effectifs["Fraude"] / effectifs.sum(), 5))
print("Ratio de déséquilibre :", round(effectifs.max() / effectifs.min(), 1), ": 1")
statut
Normal    119652
Fraude       348
Name: count, dtype: int64

Prévalence : 0.0029
Ratio de déséquilibre : 343.8 : 1

التفسير: الأغلبية هي «Normal» بـ 99,71 % من الملاحظات، والأقلية «Fraude» بـ 0,29 %، أي نحو 344 معاملة طبيعية لكل معاملة احتيالية. والعدد المطلق 348 احتيالاً ضعيف: بعد تقطيع 80/20، لن يحتوي الاختبار إلا على نحو 70، وهو ما يجعل أي مقياس محسوب على هذه الفئة غير مستقر ويفرض تقطيعاً طبقياً (الفصل 027).

توصية: value_counts() على الهدف هو أول أمر يُنفَّذ بعد تحميل مجموعة تصنيف؛ ويشترط اختيار المقاييس واستراتيجية التقطيع ومعالجة الاختلال. وتمتد الانتشارات من 15 % إلى 30 % في انسحاب الاتصالات إلى أقل من 0,1 % في كشف التسلل: الاختلال هو الوضعية الطبيعية.

6.2 موجبة وأقلية: مفهومان متميّزان

يجمع التكوين الراجح الموجبة والأقلية، لكن مراقبة جودة حيث 92 % من القطع مطابقة وحيث نشهد بالمطابقة تعيّن الأغلبية مشروعاً موجبة. وبعد إعادة الموازنة، لا تعود الموجبة أقلية في التدريب، لكنها تبقى كذلك في الاختبار.

6.3 النتيجة الفورية: الدقة المضلِّلة

python
modele_nul = DummyClassifier(strategy="most_frequent").fit(X_train, y_train)
y_nul = modele_nul.predict(X_test)

print("Accuracy      :", round(accuracy_score(y_test, y_nul), 4))
print("Recall fraude :", round(recall_score(y_test, y_nul, pos_label=1), 4))
Accuracy      : 0.9971
Recall fraude : 0.0

التفسير: نموذج يتنبأ منهجياً بـ «Normal» يبلغ 99,71 % دقة ولا يكشف أي احتيال — عديم الفائدة تماماً و مقيَّم جيداً تماماً. وهذا السبب الذي لأجله تُستبعَد الدقة ما إن يكون الاختلال بارزاً. ويشكّل مثل هذا النموذج المرجع (baseline) الإلزامي للمشروع: نموذج لا يتجاوزه لم يتعلّم شيئاً (الفصلان 050 و 051).


7. أخطاء الاستدلال الشائعة

خطأ — اعتبار تساوي الأطوال دليلاً على المحاذاة

X.shape[0] == y.shape[0] شرط ضروري، ليس كافياً أبداً: ترتيب أو خلط أو إعادة فهرسة مطبَّقة على أحد الكائنين فقط تحفظ الأطوال وتدمّر التقابل، بصمت.

الصياغة الصحيحة: «الثابت الواجب الحفاظ عليه هو التقابل الموضعي: الصف i من X والقيمة yiy_i يصفا الملاحظة نفسها. وكل ترشيح أو ترتيب يُطبَّق على الجدول المصدر، قبل الفصل.»

خطأ — ترك الترميز يعيّن الفئة الموجبة

يرتب LabelEncoder الأنماط ترتيباً معجمياً: مع «Fraude» و «Normal»، يتلقّى الاحتيال الرمز 0 والمقاييس، التي تحتفظ بـ pos_label=1 افتراضياً، تقيس عندئذ الفئة «Normal».

الصياغة الصحيحة: «تُعلَن الفئة الموجبة صراحة، مثلاً y = (df["statut"] == "Fraude").astype(int)، وتُتحقَّق بقراءة classes_ بعد الضبط.»

خطأ — الخلط بين فئة موجبة وفئة مواتية

«موجب» يعني «حضور الحالة المبحوث عنها»: المصطلح وصفي لا تقييمي. والفئة الموجبة لنموذج فحص هي «مصاب»، وتلك لنموذج انسحاب «يلغي».

الصياغة الصحيحة: «الفئة الموجبة هي الحدث الذي كُلِّف النموذج بكشفه، مستقلاً عن طابعه المرغوب.»

خطأ — الإعلان عن مقياس دون تسمية الفئة

Precision و recall و F1-score و PR-AUC غير متناظرة: على النموذج نفسه، تبلغ درجة F1 0,199 للاحتيال و 0,993 للسلوك الطبيعي.

الصياغة الصحيحة: «درجة F1 على فئة Fraude تبلغ 0,199»، و ليس أبداً «درجة F1 للنموذج تبلغ 0,199».

خطأ — مماهاة الفئة الأقلية والفئة الموجبة بالتعريف

تنتج الفئة الموجبة عن قرار منهجي، والفئة الأقلية عن عدّ؛ وتطابقهما واقعة تجريبية. وبعد إعادة الموازنة، لا تعود الفئة الموجبة أقلية في التدريب لكنها تبقى كذلك في الاختبار.

الصياغة الصحيحة: «الفئة الموجبة تُعيَّن، والفئة الأقلية تُلاحَظ.»


8. الخلاصة

الترميز
    X   مصفوفة المتغيرات التوضيحية   شكل (n, p)   كبير
    y   متجه الهدف                        شكل (n,)     صغير
    الأصل : طباعة الجبر الخطي
    مصفوفة = كبير، متجه = صغير، عددي = مائل

ثابت المحاذاة
    ضروري : X.shape[0] == y.shape[0]
    كافٍ  : الصف i من X و y_i يصفا الملاحظة نفسها
    فقدان المحاذاة الصامت لا يرفع أي استثناء.

الوسم والفئة
    الوسم : قيمة المتغير الهدف لملاحظة.
        تصنيف = وسم فئة، فئوي
        انحدار     = قيمة هدف، عددية
    الفئة : نمط الهدف ؛ تشكّل الفئات تجزئة،
        متنافية وشاملة.
    الحقيقة الميدانية قياس، لا الواقع.

الفئة الموجبة
    معيَّنة، لا ملاحَظة.
    المعيار : الحدث الذي نسعى إلى كشفه
              والذي يطلق فعلاً.
    موجب = حضور الظاهرة، ليس أبداً «مواتياً».
    تحدّد precision، recall، F1، PR-AUC
    وقراءة مصفوفة الالتباس.

الفئة الأغلبية / الأقلية
    ملاحَظتان بالعدّ : value_counts()
    الانتشار = n_positifs / n     النسبة = n_maj / n_min
    العدد المطلق للأقلية يهم بقدر النسبة.

عبارة تلخيصية

X كبير لأنه مصفوفة بشكل (n, p) و y صغير لأنه متجه بشكل (n,)، وتقابلهما موضعي وغير مضمون بتساوي أطوالهما وحده؛ و الوسم هو قيمة المتغير الهدف المسجَّلة لملاحظة، والفئة نمط هذا المتغير، والفئة الموجبة هي التي تسعى المنظمة إلى كشفها — تعيين منهجي، متميّز عن ملاحظة الأقلية، وتعتمد عليه مصفوفة الالتباس وكل المقاييس غير المتناظرة.


الاختبارات المرتبطة

  • 007.1-quiz-notation-x-y.md
  • 007.2-quiz-dimensions-alignement.md
  • 007.3-quiz-etiquette-label.md
  • 007.4-quiz-classe-encodage.md
  • 007.5-quiz-classe-positive.md
  • 007.6-quiz-classes-majoritaire-minoritaire.md

الفصل التالي: 008-algorithme-vs-modele.md