GH GambleHub

Μηχανική χαρακτηριστικών και επιλογή χαρακτηριστικών

1) Σκοπός και αρχές

Στόχος: κατασκευή σταθερών, ερμηνεύσιμων και οικονομικών χαρακτηριστικών που συμφωνούνται μεταξύ offline και online.

Αρχές:
  • point-in-time: τα χαρακτηριστικά υπολογίζονται από τα δεδομένα που είναι διαθέσιμα κατά τη στιγμή της λύσης, χωρίς μέλλον (αντιδιαρροή).
  • Πρώτα στον τομέα: τα χαρακτηριστικά αντικατοπτρίζουν την επιχειρηματική μηχανική (καταθέσεις, συνεδρίες, είδη παιχνιδιών, RG/AML).
  • Επαναχρησιμοποίηση & συμβάσεις: εκδόσεις Feature Store, ιδιοκτήτες, τύποι και SLO.
  • Επίγνωση του κόστους: θεωρούμε ότι η καθυστέρηση και το κόστος της πληροφορικής/αποθήκευσης → υλοποιούνται μόνο κατά την αποπληρωμή.
  • Παρατηρησιμότητα: παρασυρόμενη/σταθερότητα/βαθμονόμηση της οθόνης. δοκιμή ισοδυναμίας on/offline.

2) Χαρακτηριστική ταξινόμηση για το iGaming

RFM/συμπεριφορά: συχνότητα/συχνότητα/νόμισμα από παράθυρα (10m/1h/1d/7d/30d).
Συνεδρία: διάρκειες, παύσεις, αλλαγές συσκευής/ASN, ταχύτητα δράσης.
Χρηματοοικονομικά: καταθέσεις/αναλήψεις/χρεώσεις, μερίδια των μεθόδων πληρωμής, κανονικοποίηση FX.
Τυχερά παιχνίδια: προφίλ είδους, μεταβλητότητα παρόχου, ομάδες RTP, win-streak.
Μάρκετινγκ: κανάλια/UTM, απαντήσεις σε εκστρατείες, κορεσμός/ψύξη.
RG/AML: όρια, σημαίες αυτοαποκλεισμού, πρότυπα ταχύτητας, επαναχρησιμοποίηση BIN/IP.
Γεωγραφική ώρα: τοπικά ημερολόγια/διακοπές, ώρα ζώνης, βράδυ/νύχτα.
Γραφική παράσταση: σύνδεσμοι χρήστη-κάρτας-συσκευής-ip, κεντρικός χαρακτήρας/συστατικά στοιχεία, δακτύλιοι απάτης.
NLP/κείμενα: θέματα και τόνος εισιτηρίων/συνομιλιών· βασικές καταγγελίες.
Λειτουργικό: σφάλματα καθυστέρησης/παροχής, σταθερότητα συνεδρίας (για μοντέλα SRE).


3) Παράθυρα και συγκεντρωτικά μεγέθη (point-in-time)

Τυπικά παράθυρα: 10m/1h/24h/7d/30d. Για κάθε παράθυρο - αριθμός/άθροισμα/μέσος όρος/std/τελευταίος/μέγιστος/λεπτό, λόγος και ρυθμός.

Υπόδειγμα SQL (30δ καταθέσεις, χωρίς μέλλον):
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 και χρονικά aware anti-leakage.
WOE/IV (βαθμολογία κινδύνου): μονοτονικοί κάδοι με IV έλεγχο και σταθερότητα.

TE (ψευδοκώδικας, χρονοβόρος):
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. ημερολόγιο), ημέρα πληρωμής.
Συχνότητα: κινούμενοι μέσοι όροι/expon. εξομάλυνση (EMA), δέλτα (t − t-1).
Βάσει γεγονότος: χρόνος από την τελευταία κατάθεση/νίκη/απώλεια, «ψύξη».


7) Γραφική παράσταση (απάτη/AML)

Κορυφές: χρήστης/κάρτα/συσκευή/ip. Ακμές: συναλλαγές/συνεδριάσεις/κοινά χαρακτηριστικά.
Χαρακτηριστικό: μέγεθος συστατικών, βαθμός, βαθμός βήτα, ειδωλολατρική, τριάδες, επανεμφάνιση.
Μοτίβο: νυχτερινή παρτίδα δημιουργεί ένα γράφημα → ενσωμάτωση/κεντρική → online κρυφή μνήμη.


8) Χαρακτηριστικά NLP (υποστήριξη/συνομιλίες/κριτικές)

