Superstore Profit Predictor
Description du Modèle
Superstore Profit Predictor est un modèle d'apprentissage automatique de régression entrainé pour prédire le bénéfice généré par une transaction de vente au détail. Ce modèle a appris sur des données d'une enseigne américaine de distribution. Il aide à estimer l'impact de décisions commerciales telles que la fixation des réductions sur diverses marchandises selon la zone géographique et la typologie des clients ciblés.
Structure des données (Features)
Le modèle attend un jeu de données (DataFrame) contenant les 5 variables explicatives suivantes :
| Nom de la variable | Type | Description / Modalités |
|---|---|---|
Sales |
Continuous (Float) | Montant total de la vente de la transaction (ex: 261.96). |
Discount |
Continuous (Float) | Le taux de réduction appliqué à l'achat (de 0.0 à 1.0). |
Sub-Category |
Categorical (String) | La sous-catégorie du produit (Bookcases, Chairs, Labels, Tables, Storage, Furnishings, Art, Phones, Binders, Appliances, Paper, Accessories, Envelopes, Fasteners, Supplies, Machines, Copiers). |
Region |
Categorical (String) | Région de vente (South, West, Central, East). |
Segment |
Categorical (String) | Catégorie de client (Consumer, Corporate, Home Office). |
Transformation Spéciale Target : La cible de prédiction originelle Profit présentait une distribution avec une forte variance asymétrique. Elle a subi une transformation lors de l'entraînement (np.sign(y) * np.log1p(np.abs(y))). Les prédictions que ce modèle retourne via predict() sont dans cet espace logarithmique.
Assurez-vous d'appliquer la transformation inverse (np.sign(pred) * np.expm1(np.abs(pred))) si vous souhaitez retrouver le profit en montant monétaire réel.
Comment l'utiliser avec Python
Vous pouvez télécharger le pipeline d'inférence très rapidement à l'aide de validateur huggingface_hub et de joblib.
import joblib
import numpy as np
import pandas as pd
from huggingface_hub import hf_hub_download
# 1. Télécharger le modèle depuis huggingface
model_path = hf_hub_download(
repo_id="kjd-dktech/superstore-profit-predictor",
filename="profit_predictor.joblib",
token="VOTRE_TOKEN_HF_API"
)
# 2. Charger le pipeline complet dans la mémoire
model = joblib.load(model_path)
# 3. Créer une fausse donnée d'exemple
data = pd.DataFrame([{
'Sales': 261.96,
'Discount': 0.0,
'Sub-Category': 'Bookcases',
'Region': 'South',
'Segment': 'Consumer'
}])
# 4. Inférence (prédiction dans l'espace Log)
log_prediction = model.predict(data)[0]
# 5. Transformation Inverse pour retrouver le profit monétaire
profit_prediction = np.sign(log_prediction) * np.expm1(np.abs(log_prediction))
print(f"Profit prédit pour cette transaction : ${profit_prediction:.2f}")