Feature Engineering և նշանների ընտրություն
1) Նշանակումներ և սկզբունքներ
Նպատակը 'ստեղծել կայուն, մեկնաբանվող և տնտեսական նշաններ, որոնք կապված են օֆլինի և առցանց միջև։
Սկզբունքները
Point-in-time: fichi հաշվարկվում են լուծման պահին հասանելի տվյալներից, առանց ապագայի (anti-leakage)։
Domain-first: Ֆիչին արտահայտում են բիզնես մեխանիկները (դեպոզիտներ, նստարաններ, խաղերի ժանրեր, RG/AML)։
Reuse & Medracom: Fichi - վարկածներ, սեփականատերեր, բանաձևեր և SLO-ում Feature Store-ում։
Cost-a.ru: Կարծում ենք, որ latency-ը և հաշվարկման/պահեստավորման արժեքը միայն վճարված է։
Observability: Մենք վերահսկում ենք dreef/108/տրամաչափումը; անտարբերության թեստը on.ru/24.ru։
2) iGaming-ի նշանների տաքսոնոմիա
RFM/վարքագծային: recency/frequency/monetary պատուհաններով (10m/1c/1d/7d/30d)։
Սեսսիոն 'տևողություն, դադար, սարքերի փոփոխություն/ASN, գործողության արագություն։
Ֆինանսական 'դեպոզիտներ/եզրակացություններ/Չարդբեկի, վճարման մեթոդների մասնաբաժինը, FX-նորմալիզացիան։
Խաղային 'ժանրային պրոֆիլներ, պրովայդերների անկայունություն, RTP կլաստերներ, win-streak։
Մարքեթինգային 'ջրանցքներ/UTM, արձագանքներ քարոզարշավին, saturation/cooldown-ին։
RG/AML ՝ լիմիտներ, ինքնաբացարկի դրոշներ, velocity-pattern, BIN/IP կրկնակի օգտագործումը։
Գեո/ժամանակը 'տեղական օրացույցներ/արձակուրդներ, գոտիների ժամ, երեկո/գիշեր։
Գրաֆիկ 'user-card-device-ip, կենտրոնական/բաղադրիչներ, ֆրոդի «օղակներ»։
NLP/տեքստեր ՝ թեմաներ և տիկետների/չատների տոնայնություն։ հիմնական բողոքները։
Վիրահատական 'լագը/պրովայդերների սխալները, ռուսական նստաշրջանները (SDE մոդելների համար)։
3) Պատուհաններ և ագրեգատներ (point-in-time)
Տիպիկ պատուհաններ ՝ 10m/1h/24h/7d/30d։ Յուրաքանչյուր պատուհանի համար 'count/sum/mean/std/lom/max/min, ratio և rate։
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: հազվագյուտ/բարձր-կարդինալ կատեգորիաների համար (խաղեր, պրովայդերներ)։
Target Encoding (TE) 'միջին target k-fold/leave-one-out և time-aronsclage (anti-leakage)։
WOE/RF (ռիսկի սկորինգ) 'մոնոտոնային բիններ, որոնք վերահսկում են RF և կայունությունը։
TE (կեղծ, Time-aere)
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) Նորմալացում և սկեյլինգ
Mink-max/Robust/Z-score - մարզման պատուհանի վրա; պահպանում ենք արտեֆակտների պարամետրերը։
Լոգ փոխակերպումները երկար պոչերի համար գումարներ/ռուբլիա։
Bast-Cox/Yeo-Johnson, երբ պահանջվում է սիմետրիզացիա։
6) Ժամանակավոր և սեզոնային ֆիգուրներ
Հաճախականությունը 'սահուն միջին/էքսպոն։ հարթեցում (EMA), protas (t)։
Օրացույցներ 'շաբաթվա օրը, ժամը, շուկայի արձակուրդը (ref. calendar), pay-day.
Event-based: ժամանակը վերջին դեպոզիտից/հաղթանակից/պարտությունից, «հովացման»։
7) Գրաֆիկական նշաններ (ֆրոդ/AML)
Գագաթները ՝ user/card/device/ip։ Ռեբրա 'գործարքներ/նստաշրջաններ/միասին նշաններ։
Ֆիչին 'բաղադրիչների չափը, degree, betweenness, pagerank, triads, կրկնվող տեսքը։
Օրինակ ՝ nightly batch-ը կառուցում է սաղմեդինգի/կենտրոնացման գրաֆիկ։
8) NLP ֆիչին (saport/chata/revew)
Հիմնական ՝ TF-IDF/NMF թեմաներ, sentiment, երկարությունը, բողոքների հաճախականությունը։
Առաջընթացը 'սաղմեդինգները (Sentence-BIM) պատուհանի ետևում կրճատում են հյուսետները։
PII 'դոցենտ և post-դիմակավորում (email, PAN, հեռախոսներ) քաղաքական։
9) Geo/ASN և սարքեր
IP no Geo/ASN 'քեշիրու և նորարարություն; չանել համաժամանակյա հարցումներ առցանց առանց թայմաուտի/քեշի։
Ֆիչին ՝ ASN/DevicID, միացման հաճախականությունը, տրամաբանության միջև հեռավորությունը։
10) Anti-Leakage և www.on.ru/www.ru
Point-in-time join, ոչ մի ապագա իրադարձություններ պատուհաններում/պիտակներում։
Փոխակերպման մեկ կոդը (library) օֆլինի և առցանց համար։
Համարժեք թեստը 'T նմուշում համեմատում ենք առցանց արժեքները օֆլինի հետ (MAE/MAPE)։
YAML-space fichi
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) Նշանների ընտրությունը (feature no)
11. 1 Filter
11. 2 Wrapper
RFE/Sequential FS 'փոքրիկ հավաքածուների/լոգիստիկ ռեգրեսիայի վրա։
Stability Express-ը 'կայունություն բութստրապ-սեմպլինգի հետ։
11. 3 Embedded
L1/Lasso/ElasticNet։
Ծառեր/GBDT: import.ru/SHAP ընտրության և բիզնեսի մեկնաբանման համար։
Group Lasso: ռուսական ընտրություն (բին ֆիչի հավաքածուներ մեկ փոփոխականի)։
Sypline (ուրվագիծ)
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) Կայունություն, դիֆերենցիալ և տրամաչափություն
Drift: PSI/KS ֆիգուրներով և ժայռերով։ ալտերտերը, երբ ավելանում են շեմերը։
Տե՛ ս. Մենք հետևում ենք TE/WOE-ի «փխրուն» (կարդինալություն/փոփոխություն)։
Տրամաչափություն ՝ Platt/Isotonic; զեկույցներ reliability.
Slice-վերլուծություն 'շուկաներ/պրովայդերներ/սարքեր - banchark metrik և ակնկալվող սխալների արժեքը։
13) Կոստ-ինժեներինգը և արտադրողականությունը
Cost per Feature (CPF): CPU/IO/ցանցը/պահեստավորման բյուջեն մոդելի համար։
Նյութալիզացիան ՝ ծանր դեղամիջոցներ, թեթև ուռուցքներ։ TTL/kash տաք ֆիչի համար։
Հեռացված lookups: Միայն async + kash; p95 <20-30 ms ֆիչիի վրա առցանց։
Chargeback: fich/infess-ի արժեքը թիմերում։
14) Feature Store (միջուկը)
Տե՛ ս անունը, բանաձևը, սեփականատերը, SLO, թեստերը, տարբերակները։
Online/International-ը 'մեկ փոխակերպման կոդը, հավասարության թեստը։
Լոգա/աուդիտ 'ով է փոխել բանաձևը։ տարբերակի ազդեցությունը մոդելի չափման վրա։
15) Օրինակներ
ClickHouse: Րոպեների միավորներ 112
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;
Anti-edrelation drop (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 (Responsible): Windows Eng (փոխակրիչներ/Feature Store), Direct Science (fich/ընտրության/metrick)։
A (Accountable): Head of Data / CDO.
C (Consensed): Compli.ru/DPO (PII, residency), Risk/AML/RG (կանոնները), SNE (SLO/արժեքը), Մոսկվա։
I (Informed) 'ապրանք/Մարքեթինգ/Վիրահատություն/Աջակցություն։
17) Ճանապարհային քարտեզը
MVP (3-5 շաբաթ)
1. Լավագույն 50 ֆիչի կատալոգը (Payments/Gameplay) պինդ-in-time բանաձևերով։
2. Feature Store v1 (on.ru/24.ru) + համարժեք թեստը։
3. Հիմնական ընտրությունը 'MI/L1/SHAP shortlist (մինչև 60 ֆիչ)։
4. Դելդրեյֆը և cost-dashbord։
Aleksanda 2 (5-10 շաբաթ)
TE/WOE-ը Time-aronvalivation, գրաֆիկական և օրացուցային ֆիչեր։
Slice-վերլուծություն և fairness, հավանականության տրամաբանություն։
Ծանր ակնոցների նյութականացումը, քեշը առցանց, քվոտաները։
Բրազիլիա 3 (10-16 շաբաթ)
Փաստաթղթերի ավտոմատ արտադրությունը ֆիչ է, stability-112-ը CI-ում։
«Թանկ և անօգուտ» ֆիչի (CPF) Auto-դեակտիվացիան, մրցույթի ներդրումը)։
A/B համեմատությունը ֆիչի հավաքածուի, expected-cost զեկույցների հետ։
18) Չեկ թուղթ մինչև վաճառելը
- Բոլոր ֆիչիները ունեն բնութագրեր (owner, բանաձև, տարբերակներ, SLO)։
- Point-in-time թեստերը և on.ru/wwww.ru համարժեքությունը։
- Ընտրություն 2019: wwww.embedded (SHAP/L1) www.stability։
- Deliability և reliability; շեմերն ու ալերտները։
- CPF/latency տեղավորվում են բյուջեում։ ծանր փուչիկները նյութականացված են։
- PII քաղաքականությունը պահպանվում է (CLS/RSA, թունիզացիա, բնակություն)։
- Մոսկվան և օգտագործման օրինակները ավելացված են կատալոգում։
19) Anti-patterns և ռիսկեր
Լեյքեջը (ապագա իրադարձությունները/հետևանքները բաց են)։
Չհամաձայնեցված on.ru/www.ru բանաձևը։
Վերընտրվող one-hot-ից բարձր-կարդինալ կատեգորիաներից առանց hashing/TE-ի։
«Թանկ» ֆիչին առանց որակի չափելի աճի։
Slice/fairness վերլուծության բացակայությունը թաքնված քայքայումն է։
TE/WOE-ն առանց Time-aron-validation-ի առաջարկեց վերարտադրել։
20) Արդյունքը
Feature Engineering-ը կառավարվող առարկա է 'point-in-time, բիզնես իմաստը, վերարտադրողականությունը, պաշտպանությունը և տնտեսությունը։ Ուժեղ ֆիչին + խիստ ընտրություն (wwww.ter/wrapper/embedded) և մեկ Feature Store-ը տալիս են կայուն, մեկնաբանված և էժան մոդելներ, որոնք բարելավում են Net Revenue-ը, նվազեցնում են ֆրոդը և աջակցում են RG-ը 'թափանցիկ և կոմպլաենտալ։