dataViz / models /model.py
DJONG-WANG's picture
Upload 15 files
7a82bc6 verified
from joblib import load
from sklearn.preprocessing import PowerTransformer
import os
#ENCODED CLASS IN ORDER
JOB_CLASSE = ['admin.','blue-collar','entrepreneur','housemaid','management','retired','self-employed','services','student','technician','unemployed','unknown']
EDUCATION_CLASSE = ['primary','secondary','tertiary','unknown']
MARITAL_CLASSE = ['divorced','married','single']
CONTACT_CLASSE = ['cellular','telephone','unknown']
MONTH_CLASSE = ['apr','aug','dec','feb','jan','jul','jun','mar','may','nov','oct','sep']
POUTCOME_CLASSE = ['failure','other','success','unknown']
BINARY_CLASSE = ['no','yes']
def transform_data(data):
# Initialisez PowerTransformer avec la méthode 'yeo-johnson'
transformer = PowerTransformer(method='yeo-johnson')
# Ajustez le transformer aux données et transformez les données en les normalisant
pdays_normalized = transformer.fit_transform(data[['pdays']])
day_normalized = transformer.fit_transform(data[['day']])
age_normalized = transformer.fit_transform(data[['age']])
balance_normalized = transformer.fit_transform(data[['balance']])
duration_normalized = transformer.fit_transform(data[['duration']])
campaign_normalized = transformer.fit_transform(data[['campaign']])
previous_normalized = transformer.fit_transform(data[['previous']])
# Remplacez les valeurs dans le DataFrame original par les valeurs normalisées
data['pdays'] = pdays_normalized
data['age'] = age_normalized
data['balance'] = balance_normalized
data['duration'] = duration_normalized
data['campaign'] = campaign_normalized
data['day'] = day_normalized
data['previous'] = previous_normalized
#categorical variable
data['job'] = [JOB_CLASSE.index(data['job'][0])]
data['marital'] = [MARITAL_CLASSE.index(data['marital'][0])]
data['education'] = [EDUCATION_CLASSE.index(data['education'][0])]
data['default'] = [BINARY_CLASSE.index(data['default'][0])]
data['housing'] = [BINARY_CLASSE.index(data['housing'][0])]
data['loan'] = [BINARY_CLASSE.index(data['loan'][0])]
data['contact'] = [CONTACT_CLASSE.index(data['contact'][0])]
data['month'] = [MONTH_CLASSE.index(data['month'][0])]
data['poutcome'] = [POUTCOME_CLASSE.index(data['poutcome'][0])]
return data
def xg_boost_model(data):
path = os.path.abspath('models/h5/xgb_model.h5')
model = load(path)
return model.predict(data)
def svc_model(data):
path = os.path.abspath('models/h5/svc_model.h5')
model = load(path)
return model.predict(data)
def knn_model(data):
path = os.path.abspath('models/h5/knn_model.h5')
model = load(path)
return model.predict(data)
def ramdom_forest_model(data):
path = os.path.abspath('models/h5/random_forest_model.h5')
model = load(path)
return model.predict(data)
def svc_linear_model(data):
path = os.path.abspath('models/h5/svc_linear_model.h5')
model = load(path)
return model.predict(data)