Βασικά: θέματα TF-IDF/NMF, συναίσθημα, μήκος, συχνότητα καταγγελιών.
Προηγμένη: ενσωμάτωση (Send-BERT) → κατά μέσο όρο στα εισιτήρια ανά παράθυρο.
PII: pre- και post-masking (email, PAN, τηλέφωνα) ανά πολιτική.


9) Geo/ASN και διατάξεις

: κρύπτουμε και ενημερώνουμε· δεν υποβάλλουν συγχρονισμένες αιτήσεις στο διαδίκτυο χωρίς χρονοδιάγραμμα/κρύπτη.
Χαρακτηριστικά γνωρίσματα: σταθερότητα ASN/DevidID, συχνότητα μετατοπίσεων, απόσταση μεταξύ συνδέσμων.


10) Αντι-διαρροή και επιγραμμική/μη επιγραμμική συμφιλίωση

Συνδεθείτε σε point-in-time, χωρίς μελλοντικά γεγονότα σε παράθυρα/ετικέτες.
Ένας κωδικός μετασχηματισμού (βιβλιοθήκη) για offline και online.
Δοκιμή ισοδυναμίας: στο δείγμα Τ, συγκρίνουμε τις επιγραμμικές τιμές του χαρακτηριστικού με το offline (MAE/MAE).

Χαρακτηριστικό YAML specs:
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 Φίλτρο

Μεταβολή/συσχέτιση: αφαίρεση σταθερών,ρ>0. 95 αντίγραφα.
Αμοιβαία πληροφόρηση (MI) - Μη γραμμικές σχέσεις.
IV/KS (κίνδυνος): για δυαδικούς στόχους σε AML/RG.

11. 2 Περιτύλιγμα

RFE/Διαδοχικό FS: σε μικρά σύνολα/λογιστική παλινδρόμηση.
Επιλογή σταθερότητας: σταθερότητα στη δειγματοληψία bootstrap.

11. 3 Ενσωματωμένο

: σπάνια δράση.
Δένδρα/GBDT: σημασία/SHAP για την επιλογή και την ερμηνεία των επιχειρήσεων.
Ομάδα Lasso: επιλογή ομάδας (σύνολα bin-χαρακτηριστικά μιας μεταβλητής).

Αγωγός (σχέδιο):
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. εκθέσεις αξιοπιστίας.
Ανάλυση μεριδίων: αγορές/πάροχοι/συσκευές - μετρήσεις και αναμενόμενο κόστος σφαλμάτων.


13) Μηχανική κόστους και επιδόσεις

Κόστος ανά χαρακτηριστικό (CPF): προϋπολογισμός μοντέλου CPU/IO/δίκτυο/αποθήκευση →.
Υλοποίηση: βαρύ offline, φως online. TTL/κρύπτη για θερμά χαρακτηριστικά.
Απομακρυσμένες επιφάνειες: μόνο async + cache. p95 <20-30 ms σε λειτουργία online.
Φόρτιση: καταγραφή του κόστους του χαρακτηριστικού/συμπεράσματος με εντολή.


14) Feature Store (πυρήνας συνοχής)

Μητρώο: όνομα, τύπος, ιδιοκτήτης, SLO, δοκιμές, εκδόσεις.
Online/Offline συγχρονισμός: ένας κώδικας μετασχηματισμού, δοκιμή ισότητας.
Καταχωρίσεις/λογιστικοί έλεγχοι: ποιος άλλαξε τον τύπο. επίδραση της έκδοσης στις μετρήσεις μοντέλων.


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) Διαδικασίες και ΠΓΣ

R (Υπεύθυνος): Eng δεδομένων (αγωγοί/Feature Store), Data Science (χαρακτηριστικό σχεδιασμού/επιλογή/μετρήσεις).
A (υπόλογος): Προϊστάμενος δεδομένων/CDO.
C (Ζητήθηκε η γνώμη): Συμμόρφωση/ΥΠΔ (PII, κατοικία), Κίνδυνος/AML/RG (πολιτική), SRE (SLO/κόστος), Ασφάλεια.
I (Ενημερωμένο): Προϊόν/Εμπορία/Δραστηριότητες/Υποστήριξη.


17) Χάρτης πορείας

MVP (3- 5 εβδομάδες):

1. Κατάλογος των 50 κορυφαίων χαρακτηριστικών (Πληρωμές/Gameplay) με τύπους point-in-time.

