फीचर इंजीनियरिंग और फीचर चयन
1) उद्देश्य और सिद्धांत
उद्देश्य: ऑफलाइन और ऑनलाइन के बीच स्थिर, व्याख्यात्मक और किफायती विशेषताओं का निर्माण करना।
सिद्धांत:- प्वाइंट-इन-टाइम: सुविधाओं की गणना भविष्य (एंटी-लीकेज) के बिना, समाधान के समय उपलब्ध डेटा से की जाती है।
- डोमेन-फर्स्ट: फीचर्स बिजनेस मैकेनिक्स (डिपॉजिट, सेशन, गेम शैलियों, आरजी/एएमएल) को दर्शाते हैं।
- पुन: उपयोग और अनुबंध: फ़ीचर स्टोर संस्करण, मालिक, सूत्र और एसएलओ।
- लागत-जागरूक: हम विलंबता और कंप्यूटिंग/भंडारण की लागत पर विचार करते हैं - केवल भुगतान करना।
- अवलोकन: बहाव/स्थिरता/अंशांकन की निगरानी करें; ऑनलाइन/ऑफ़लाइन समतुल्यता परीक्षण।
2) iGaming के लिए विशेषता वर्गीकरण
RFM/व्यवहार: खिड़कियों द्वारा पुनरावृत्ति/आवृत्ति/मौद्रिक (10m/1h/1d/7d/30d)।
सत्र: अवधि, ठहराव, उपकरण परिवर्तन/एएसएन, कार्रवाई की गति।
वित्तीय: जमा/निकासी/चार्जबैक, भुगतान विधियों के शेयर, एफएक्स सामान्यीकरण।
गेमिंग: शैली प्रोफाइल, प्रदाता अस्थिरता, आरटीपी समूह, जीत-लकीर।
विपणन: चैनल/यूटीएम, अभियान प्रतिक्रियाएं, संतृप्ति/शीतलन।
आरजी/एएमएल: सीमा, स्व-बहिष्करण झंडे, वेग पैटर्न, बिन/आईपी पुन: उपयोग।
जियो/टाइम: स्थानीय कैलेंडर/छुट्टियां, बेल्ट घंटा, शाम/रात।
ग्राफ: उपयोगकर्ता-कार्ड-डिवाइस-आईपी लिंक, केंद्रीयता/घटक, धोखाधड़ी के छल्ले।
एनएलपी/ग्रंथ: टिकट/चैट के विषय और स्वर; प्रमुख शिकायतें।
परिचालन: लैग/प्रदाता त्रुटियां, सत्र स्थिरता (एसआरई मॉडल के लिए)।
3) विंडोज और एग्रीगेट्स (पॉइंट-इन-टाइम)
विशिष्ट खिड़कियां: 10m/1h/24h/7d/30d। प्रत्येक विंडो के लिए - गणना/योग/माध्य/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) श्रेणीबद्ध एन्कोडिंग
वन-हॉट/हैशिंग: दुर्लभ/उच्च-कार्डिनल श्रेणियों (गेम, प्रदाता) के लिए।
लक्ष्य एनकोडिंग (टीई): के-फोल्ड/लीव-वन-आउट और टाइम-अवेयर एंटी-लीकेज के साथ लक्ष्य औसत।
WOE/IV (जोखिम स्कोरिंग): 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) सामान्यीकरण और स्केलिंग
मिन-मैक्स/रॉबस्ट/जेड-स्कोर - प्रशिक्षण विंडो द्वारा; कलाकृतियों में मापदंडों को सहेजें।
लंबे योग/शर्त पूंछ के लिए रूपांतरण लॉग करें।
बॉक्स-कॉक्स/येओ-जॉनसन - जब सममितीकरण की आवश्यकता होती है।
6) अस्थायी और मौसमी सुविधाएँ
कैलेंडर: सप्ताह का दिन, घंटा, बाजार की छुट्टी (ref. calendar), पे-डे।
आवृत्ति: चलती औसत/एक्सपोन। चिकनी (EMA), डेल्टास (t − t-1)।
घटना-आधारित: अंतिम जमा/जीत/हार के बाद का समय, "शीतलन"।
7) ग्राफ सुविधाएँ (धोखाधड़ी/एएमएल)
वर्टिस: उपयोगकर्ता/कार्ड/उपकरण/आईपी। किनारों: लेनदेन/सत्र/संयुक्त विशेषताएं।
फ़ीचर: घटक आकार, डिग्री, बीच में, पेजरैंक, ट्रायड, पुन: प्रकट।
पैटर्न: रात का बैच एक ग्राफ एम्बेडिंग/केंद्रीयता - ऑनलाइन कैश बनाता है।
8) एनएलपी सुविधाएँ (समर्थन/चैट/समीक्षा)
मूल: TF-IDF/NMF विषय, भावना, लंबाई, शिकायतों की आवृत्ति।
उन्नत: एम्बेडिंग (वाक्य-BERT) - प्रति खिड़की टिकट पर औसत।
PII: नीति द्वारा प्री- और पोस्ट-मास्किंग (ईमेल, पैन, फोन)।
9) जियो/एएसएन और उपकरण
IP→Geo/ASN: हम कैश और अपडेट करते हैं; बिना टाइमआउट/कैश के तुल्यकालिक अनुरोध ऑनलाइन न करें।
सुविधाएँ: ASN/DeviceID स्थिरता, शिफ्ट आवृत्ति, लॉगिन के बीच की दूरी।
10) एंटी-लीकेज और ऑनलाइन/ऑफलाइन सुलह
प्वाइंट-इन-टाइम जुड़ें, विंडोज/लेबल में कोई भविष्य की घटना नहीं।
ऑफ़ लाइन और ऑनलाइन के लिए एक परिवर्तन कोड (पुस्तकालय)।
तुल्यता परीक्षण: नमूना टी पर, हम ऑफ़ लाइन (MAE/MAPE) के साथ सुविधा के ऑनलाइन मूल्यों की तुलना करते हैं।
YAML चश्मा सुविधा: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/अनुक्रमिक FS: छोटे सेट/लॉजिस्टिक रिग्रेशन पर।
स्थिरता चयन: बूटस्ट्रैप नमूना में स्थिरता।
11. 3 एम्बेडेड
L1/Lasso/ElasticNet: दुर्लभ।
पेड ़/GBDT: चयन और व्यावसायिक व्याख्या के लिए महत्व/SHAP।
समूह लासो: समूह चयन (एक चर की बिन-विशेषताओं के सेट)।
पाइपलाइन (स्केच):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) स्थिरता, बहाव और अंशांकन
बहाव: सुविधाओं और गति के लिए पीएसआई/केएस; अलर्ट जब थ्रेसहोल्ड से अधिक हो।
स्थिरता: "नाजुक" TE/WOE (कार्डिनैलिटी/शिफ्ट्स) के लिए देखें।
अंशांकन: प्लाट/आइसोटोनिक; विश्वसनीयता रिपोर्ट।
स्लाइस विश्लेषण: बाजार/प्रदाता/उपकरण - मैट्रिक्स और त्रुटियों की अपेक्षित लागत।
13) लागत इंजीनियरिंग और प्रदर्शन
प्रति फीचर लागत (सीपीएफ): सीपीयू/आईओ/नेटवर्क/भंडारण → मॉडल बजट।
भौतिककरण: भारी ऑफ़ लाइन, प्रकाश ऑनलाइन; गर्म सुविधाओं के लिए टीटीएल/कैश।
रिमोट लुकअप: async + cache केवल; ऑनलाइन सुविधा पर p95 <20-30 ms।
चार्जबैक: कमांड द्वारा सुविधा/निष्कर्ष की लागत के लिए लेखांकन।
14) फीचर स्टोर (स्थिरता कर्नेल)
रजिस्ट्री: नाम, सूत्र, मालिक, एसएलओ, परीक्षण, संस्करण।
ऑनलाइन/ऑफ़लाइन तुल्यकालन: एक परिवर्तन कोड, समानता परीक्षण।
लॉग/ऑडिट: जिसने सूत्र बदल दिया; मॉडल मैट्रिक्स पर संस्करण का प्रभाव।
15) उदाहरण
क्लिकहाउस: मिनट सट्टेबाजी कुल: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, сохранив более «дешевую» фичу
वाह बिनिंग (स्केच):
python bins = monotonic_binning(x, y, max_bins=10)
woe = compute_woe(bins)
iv = compute_iv(bins)
16) प्रक्रियाएं और आरएसीआई
आर (जिम्मेदार): डेटा इंग (पाइपलाइन/फीचर स्टोर), डेटा साइंस (डिजाइन सुविधा/चयन/मैट्रिक्स)।
ए (जवाबदेह): डेटा के प्रमुख/सीडीओ।
सी (परामर्श): अनुपालन/डीपीओ (पीआईआई, निवास), जोखिम/एएमएल/आरजी (नीति), एसआरई (एसएलओ/लागत), सुरक्षा।
I (सूचित): उत्पाद/विपणन/संचालन/सहायता।
17) रोडमैप
एमवीपी (3-5 सप्ताह):1. पॉइंट-इन-टाइम फॉर्मूले के साथ शीर्ष 50 सुविधाओं (भुगतान/गेमप्ले) की सूची।
2. फ़ीचर स्टोर v1 (ऑनलाइन/ऑफ़लाइन) + समतुल्यता परीक्षण।
3. मूल चयन: स्थिरांक/सहसंबंध एमआई शॉर्टलिस्ट (60 सुविधाओं तक)।
4. बहाव सुविधाओं और लागत-डैशबोर्ड की निगरानी।
चरण 2 (5-10 सप्ताह):- TE/WOE समय-जागरूक सत्यापन, ग्राफ और कैलेंडर सुविधाओं के साथ।
- स्लाइस विश्लेषण और निष्पक्षता, संभावना अंशांकन।
- भारी ऑफ़ लाइन सुविधाओं, ऑनलाइन कैश, कोटा का भौतिकीकरण।
- प्रलेखन का ऑटो-जनरेशन, सीआई में स्थिरता-चयन।
- "महंगी और बेकार" सुविधाओं (CPF↑, vklad↓) का ऑटो-निष्क्रियता।
- सुविधा सेट, अपेक्षित-लागत रिपोर्ट की ए/बी तुलना।
18) प्री-सेल चेकलिस्ट
- सभी सुविधाओं में विनिर्देश (मालिक, सूत्र, संस्करण, एसएलओ) हैं।
- पास पॉइंट-इन-टाइम और ऑनलाइन/ऑफ़लाइन समतुल्यता परीक्षण।
- फ़िल्टर → एम्बेडेड (SHAP/L1) → स्थिरता पूरी हो गई।
- बहाव निगरानी और विश्वसनीयता कॉन्फ़िगर; थ्रेसहोल्ड और अलर्ट हैं।
- सीपीएफ/विलंबता बजट में फिट होती है; भारी सुविधाएँ भौतिक हो गईं।
- पीआईआई नीतियां मिलीं (सीएलएस/आरएलएस, टोकन, निवास)।
- कैटलॉग में प्रलेखन और उपयोग के मामलों को जोड़ा गया है।
19) एंटी-पैटर्न और जोखिम
लैकेज (भविष्य की घटनाएं/उसके बाद प्रोमो)।
असंगत ऑनलाइन/ऑफ़लाइन सूत्र।
बिना हैशिंग/टीई के उच्च-कार्डिनल श्रेणियों से एक-गर्म।
गुणवत्ता में औसत दर्जे की वृद्धि के बिना "महंगी" सुविधाएँ।
स्लाइस/निष्पक्षता विश्लेषण की कमी - छिपी हुई गिरावट।
TE/WOE बिना समय-जागरूक क्रॉस-सत्यापन - रिट्रेनिंग के।
20) नीचे की रेखा
फीचर इंजीनियरिंग एक प्रबंधित अनुशासन है: बिंदु-इन-टाइम, व्यावसायिक भावना, प्रजनन योग्यता, निगरानी और अर्थशास्त्र। मजबूत विशेषताएं + सख्त चयन (फ़िल्टर/रैपर/एम्बेडेड) और एक एकल फ़ीचर स्टोर स्थिर, व्याख्यात्मक और सस्ते मॉडल देते हैं जो नेट राजस्व में सुधार करते हैं, धोखाधड़ी को कम करते हैं और आरजी का समर्थन करते हैं - पारहितथा।