هندسة الميزات واختيار الميزات
1) الغرض والمبادئ
الهدف: بناء سمات ثابتة وقابلة للتفسير واقتصادية متفق عليها بين الإنترنت وغير المتصل بالإنترنت.
المبادئ:- نقطة في الوقت: يتم حساب الميزات من البيانات المتاحة في وقت الحل، دون المستقبل (منع التسرب).
- المجال أولاً: تعكس الميزات ميكانيكا الأعمال (الودائع والجلسات وأنواع الألعاب و RG/AML).
- إعادة الاستخدام والعقود: إصدارات متجر الميزات والمالكين والصيغ و SLOs.
- إدراك التكلفة: نحن نعتبر أن زمن الوصول وتكلفة الحوسبة/التخزين → تتحقق فقط.
- إمكانية الرصد: رصد الانجراف/الاستقرار/المعايرة ؛ اختبار التعادل عبر الإنترنت/خارج الإنترنت.
2) التصنيف المميز لـ iGaming
RFM/behavioral: recency/wrequency/financial by windows (10 m/1h/1d/7d/30d).
الجلسة: المدد والتوقف المؤقت وتغييرات الجهاز/ASN وسرعة العمل.
المالية: الودائع/السحوبات/استرداد التكاليف، أسهم طرق الدفع، تطبيع العملات الأجنبية.
الألعاب: ملفات تعريف النوع، تقلب المزود، مجموعات RTP، سلسلة الفوز.
التسويق: القنوات/UTM، استجابات الحملة، التشبع/التهدئة.
RG/AML: حدود، أعلام الاستبعاد الذاتي، أنماط السرعة، إعادة استخدام BIN/IP.
Geo/time: التقويمات/العطلات المحلية، ساعة الحزام، المساء/الليل.
الرسم البياني: روابط المستخدم-بطاقة-الجهاز-ip، المركزية/المكونات، حلقات الاحتيال.
NLP/النصوص: مواضيع ونبرة التذاكر/الدردشات ؛ الشكاوى الرئيسية.
التشغيل: أخطاء التأخر/المزود، استقرار الجلسة (لنماذج SRE).
3) النوافذ والمجمعات (نقطة زمنية)
النوافذ النموذجية: 10 م/1 ساعة/24 ساعة/7 د/30 د. لكل نافذة - عد/مجموع/متوسط/std/last/max/min، النسبة والمعدل.
نموذج SQL (ودائع 30d، بدون مستقبل):sql
SELECT u.user_pseudo_id, t.asof,
SUM(CASE WHEN e.type='deposit'
AND e.event_time>=t.asof - INTERVAL '30' DAY
AND e.event_time< t.asof THEN e.amount_base ELSE 0 END) AS dep_30d,
COUNT(CASE WHEN e.type='bet'
AND e.event_time>=t.asof - INTERVAL '7' DAY
AND e.event_time< t.asof THEN 1 END) AS bets_7d
FROM silver.fact_events e
JOIN (SELECT user_pseudo_id, DATE(event_time) AS asof
FROM silver.fact_events GROUP BY 1,2) t USING(user_pseudo_id)
JOIN dim.users_scd u ON u.user_pseudo_id=t.user_pseudo_id
AND t.asof >= u.valid_from AND (u.valid_to IS NULL OR t.asof < u.valid_to)
GROUP BY 1,2;
4) الترميزات الفئوية
One-Hot/Hashing: للفئات النادرة/عالية الكاردينال (الألعاب ومقدمي الخدمات).
ترميز الهدف (TE): متوسطات الهدف مع k-fold/leave-one-out ومكافحة التسرب المدركة للوقت.
WOE/IV (تسجيل المخاطر): صناديق رتيبة مع التحكم والاستقرار الرابع.
python for fold in time_folds:
train_idx, val_idx = split_by_time(fold)
te_map = target_mean(train[["provider_id","label"]])
val["provider_te"] = val["provider_id"].map(te_map).fillna(global_mean)
5) التطبيع والتوسع
Min-max/Storust/Z-score - بواسطة نافذة التدريب ؛ حفظ المعلمات في القطع الأثرية.
سجل التحويلات للذيول الطويلة/الرهان.
Box-Cox/Yeo-Johnson - عندما يكون التماثل مطلوبًا.
6) السمات المؤقتة والموسمية
التقويم: يوم الأسبوع، الساعة، عطلة السوق (المرجع التقويم)، يوم الدفع.
التردد: متوسطات متحركة/إكسبون. (EMA), deltas (t − t-1).
على أساس الحدث: الوقت منذ الوديعة/الفوز/الخسارة الأخيرة، «التبريد».
7) ميزات الرسم البياني (الاحتيال/AML)
الرؤوس: المستخدم/البطاقة/الجهاز/المرجع. الحواف: المعاملات/الجلسات/الخصائص المشتركة.
الميزة: حجم المكون، الدرجة، الطمأنينة، الحفلة، الثلاثيات، الظهور مرة أخرى.
النمط: تقوم الدفعة الليلية ببناء رسم بياني → التضمين/المركزية → ذاكرة التخزين المؤقت عبر الإنترنت.
8) ميزات NLP (الدعم/الدردشة/المراجعات)
أساسية: المواضيع، والمشاعر، والطول، وتواتر الشكاوى.
متقدم: تضمين (جملة-BERT) → متوسط التذاكر لكل نافذة.
PII: ما قبل وما بعد الإخفاء (البريد الإلكتروني، PAN، الهواتف) حسب السياسة.
9) Geo/ASN والأجهزة
IP→Geo/ASN: نقوم بالتخزين المؤقت والتحديث ؛ لا تقدم طلبات متزامنة عبر الإنترنت بدون مهلة/مخبأ.
الميزات: ثبات ASN/DeviceID، تردد التحول، المسافة بين عمليات تسجيل الدخول.
10) مكافحة التسرب والتسوية عبر الإنترنت/خارج الإنترنت
انضم في الوقت المناسب، ولا توجد أحداث مستقبلية في النوافذ/الملصقات.
رمز تحويل واحد (مكتبة) غير متصل بالإنترنت وعبر الإنترنت.
اختبار التكافؤ: في العينة T، نقارن قيم الميزة عبر الإنترنت مع غير متصل بالإنترنت (MAE/MAPE).
yaml name: deposits_sum_10m owner: ml-risk slo: {latency_ms_p95: 20, availability: 0.999}
offline:
source: silver.payments transform: "SUM(amount_base) OVER 10m BY user_pseudo_id"
online:
compute: "streaming_window: 10m"
tests:
- compare_online_offline_max_abs_diff: 0.5
11) اختيار الميزة
11. 1 مرشح
11. 2 غلاف
RFE/Sequential FS: on small groups/logistic regression.
اختيار الاستقرار: الاستقرار في أخذ عينات bootstrap.
11. 3 مضمنة
L1/Lasso/ElasticNet: نادرة.
الأشجار/الفريق العامل المعني بالتنمية المستدامة: الأهمية/فريق العمل المعني بالتنمية المستدامة للاختيار والتفسير التجاري.
مجموعة لاسو: اختيار المجموعة (مجموعات من سمات سلة المهملات لمتغير واحد).
python
X = preprocess(raw) # one-hot/TE/scale
X = drop_const_and_corr(X, thr=0.95)
rank_mi = mutual_info_rank(X, y)
keep1 = topk(rank_mi, k=200)
model = LGBMClassifier(...)
model.fit(X[keep1], y)
shap_vals = shap.TreeExplainer(model).shap_values(X[keep1])
keep2 = stable_topk_by_shap(shap_vals, k=60, bootstrap=20)
final = keep2
12) الاستقرار والانجراف والمعايرة
الانجراف: PSI/KS للميزات والسرعة ؛ عند تجاوز العتبات.
الاستقرار: راقب TE/WOE «الهش» (الكاردينالية/التحولات).
المعايرة: بلات/إيزوتونيك ؛ تقارير الموثوقية.
تحليل الشرائح: الأسواق/مقدمو/الأجهزة - المقاييس والتكلفة المتوقعة للأخطاء.
13) هندسة التكاليف والأداء
التكلفة لكل ميزة (CPF): ميزانية نموذج وحدة المعالجة المركزية/IO/الشبكة/التخزين →.
التجسيد: ثقيل غير متصل بالإنترنت، خفيف على الإنترنت ؛ TTL/مخبأ للميزات الساخنة.
عمليات البحث عن بُعد: async + cache فقط ؛ p95 <20-30 ms على الميزة عبر الإنترنت.
رد التكاليف: حساب تكلفة الميزة/الاستدلال حسب الأمر.
14) متجر الميزات (نواة الاتساق)
السجل: الاسم، الصيغة، المالك، SLO، الاختبارات، الإصدارات.
التزامن عبر الإنترنت/غير متصل: رمز تحويل واحد، اختبار المساواة.
السجلات/عمليات مراجعة الحسابات: من الذي غير الصيغة ؛ على المقاييس النموذجية.
15) أمثلة
ClickHouse: مجاميع الرهان الدقيقة:sql
CREATE MATERIALIZED VIEW mv_bets_1m
ENGINE = SummingMergeTree()
PARTITION BY toDate(event_time)
ORDER BY (toStartOfMinute(event_time), user_pseudo_id)
AS
SELECT toStartOfMinute(event_time) AS ts_min,
user_pseudo_id,
sum(stake_base) AS stake_sum_1m,
count() AS bets_1m
FROM stream.game_events
GROUP BY ts_min, user_pseudo_id;
انخفاض مكافحة الارتباط (فكرة SQL):
sql
-- вычислить корреляции и удалить пары с ρ >0.95, сохранив более «дешевую» фичу
WOE binning (رسم تخطيطي):
python bins = monotonic_binning(x, y, max_bins=10)
woe = compute_woe(bins)
iv = compute_iv(bins)
16) العمليات و RACI
R (مسؤول): Data Eng (خطوط الأنابيب/متجر الميزات)، Data Science (ميزة التصميم/الاختيار/المقاييس).
ألف (مسؤول): رئيس قسم البيانات/المدير التنفيذي.
جيم (استشاري): الامتثال/DPO (PII، الإقامة)، المخاطر/AML/RG (السياسة)، SRE (SLO/التكلفة)، الأمن.
I (معلومات): المنتج/التسويق/العمليات/الدعم.
17) خارطة طريق
أفضل لاعب (3-5 أسابيع):1. فهرس لأفضل 50 ميزة (المدفوعات/طريقة اللعب) مع صيغ نقطة في الوقت المناسب.
2. ميزة متجر v1 (عبر الإنترنت/غير متصل بالإنترنت) + اختبار التكافؤ.
3. الاختيار الأساسي: الثوابت/الارتباطات → MI → L1/SHAP القائمة المختصرة (حتى 60 ميزة).
4. رصد ميزات الانجراف ولوحات التحكم في التكاليف.
المرحلة 2 (5-10 أسابيع):- TE/WOE مع التحقق من صحة الوقت والرسم البياني وميزات التقويم.
- تحليل الشرائح والإنصاف، معايرة الاحتمالات.
- تجسيد الميزات الثقيلة غير المتصلة بالإنترنت، المخبأ عبر الإنترنت، الحصص.
- التوليد التلقائي للوثائق واختيار الاستقرار في CI.
- التعطيل التلقائي للميزات «المكلفة وغير المجدية» (CPF↑، vklad↓).
- مقارنة بين مجموعات الخصائص والتقارير المتوقعة والتكلفة.
18) قائمة مرجعية قبل البيع
- جميع الميزات لها مواصفات (المالك، الصيغة، الإصدارات، SLO).
- اجتاز اختبارات المعادلة عبر الإنترنت/بدون اتصال بالإنترنت.
- فلتر → المدمج (SHAP/L1) → استقرار مكتمل.
- رصد الانجراف وتكوين الموثوقية ؛ العتبات والتنبيهات هي.
- تندرج الشراكة التعاونية المتعلقة بالغابات/زمن الانتقال في الميزانية ؛ تجسدت السمات الثقيلة.
- تم الوفاء بسياسات PII (CLS/RLS، الترميز، الإقامة).
- تمت إضافة حالات التوثيق والاستخدام إلى الكتالوج.
19) الأنماط والمخاطر المضادة
Lakage (الأحداث المستقبلية/ترويج ما بعد).
صيغ غير متسقة عبر الإنترنت/غير متصلة بالإنترنت.
زيادة المعروض من فئة واحدة ساخنة من الفئات عالية الكاردينال دون التجزئة/TE.
ميزات «باهظة الثمن» بدون زيادة قابلة للقياس في الجودة.
نقص تحليل الشرائح/الإنصاف - التدهور الخفي.
TE/WOE بدون التحقق المتبادل → إعادة التدريب.
20) خلاصة القول
Feature Engineering هو نظام منظم: نقطة في الوقت، وحس تجاري، وقابلية للتكرار، والمراقبة والاقتصاد. ميزات قوية + اختيار صارم (مرشح/غلاف/مدمج) ومتجر ميزات واحد يوفر نماذج مستقرة وقابلة للتفسير ورخيصة تعمل على تحسين صافي الإيرادات وتقليل الاحتيال ودعم RG - بشفافية وتوافقًا.