2. Feature Store v1 (online/offline) + δοκιμή ισοδυναμίας.

3. Βασική επιλογή: σταθερές/συσχετίσεις → MI → L1/SHAP λίστα προεπιλογής (έως 60 χαρακτηριστικά).

4. Παρακολούθηση των παρασυρόμενων χαρακτηριστικών και των πινάκων κόστους.

Φάση 2 (5- 10 εβδομάδες):
  • TE/WOE με επικύρωση γνώσης χρόνου, γραφική παράσταση και χαρακτηριστικά ημερολογίου.
  • Ανάλυση φέτες και δικαιοσύνη, βαθμονόμηση πιθανότητας.
  • Υλοποίηση βαρέων offline χαρακτηριστικών, online cache, ποσοστώσεις.
Φάση 3 (10- 16 εβδομάδες):
  • Αυτόματη δημιουργία τεκμηρίωσης, επιλογή σταθερότητας στον ΚΚΠ.
  • Αυτόματη απενεργοποίηση «ακριβών και άχρηστων» χαρακτηριστικών (CPF↑, vklad↓).
  • Α/Β σύγκριση των συνόλων χαρακτηριστικών, εκθέσεις αναμενόμενου κόστους.

18) Κατάλογος ελέγχου πριν από την πώληση

  • Όλα τα χαρακτηριστικά έχουν προδιαγραφές (ιδιοκτήτης, τύπος, εκδόσεις, SLO).
  • Πέρασαν δοκιμές ισοδυναμίας σε χρόνο και σε απευθείας σύνδεση/εκτός σύνδεσης.
  • Φίλτρο → ενσωματωμένο (SHAP/L1) → σταθερότητα ολοκληρώθηκε.
  • Παρασυρόμενη διάταξη παρακολούθησης και αξιοπιστίας. τα κατώτατα όρια και οι προειδοποιήσεις είναι.
  • CPF/καθυστέρηση που εντάσσεται στον προϋπολογισμό· υλοποιήθηκαν βαριά χαρακτηριστικά.
  • τηρούνται οι πολιτικές PII (CLS/RLS, μαρκινοποίηση, κατοικία).
  • Στον κατάλογο προστέθηκαν τεκμηρίωση και περιπτώσεις χρήσης.

19) Αντισυμβαλλόμενοι και κίνδυνοι

Lakage (μελλοντικά γεγονότα/επακόλουθο promo).
Ασυνεπείς διαδικτυακοί/μη διαδικτυακοί τύποι.
Υπερπροσφορά ενός θερμού από κατηγορίες υψηλού καρδινάλιου χωρίς hashing/TE.
«Ακριβά» χαρακτηριστικά χωρίς μετρήσιμη αύξηση της ποιότητας.
Έλλειψη ανάλυσης φέτων/δικαιοσύνης - κρυφή υποβάθμιση.
TE/WOE χωρίς χρονοβόρα διασταυρούμενη επικύρωση → επανεκπαίδευση.


20) Η τελική γραμμή

Το Feature Engineering είναι ένας διαχειριστικός κλάδος: point-in-time, επιχειρηματική αίσθηση, αναπαραγωγιμότητα, παρακολούθηση και οικονομικά. Ισχυρά χαρακτηριστικά + αυστηρή επιλογή (φίλτρο/περιτύλιγμα/ενσωματωμένο) και ένα ενιαίο κατάστημα χαρακτηριστικών δίνουν σταθερά, ερμηνεύσιμα και φθηνά μοντέλα που βελτιώνουν τα καθαρά έσοδα, μειώνουν την απάτη και υποστηρίζουν την RG - με διαφάνεια και συμμόρφωση.

Contact

Επικοινωνήστε μαζί μας

Επικοινωνήστε για οποιαδήποτε βοήθεια ή πληροφορία.Είμαστε πάντα στη διάθεσή σας.

Έναρξη ολοκλήρωσης

Το Email είναι υποχρεωτικό. Telegram ή WhatsApp — προαιρετικά.

Το όνομά σας προαιρετικό
Email προαιρετικό
Θέμα προαιρετικό
Μήνυμα προαιρετικό
Telegram προαιρετικό
@
Αν εισαγάγετε Telegram — θα απαντήσουμε και εκεί.
WhatsApp προαιρετικό
Μορφή: κωδικός χώρας + αριθμός (π.χ. +30XXXXXXXXX).

Πατώντας «Αποστολή» συμφωνείτε με την επεξεργασία δεδομένων.