"""
These are the constants used by the application
"""
APP_TITLE = 'TH-KOELN | MAIT - OOP Data Analysis Project'
DEFAULT_RANDOM_STATE = 10

# Gradient Boosting Classifier
GB_DEFAULT_N_ESTIMATOR = 10
GB_DEFAULT_LEARNING_RATE = 0.1
GB_DEFAULT_SUB_SAMPLE = 1
GB_DEFAULT_CRITERIION = 'friedman_mse'
GB_DEFAULT_INIT = None
GB_DEFAULT_MIN_SAMPLES_SPLIT = 5
GB_DEFAULT_MAX_LEAF_NODE = 4
GB_DEFAULT_MAX_DEPTH = None
GB_DEFAULT_MAX_FAETURES = 'auto'

# BAGGING Classifier
BC_DEFAULT_N_ESTIMATOR = 100
BC_DEFAULT_MAX_FAETURE = 4
BC_DEFAULT_MAX_SAMPLE = 4

# Random Forest Classifier
RFC_DEFAULT_N_ESTIMATORS = 100
RFC_DEFAULT_CRITERION = 'entropy'
RFC_DEFAULT_MIN_SAMPLES_SPLIT = 2
RFC_DEFAULT_MAX_DEPTH = None
RFC_DEFAULT_MAX_FAETURES = 'auto'

# 1D interpolation
I1D_DEFAULT_METHOD = 1  # linear

# interp_2D.replaceMissingValues
I2D_DEFAULT_AUTO = True
I2D_DEFAULT_ARGUMENT_COLUMN_INITIAL = 1
I2D_DEFAULT_LIST_REMOVE_COLUMN = []

# Abdul smoothing
SMA_DEFAULT_MOVING_AVERAGE_RANGE = 1
SMA_DEFASULT_NUMBER_OF_DECIMALS = 3
EMA_DEFAULT_ALPHA = 0.2
EMA_DEFASULT_NUMBER_OF_DECIMALS = 3
CMA_DEFAULT_NUMBER_OF_DECIMALS = 3

# Z-Score Outlier Removal
OR_THRESHOLD = 2

# Lasso regression
LASSO_ALPHA = 0.5

# Ridge regression
RIDGE_ALPHA = 0.3

# Neural network classifier
NNC_DEFAULT_OPT = 'Adam'
NNC_DEFAULT_FUN = 'sigmoid'
NNC_DEFAULT_INIT = 'normal'
NNC_DEFAULT_EPO = 100
NNC_DEFAULT_BATCH = 1
NNC_DEFAULT_NN = [10, 4]

# Neural network regressor
NNR_DEFAULT_OPT = 'Adam'
NNR_DEFAULT_LOSS = 'MSE'
NNR_DEFAULT_FUN = 'relu'
NNR_DEFAULT_INIT = 'normal'
NNR_DEFAULT_EPO = 100
NNR_DEFAULT_BATCH = 1
NNR_DEFAULT_NN = [10, 4]

# Bagging Regressor
BR_DEFAULT_NO_OF_ESTIMATORS = 10
BR_DEFAULT_MAX_FEATURES = 1.0
BR_DEFAULT_MAX_SAMPLES = 1.0
BR_DEFAULT_OOB_SCORE = True

# Random Forest Regressor
RFR_DEFAULT_NO_OF_ESTIMATORS = 10
RFR_DEFAULT_MEASUREMENT_CRITERION = 'mse'
RFR_DEFAULT_MAX_DEPTH = 5
RFR_DEFAULT_MIN_SAMPLES_SPLIT = 2
RFR_DEFAULT_MIN_SAMPLES_LEAF = 1
RFR_DEFAULT_MIN_WEIGHT_FRACTION_LEAF = 0.0

# Gradient Boosting Regressor
GBR_DEFAULT_LOSS = 'ls'
GBR_DEFAULT_LEARNING_RATE = 0.1
GBR_DEFAULT_SUBSAMPLE = 1.0
GBR_DEFAULT_NO_OF_ESTIMATORS = 10
GBR_DEFAULT_MEASUREMENT_CRITERION = 'mse'
GBR_DEFAULT_MAX_DEPTH = 5
GBR_DEFAULT_MIN_SAMPLES_SPLIT = 2
GBR_DEFAULT_MIN_SAMPLES_LEAF = 1
GBR_DEFAULT_MIN_WEIGHT_FRACTION_LEAF = 0.0
