Source code for src.ml_pipeline.Templates.code_templates.algorithm

import pandas as pd
from sklearn.metrics import classification_report
from sklearn.model_selection import train_test_split
import numpy as np

[docs]def preprocess( Model ): # setup the Model features and target Model.df_features = Model.df_pre.drop( [ Model.target_ncol ], axis = 1 ) Model.df_target = Model.df_pre[ Model.target_ncol ]
[docs]def split_features_and_target( Model ): # setup the Model features and target Model.df_features = Model.df_pre.drop( [ Model.target_ncol ], axis = 1 ) Model.df_target = Model.df_pre[ Model.target_ncol ]
[docs]def postprocess( Model ): Model.df_results_pre = Model.df_results_propensity.join( Model.df_pre, how = 'left' )
[docs]def model_prep( Model ): """Model preparation""" split_features_and_target( Model ) print ('Initializing Varibles') df = Model.df_pre df_features = Model.df_features df_target = Model.df_target # Split training and test data sheets print('Splitting Dataset') Model.df_train, Model.df_test, Model.df_train_target, Model.df_test_target = train_test_split( df_features, df_target, test_size = .25, random_state = 12 )
[docs]def fit_model( Model ) -> None: """Fits the model""" ### # THIS IS WHERE YOU PUT YOUR MACHINE LEARNING ALGORITHM CODE ### Model.model = None
[docs]def run_model( Model ) -> None: """Saves the "model" attribute and "df_results_propensity" """ ### # Predict Results ### results_array = np.zeros( ( len(Model.df_features) ,2 ) ) results_array[ :,1 ] = np.random.random( len(Model.df_features) ) results_array[ :,0 ] = 1 - results_array[ :,1 ] # Export the results results = results_array[ :,1 ] #this is the probability of positive class Model.df_results_propensity = pd.DataFrame( { Model.propensity_col: results }, index = Model.df_features.index )