File size: 2,441 Bytes
f1f2665 |
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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
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
|