Özgür Işık Damar

İlişkisel ML2026

RealPath

Tahmin sorularına ilişkili tablolardan yanıt verir — sızıntıya karşı sınanmış, açıklamalı.

Açık kaynak · MIT · v0.1.0 alfa · GNN arka ucu deneysel

realpath · streamlit demo

Kanıtlar

sentetik örnek veritabanında churn ROC-AUC
0,749
examples/quickstart.ipynb
gelecek satırlar silinince değişen öznitelik
0
tests/test_leakage.py
aynı churn ROC-AUC'yi veren veritabanı
3
docs/BENCHMARKS.md
doğal dilde soru için desteklenen diller
EN · TR
realpath/nlp.py

Her sayı depodaki bir dosyadan geliyor — yolu hemen altında.

Problem

İş verisi müşteriler, işlemler ve iadeler gibi birbirine bağlı tablolarda yaşar; yaygın modeller ise tek bir düz tablodan öğrenir. Bu tabloları düzleştirmek, her yeni soru için elle yazılan join'ler ve agregasyonlar demektir. Tahmin tarihinin ötesine uzanan tek bir agregasyon ise cevabı özniteliklere sızdırır: bu durum bir hata olarak değil, fazla iyi görünen bir skor olarak ortaya çıkar.

Yaklaşım

RealPath şemayı kendisi okur: anahtarlar ve zaman sütunları adlara, veri tiplerine ve benzersizliğe bakılarak belirlenir; tahmin sorgu dili PQL'in derleyicisi de varlık tablosundan hedef tabloya giden join yolunu kendisi bulur. Her görev bir referans tarihine (anchor) bağlanır: Featuretools'un Deep Feature Synthesis'i yalnızca bu tarihte ya da öncesinde kalan satırlar üzerinden agregasyon yapar, etiketler sorgunun zaman penceresinden gelir (hazır şablonlar bu pencereyi hep referans tarihinden sonraya koyar; geriye bakan bir pencereyi derleyici henüz reddetmiyor) ve bir referans tarihinde eğitilen LightGBM modeli daha sonraki bir tarihte, gerçekte olanla karşılaştırılarak puanlanır. Bir test, referans tarihinden sonraki tüm satırları silip öznitelikleri yeniden üretir ve tek bir öznitelik bile değişirse başarısız olur; açıklamalar da aynı öznitelik adlarını tablolara ve agregasyonlara geri çözer. Düz dilde sorulan sorular, Anthropic SDK'sı ve API anahtarı varsa Claude'a gider ve üretilen PQL çalışmadan önce ayrıştırıcıdan geçmek zorundadır; yoksa churn, talep ve iade riski sorularını çevrimdışı şablonlar karşılar.

Neler hazır

  1. Örnek veride: yalnız müşteri sütunlarıyla churn ROC-AUC 0,704, tablolar arası özniteliklerle 0,749
  2. Anahtar ve zaman sütunları kendiliğinden bulunur; müşteri iade riski gibi iki join'lik sorular SQL gerektirmez
  3. SHAP kuruluysa “Neden?” kartı, tahminin en büyük katkılarının join yolunu, agregasyonunu ve değerini gösterir
  4. Dil modelinin PQL'i ayrıştırılmadan çalışmaz; API anahtarı yoksa çevrimdışı şablonlar soruyu yerelde tutar

Mimari

RealPath — Deponun diyagramındaki hat: şema çıkarımı, PQL derleyicisi ve referans tarihli zaman bölmesi, ardından DFS öznitelikleri, LightGBM ve join yolu açıklamaları; RelBench/GNN isteğe bağlı kalır.
Deponun diyagramındaki hat: şema çıkarımı, PQL derleyicisi ve referans tarihli zaman bölmesi, ardından DFS öznitelikleri, LightGBM ve join yolu açıklamaları; RelBench/GNN isteğe bağlı kalır.

İngilizce sorulan “which customers will churn in the next 30 days?” sorusu sabit 30 günlük çevrimdışı churn şablonuyla eşleşir ve sentetik örnek veritabanında ROC-AUC 0,7492'ye ulaşır.

1 / 4
// geliştirme notlarıGeleceği sil, öznitelikleri karşılaştır: “sızıntı yok” bir slogan değil, bir testRealPath'in sızıntı iddiası bir pytest: anchor'dan sonraki her şeyi sil, yeniden üret, karşılaştır. Cutoff'u bilerek bozduğumda neyi yakaladığı ve hâlâ gözünden kaçan iki sızıntı.Geliştirme notlarını oku