GH GambleHub

功能工程和特征選擇

1)任命和原則

目的:設計離線和在線協調一致的可持續、可解釋和經濟的特征。

原則:
  • 點對點時間:fici是從決策時可用的數據中計算出來的,沒有未來(anti-leakage)。
  • 領域第一:fici反映了業務機制(存款,會話,遊戲類型,RG/AML)。
  • Reuse&Contracts:Feature Store中的字體版本,所有者,公式和SLO。
  • Cost-aware:我們相信計算/存儲的延遲和成本→實現只有回報。
  • 觀察能力:監測漂移/穩定性/校準;在線/離線等效性測試。

2)iGaming的特征分類

RFM/行為:在窗戶上回應/頻率/monetary(10米/1 小時/1d/7d/30 d)。
會話:持續時間,暫停,設備更改/ASN,操作速度。
金融:存款/收款/收款,支付方法份額,外匯正常化。
遊戲:流派簡介,提供商波動,RTP集群,贏街。
營銷:渠道/UTM,廣告系列響應,aturation/cooldown。
RG/AML:限制,自我體驗標誌,velocity模式,BIN/IP重用。
地理/時間:當地日歷/假期,皮帶小時,晚上/晚上。
圖形:用戶卡-設備-ip鏈接,中心性/組件,「環」指紋。
NLP/歌詞:提卡/聊天主題和音調;關鍵投訴。
操作:提供程序失效/錯誤,會話穩定性(用於SRE模型)。


3)窗口和單元(點對點時間)

示範窗戶:10 米/1h/24h/7d/30d。每個窗口為count/sum/mean/std/last/max/min, ratio和rate。

SQL模板(30 d存款,沒有未來):
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和time-aware (anti-leakage)平滑的平均目標。
WOE/IV(風險計分):具有IV控制和穩定性的單調位。

TE(偽代碼,time-aware):
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/Robust/Z-score-在訓練窗口中;我們將參數保存到工件中。
長金額/費率尾巴的日誌轉換。
Box-Cox/Yeo-Johnson-當需要對稱時。


6)臨時和季節性菲奇

日歷: 周日,小時,市場假期(ref。calendar), pay-day.

周期:滾動平均/expon。平滑化(EMA),deltas(t − t-1)。
基於活動的時間:從最後一次存款/獲勝/虧損「冷卻」開始。


7)圖形(frod/AML)

頂點:user/card/device/ip。肋骨:交易/會話/聯合招標。
Fichi:大小組件,degree, betweenness, pagerank, triads,重新出現。
Template: nightly batch構建圖形→ embeddings/centrality →在線緩存。


8) NLP-FICHI (sapport/聊天/咆哮)

基本內容:TF-IDF/NMF主題,感知,長度,投訴頻率。
提前:embeddings(Sentence-BERT)→每個窗口的柚木平均值。
PII:根據策略進行前後掩護(電子郵件,PAN,電話)。


9) Geo/ASN和設備

IP→Geo/ASN:緩存和更新;不要在沒有計時/緩存的情況下在線進行同步查詢。
Fichi: ASN/DeviceID穩定性、班次頻率、登錄距離。


10)反泄漏和聯機/離線約定

點對點加盟,未來的窗口/標簽事件。
用於離線和在線的單個轉換代碼(庫)。
等效性測試:在T樣本中,我們比較離線(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 Filter

變異/相關性:我們去除常數,ρ>0.95份副本。
相互信息(MI):對非線性鍵進行排名。
IV/KS(風險):用於AML/RG中的二元靶標。

11.2 Wrapper

RFE/序列 FS:在小集/邏輯回歸上。
穩定性選擇:在butstrap sampling中的可持續性。

11.3 Embedded

L1/Lasso/ElasticNet:稀疏。
樹木/GBDT:用於選擇和業務解釋的importance/SHAP。
Lasso組:組選擇(單變量比奇集)。

管道(草圖):
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(基數/位移)。
校準:Platt/Isotonic;可靠性報告。
Slice分析:市場/提供商/設備-指標和預期錯誤成本的銀行標記。


13)成本工程和性能

每項成本功能(CPF):CPU/IO/網絡/存儲 →模型預算。
實現:重型離線,輕型在線;熱電話的TTL/緩存。
遠程lookups:僅async+緩存;p95 <20-30毫秒在線。
Chargeback:按團隊計費。


14)功能商店(一致性核心)

註冊表:名稱,公式,所有者,SLO,測試,版本。
在線/離線同步:一個轉換代碼,等級測試。
Logi/審計:誰改變了公式;版本對模型度量的影響。


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

A (Accountable): Head of Data / CDO.

R(響應能力):Data Eng(流水線/功能商店),Data Science(設計/選擇/度量)。
C(咨詢):合規性/DPO(PII,駐地),風險/AML/RG(規則),SRE(SLO/費用),安全性。
I (Informed):產品/營銷/運營/支持。


17)路線圖

MVP(3-5周):

1.帶有點對點公式的前50英尺(Payments/Gameplay)目錄。

2.Feature Store v1 (online/offline)+等效性測試。

3.基本選擇:常數/相關性→ MI → L1/SHAP shortlist(最多60 fich)。

4.監控漂移奇數和成本差速板。

第二階段(5-10周):
  • TE/WOE具有time-aware驗證,圖形和日歷字體。
  • Slice分析和公平性,概率校準。
  • 實現重型離線幻燈片,在線緩存,配額。
第三階段(10至16周):
  • CI中的Fich,穩定性選擇文檔的自動生成。
  • 自動停用「昂貴和無用」的照片(CPF↑,vklad↓)。
  • A/B對照組,expected-cost報告。

18)售前支票清單

  • 所有的fici都具有規格(所有者,公式,版本,SLO)。
  • 通過了點對點測試和聯機/離線等效性測試。
  • 選擇是:filter → embedded (SHAP/L1) →穩定性。
  • 已配置漂移監視和可用性;閾值和Alertes是。
  • CPF/latency符合預算;重型仙女物化了。
  • 遵守了PII政策(CLS/RLS,令牌化,居住權)。
  • 已將文檔和使用示例添加到目錄中。

19)反模式和風險

Lakedge(促銷活動的未來/影響)。
不一致的在線/離線公式。
來自高基數類別的供過於求,沒有hashing/TE。
「昂貴」的fichi沒有可衡量的質量提高。
缺少slice/fairness分析-隱藏降級。
TE/WOE沒有時間獎勵交叉驗證→再培訓。


20)結果

功能工程是一門管理學科:按時間,業務意義,可重復性,監控和經濟性。強大的fici+嚴格的選擇(過濾器/wrapper/embedded)和單一的Feature Store提供了穩定,可解釋且便宜的模型,可改善Net Revenue,減少鞭打並支持RG-透明且可支持。

Contact

與我們聯繫

如有任何問題或支援需求,歡迎隨時聯絡我們。我們隨時樂意提供協助!

開始整合

Email 為 必填。Telegram 或 WhatsApp 為 選填

您的姓名 選填
Email 選填
主旨 選填
訊息內容 選填
Telegram 選填
@
若您填寫 Telegram,我們將在 Email 之外,同步於 Telegram 回覆您。
WhatsApp 選填
格式:國碼 + 電話號碼(例如:+886XXXXXXXXX)。

按下此按鈕即表示您同意我們處理您的資料。