Afin de ne pas à avoir à calculer toujours le modèle pour déterminer si un client va partir ou non, on sauve le modèle entrainé et on on va le réutiliser
Charger le modèle
import joblib
#load the model
loaded_rf = joblib.load('random_forest_model.pkl')
print(loaded_rf)
Charger les données
Normalement nous chargeons de nouvelles données qu’on va donner à moudre au modèle, mais on n’en a pas, donc on va repasser les même données qu’on a sauvegardé.
#load the datas
import pickle
with open('X_test.pkl', 'rb') as f:
X_test = pickle.load(f)
with open('y_test.pkl', 'rb') as f:
y_test = pickle.load(f)
X_test.head()
Injection des données de test (les données de test n’ont pas servi à entrainer le modèle), on va obtenir une Series avec des 0 et 1
# Now you can use the loaded model to make predictions from sklearn.metrics import accuracy_score prediction = loaded_rf.predict(X_test) #la série qui contient les outcome (churn si 1 , 0 si no churn) print(prediction) [0 1 1 1 0 0 0.... ]
Test sur une ligne (un client)
# test on row # subset = X_test[X_test['TotalCharges']<100] # extract a line from X_test oneline = X_test.loc[[6125]] #convert to dataframe #oneline = oneline.to_frame() import pandas as pd isinstance(oneline,pd.DataFrame) # test if it's DataFrame # affichage des informations de la ligne print(oneline) oneline.head() #prediction sur la ligne prediction = loaded_rf.predict(oneline) print(prediction)