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