File size: 1,083 Bytes
8200ee1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
02f31d3
 
8200ee1
 
 
 
 
 
 
 
 
02f31d3
8200ee1
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
"""
Module de chargement du modèle ML.
Charge le fichier .pkl du modèle Random Forest.
"""

import os

import joblib


def charger_modele():
    """
    Charge le modèle de prédiction du churn depuis un fichier .pkl.

    Returns:
        Le modèle RandomForestClassifier entraîné
    """
    # Chemin vers le modèle (depuis la racine du projet)
    chemin_modele = os.path.join(
        os.path.dirname(__file__),  # src/utils/
        "..",  # src/
        "models",  # src/models/
        "rf_classifier_model.pkl",  # src/models/rf_classifier_model.pkl
    )

    print(f"Chargement du modèle depuis : {chemin_modele}")
    modele = joblib.load(chemin_modele)
    print("Modèle chargé avec succès!")

    return modele


# Variable globale pour stocker le modèle en mémoire au démarrage
modele = None


def get_modele():
    """
    Fonction pour obtenir le modèle (avec caching).
    Si le modèle est déjà chargé, il renvoie le même (pas de rechargement).
    """
    global modele
    if modele is None:
        modele = charger_modele()
    return modele