Logiciel
Estimator est une bibliothèque Python qui transforme vos tables de données en mémoire en modèles prédictifs calibrés, déterministes, de type dict-in/dict-out — sans réglage manuel de pipeline, sélection de modèle ou sérialisation de fichiers.
Spécifications clés
Estimator est une bibliothèque Python open-source et légère de régression tabulaire et de calibration de probabilités de Bernoulli (actuellement en version 0.16.0, avec son code source disponible sur GitHub) conçue pour optimiser le processus de création de prédicteurs hautement fiables. Au lieu de contraindre l'utilisateur à sélectionner manuellement les paramètres des modèles ou à écrire un pipeline de prétraitement, la bibliothèque profile automatiquement les lignes entrantes, sélectionne les fonctions de perte appropriées et entraîne six familles de modèles distinctes sous un budget de temps d'exécution partagé. En exécutant en parallèle des modèles linéaires, des forêts aléatoires, XGBoost, TabPFN v2, des processus gaussiens et des régressions symboliques, elle identifie le modèle unique le plus performant ou un ensemble pondéré de manière égale, persistant les résultats directement via un adaptateur de stockage injecté.
Conçue explicitement pour les développeurs Python et les praticiens du machine learning qui disposent déjà de données tabulaires en mémoire (généralement récupérées depuis une base de données ou un service en amont), Estimator donne la priorité à la correction, au déterminisme et à l'incertitude calibrée plutôt qu'aux heuristiques de classement. En utilisant une graine fixe et une empreinte numérique des données plutôt que des horodatages, elle garantit des prédictions entièrement reproductibles et gère automatiquement les décisions de rechargement par rapport au réapprentissage. La bibliothèque s'exécute entièrement en mémoire, ne dépend d'aucun état global ni couche de service, et s'intègre dans des environnements de production en quelques minutes.
Estimator.init, evaluate et info. L'intégration se mesure en minutes, pas en jours.get/put/exists).Le fragment ci-dessous illustre le contrat public minimal dict-in/dict-out en action :
from cognitive_estimator import Estimator, Config
# 1. Initialiser l'estimateur avec un adaptateur de stockage injecté
config = Config(target_column="price", wall_clock_seconds=30)
estimator = Estimator.init(
config=config,
seed=42,
storage_adapter=my_custom_db_adapter
)
# 2. Entraîner et évaluer les modèles sur votre liste de dictionnaires en mémoire
metrics = estimator.evaluate(rows=[
{"feature_1": 1.2, "feature_2": "A", "price": 100.5},
{"feature_1": 2.4, "feature_2": "B", "price": 150.2},
# ... d'autres dictionnaires en mémoire
])
# 3. Obtenir des prédictions avec des intervalles d'incertitude calibrés
prediction = estimator.predict(row={"feature_1": 1.8, "feature_2": "A"})
print(f"Prédiction moyenne : {prediction.values}")
print(f"Intervalle calibré : [{prediction.lower_bound}, {prediction.upper_bound}]")