COULIBALY BOURAHIMA
first commit
f1f2665
from traning_zone.data_import.data_importation import *
import pandas as pd
import numpy as np
import os
import warnings
warnings.filterwarnings("ignore")
import joblib
#Import metrics
from sklearn.metrics import balanced_accuracy_score
from sklearn.metrics import classification_report , confusion_matrix, accuracy_score, mean_absolute_error
import json
def trainer(X_train, Y_train, X_test, Y_test, Model, name,classe):
try :
os.mkdir(f'traning_zone/mini_modèles/{classe}')
try :
os.mkdir(f'traning_zone/mini_modèles/{classe}/{name}')
except FileExistsError:
pass
except FileExistsError:
try :
os.mkdir(f'traning_zone/mini_modèles/{classe}/{name}')
except FileExistsError:
pass
classifier = Model.fit(X_train,Y_train)
joblib.dump(classifier, open(f"traning_zone/mini_modèles/{classe}/{name}/{name}.pkl", 'wb'))
Y_pred = classifier.predict(X_test)
score = balanced_accuracy_score(Y_test, Y_pred)
with open(f"traning_zone/mini_modèles/{classe}/{name}/balanced_accuracy_score_score.json", "w") as jsonfile:
json.dump(score, jsonfile)
scores = classification_report(Y_test, Y_pred)
with open(f"traning_zone/mini_modèles/{classe}/{name}/classification_report_score.json", "w") as jsonfil:
json.dump(scores, jsonfil)
print(f'le modèle {name} est terminé')
return
def trainer_modele(X_train, Y_train, X_test, Y_test, Model, name):
try :
os.mkdir(f'traning_zone/modèles')
try :
os.mkdir(f'traning_zone/modèles/{name}')
except FileExistsError:
pass
except FileExistsError:
try :
os.mkdir(f'traning_zone/modèles/{name}')
except FileExistsError:
pass
classifier = Model.fit(X_train,Y_train)
joblib.dump(classifier, open(f"traning_zone/modèles/{name}/{name}.pkl", 'wb'))
Y_pred = classifier.predict(X_test)
score = balanced_accuracy_score(Y_test, Y_pred)
with open(f"traning_zone/modèles/{name}/balanced_accuracy_score_score.json", "w") as jsonfile:
json.dump(score, jsonfile)
scores = classification_report(Y_test, Y_pred)
with open(f"traning_zone/modèles/{name}/classification_report_score.json", "w") as jsonfil:
json.dump(scores, jsonfil)
print(f'le modèle {name} est terminé')
return