VisEvol: Visual Analytics to Support Hyperparameter Search through Evolutionary Optimization https://doi.org/10.1111/cgf.14300
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
VisEvol/run.py

5198 lines
232 KiB

4 years ago
from flask import Flask, render_template, jsonify, request
from flask_pymongo import PyMongo
from flask_cors import CORS, cross_origin
import json
import copy
import warnings
import re
import random
import math
import pandas as pd
import numpy as np
import multiprocessing
4 years ago
from joblib import Parallel, delayed, Memory
4 years ago
4 years ago
from sklearn.pipeline import make_pipeline
4 years ago
from sklearn.model_selection import RandomizedSearchCV
from sklearn.model_selection import GridSearchCV
4 years ago
from sklearn import model_selection
from sklearn.model_selection import cross_val_predict
4 years ago
from sklearn.neighbors import KNeighborsClassifier
from sklearn.svm import SVC
from sklearn.neural_network import MLPClassifier
4 years ago
from sklearn.linear_model import LogisticRegression
from sklearn.ensemble import RandomForestClassifier, GradientBoostingClassifier
4 years ago
from mlxtend.classifier import EnsembleVoteClassifier
from mlxtend.feature_selection import ColumnSelector
4 years ago
from sklearn.metrics import matthews_corrcoef
from sklearn.metrics import log_loss
from imblearn.metrics import geometric_mean_score
4 years ago
from sklearn.metrics import classification_report, accuracy_score, make_scorer, confusion_matrix
4 years ago
from sklearn.manifold import MDS
from sklearn.manifold import TSNE
4 years ago
from sklearn.cluster import MeanShift, estimate_bandwidth
4 years ago
from sklearn import cluster
4 years ago
import umap
4 years ago
4 years ago
4 years ago
# this block of code is for the connection between the server, the database, and the client (plus routing)
# access MongoDB
app = Flask(__name__)
app.config["MONGO_URI"] = "mongodb://localhost:27017/mydb"
mongo = PyMongo(app)
cors = CORS(app, resources={r"/data/*": {"origins": "*"}})
@cross_origin(origin='localhost',headers=['Content-Type','Authorization'])
@app.route('/data/Reset', methods=["GET", "POST"])
def reset():
4 years ago
global labelsClass0
global labelsClass1
labelsClass0 = []
labelsClass1 = []
4 years ago
global yDataSorted
yDataSorted = []
4 years ago
global PerClassResultsClass0
PerClassResultsClass0 = []
global PerClassResultsClass1
PerClassResultsClass1 = []
global Results
Results = []
global ResultsCM
ResultsCM = []
4 years ago
global ResultsCMSecond
ResultsCMSecond = []
4 years ago
global DataRawLength
global DataResultsRaw
global previousState
previousState = []
global filterActionFinal
filterActionFinal = ''
global dataSpacePointsIDs
dataSpacePointsIDs = []
global RANDOM_SEED
RANDOM_SEED = 42
global KNNModelsCount
global LRModelsCount
4 years ago
global MLPModelsCount
global RFModelsCount
global GradBModelsCount
4 years ago
global factors
factors = [1,1,1,1,0,0,0,0]
global crossValidation
crossValidation = 5
global randomSearchVar
randomSearchVar = 100
4 years ago
global stage1addKNN
global stage1addLR
global stage1addMLP
global stage1addRF
global stage1addGradB
global stageTotalReached
stage1addKNN = 0
stage1addLR = 0
stage1addMLP = 0
stage1addRF = 0
stage1addGradB = 0
stageTotalReached = randomSearchVar*5
4 years ago
global keyData
keyData = 0
KNNModelsCount = 0
LRModelsCount = KNNModelsCount+randomSearchVar
MLPModelsCount = LRModelsCount+randomSearchVar
RFModelsCount = MLPModelsCount+randomSearchVar
GradBModelsCount = RFModelsCount+randomSearchVar
4 years ago
4 years ago
global storeClass0
storeClass0 = 0
4 years ago
global StanceTest
StanceTest = False
4 years ago
global storeClass1
storeClass1 = 0
4 years ago
global XData
XData = []
global yData
yData = []
global EnsembleActive
EnsembleActive = []
global addKNN
addKNN = 0
global addLR
addLR = addKNN+randomSearchVar
global addMLP
addMLP = addLR+randomSearchVar
global addRF
addRF = addMLP+randomSearchVar
global addGradB
addGradB = addRF+randomSearchVar
global countAllModels
countAllModels = 0
4 years ago
global XDataStored
XDataStored = []
global yDataStored
yDataStored = []
global detailsParams
detailsParams = []
global algorithmList
algorithmList = []
global ClassifierIDsList
ClassifierIDsList = ''
# Initializing models
global resultsList
resultsList = []
global RetrieveModelsList
RetrieveModelsList = []
global allParametersPerformancePerModel
allParametersPerformancePerModel = []
global allParametersPerfCrossMutr
allParametersPerfCrossMutr = []
global HistoryPreservation
HistoryPreservation = []
global all_classifiers
all_classifiers = []
# models
global KNNModels
KNNModels = []
global RFModels
RFModels = []
global scoring
4 years ago
scoring = {'accuracy': 'accuracy', 'precision_macro': 'precision_macro', 'recall_macro': 'recall_macro', 'f1_macro': 'f1_macro', 'roc_auc_ovo': 'roc_auc_ovo'}
4 years ago
global results
results = []
global resultsMetrics
resultsMetrics = []
global parametersSelData
parametersSelData = []
global target_names
target_names = []
global target_namesLoc
target_namesLoc = []
4 years ago
global names_labels
names_labels = []
4 years ago
global keySend
keySend=0
4 years ago
return 'The reset was done!'
# retrieve data from client and select the correct data set
@cross_origin(origin='localhost',headers=['Content-Type','Authorization'])
@app.route('/data/ServerRequest', methods=["GET", "POST"])
def retrieveFileName():
global DataRawLength
global DataResultsRaw
global DataResultsRawTest
global DataRawLengthTest
4 years ago
global DataResultsRawExternal
global DataRawLengthExternal
4 years ago
4 years ago
global labelsClass0
global labelsClass1
labelsClass0 = []
labelsClass1 = []
4 years ago
global yDataSorted
yDataSorted = []
4 years ago
fileName = request.get_data().decode('utf8').replace("'", '"')
data = json.loads(fileName)
4 years ago
global filterActionFinal
filterActionFinal = ''
global dataSpacePointsIDs
dataSpacePointsIDs = []
global RANDOM_SEED
RANDOM_SEED = 42
global keyData
keyData = 0
global factors
factors = data['Factors']
global crossValidation
crossValidation = int(data['CrossValidation'])
4 years ago
print(crossValidation)
global randomSearchVar
randomSearchVar = int(data['RandomSearch'])
4 years ago
print(randomSearchVar)
4 years ago
global stage1addKNN
global stage1addLR
global stage1addMLP
global stage1addRF
global stage1addGradB
global stageTotalReached
stage1addKNN = 0
stage1addLR = 0
stage1addMLP = 0
stage1addRF = 0
stage1addGradB = 0
stageTotalReached = randomSearchVar*5
4 years ago
global storeClass0
storeClass0 = 0
global storeClass1
storeClass1 = 0
4 years ago
global XData
XData = []
global previousState
previousState = []
global yData
yData = []
global XDataStored
XDataStored = []
global yDataStored
yDataStored = []
global filterDataFinal
filterDataFinal = 'mean'
global ClassifierIDsList
ClassifierIDsList = ''
global algorithmList
algorithmList = []
global detailsParams
detailsParams = []
global EnsembleActive
EnsembleActive = []
4 years ago
global addKNN
addKNN = 0
global addLR
addLR = addKNN+randomSearchVar
global addMLP
addMLP = addLR+randomSearchVar
global addRF
addRF = addMLP+randomSearchVar
global addGradB
addGradB = addRF+randomSearchVar
4 years ago
global KNNModelsCount
global LRModelsCount
global MLPModelsCount
global RFModelsCount
global GradBModelsCount
KNNModelsCount = 0
LRModelsCount = KNNModelsCount+randomSearchVar
MLPModelsCount = LRModelsCount+randomSearchVar
RFModelsCount = MLPModelsCount+randomSearchVar
GradBModelsCount = RFModelsCount+randomSearchVar
4 years ago
# Initializing models
global RetrieveModelsList
RetrieveModelsList = []
global resultsList
resultsList = []
global allParametersPerformancePerModel
allParametersPerformancePerModel = []
global allParametersPerfCrossMutr
allParametersPerfCrossMutr = []
global HistoryPreservation
HistoryPreservation = []
global all_classifiers
all_classifiers = []
global scoring
4 years ago
scoring = {'accuracy': 'accuracy', 'precision_macro': 'precision_macro', 'recall_macro': 'recall_macro', 'f1_macro': 'f1_macro', 'roc_auc_ovo': 'roc_auc_ovo'}
4 years ago
# models
global KNNModels
global MLPModels
global LRModels
global RFModels
global GradBModels
KNNModels = []
MLPModels = []
LRModels = []
RFModels = []
GradBModels = []
global results
results = []
global resultsMetrics
resultsMetrics = []
global parametersSelData
parametersSelData = []
global StanceTest
StanceTest = False
global target_names
target_names = []
global target_namesLoc
target_namesLoc = []
4 years ago
global names_labels
names_labels = []
4 years ago
global keySend
keySend=0
4 years ago
global fileInput
fileInput = data['fileName']
4 years ago
4 years ago
4 years ago
DataRawLength = -1
DataRawLengthTest = -1
3 years ago
4 years ago
if data['fileName'] == 'heartC':
4 years ago
CollectionDB = mongo.db.HeartC.find()
4 years ago
names_labels.append('Healthy')
names_labels.append('Diseased')
4 years ago
elif data['fileName'] == 'StanceC':
StanceTest = True
CollectionDB = mongo.db.StanceC.find()
CollectionDBTest = mongo.db.StanceCTest.find()
4 years ago
elif data['fileName'] == 'biodegC':
StanceTest = True
CollectionDB = mongo.db.biodegC.find()
CollectionDBTest = mongo.db.biodegCTest.find()
CollectionDBExternal = mongo.db.biodegCExt.find()
names_labels.append('Non-biodegradable')
4 years ago
names_labels.append('Biodegradable')
4 years ago
elif data['fileName'] == 'breastC':
CollectionDB = mongo.db.diabetesC.find()
names_labels.append('Malignant')
names_labels.append('Benign')
4 years ago
else:
CollectionDB = mongo.db.IrisC.find()
DataResultsRaw = []
for index, item in enumerate(CollectionDB):
item['_id'] = str(item['_id'])
item['InstanceID'] = index
DataResultsRaw.append(item)
DataRawLength = len(DataResultsRaw)
DataResultsRawTest = []
4 years ago
DataResultsRawExternal = []
4 years ago
if (StanceTest):
for index, item in enumerate(CollectionDBTest):
item['_id'] = str(item['_id'])
item['InstanceID'] = index
DataResultsRawTest.append(item)
DataRawLengthTest = len(DataResultsRawTest)
4 years ago
for index, item in enumerate(CollectionDBExternal):
item['_id'] = str(item['_id'])
item['InstanceID'] = index
DataResultsRawExternal.append(item)
DataRawLengthExternal = len(DataResultsRawExternal)
4 years ago
dataSetSelection()
return 'Everything is okay'
# Retrieve data set from client
@cross_origin(origin='localhost',headers=['Content-Type','Authorization'])
@app.route('/data/SendtoSeverDataSet', methods=["GET", "POST"])
def sendToServerData():
uploadedData = request.get_data().decode('utf8').replace("'", '"')
uploadedDataParsed = json.loads(uploadedData)
DataResultsRaw = uploadedDataParsed['uploadedData']
DataResults = copy.deepcopy(DataResultsRaw)
for dictionary in DataResultsRaw:
for key in dictionary.keys():
if (key.find('*') != -1):
target = key
continue
continue
DataResultsRaw.sort(key=lambda x: x[target], reverse=True)
DataResults.sort(key=lambda x: x[target], reverse=True)
for dictionary in DataResults:
del dictionary[target]
global AllTargets
global target_names
global target_namesLoc
AllTargets = [o[target] for o in DataResultsRaw]
AllTargetsFloatValues = []
previous = None
Class = 0
for i, value in enumerate(AllTargets):
if (i == 0):
previous = value
target_names.append(value)
if (value == previous):
AllTargetsFloatValues.append(Class)
else:
Class = Class + 1
target_names.append(value)
AllTargetsFloatValues.append(Class)
previous = value
4 years ago
4 years ago
ArrayDataResults = pd.DataFrame.from_dict(DataResults)
global XData, yData, RANDOM_SEED
XData, yData = ArrayDataResults, AllTargetsFloatValues
global XDataStored, yDataStored
XDataStored = XData.copy()
yDataStored = yData.copy()
4 years ago
global storeClass0
global storeClass1
for item in yData:
4 years ago
if (item == 1):
4 years ago
storeClass0 = storeClass0 + 1
else:
storeClass1 = storeClass1 + 1
4 years ago
return 'Processed uploaded data set'
def dataSetSelection():
global XDataTest, yDataTest
XDataTest = pd.DataFrame()
4 years ago
global XDataExternal, yDataExternal
XDataExternal = pd.DataFrame()
4 years ago
global StanceTest
global AllTargets
global target_names
target_namesLoc = []
if (StanceTest):
DataResultsTest = copy.deepcopy(DataResultsRawTest)
for dictionary in DataResultsRawTest:
for key in dictionary.keys():
if (key.find('*') != -1):
target = key
continue
continue
DataResultsRawTest.sort(key=lambda x: x[target], reverse=True)
DataResultsTest.sort(key=lambda x: x[target], reverse=True)
for dictionary in DataResultsTest:
del dictionary['_id']
del dictionary['InstanceID']
del dictionary[target]
AllTargetsTest = [o[target] for o in DataResultsRawTest]
AllTargetsFloatValuesTest = []
previous = None
Class = 0
for i, value in enumerate(AllTargetsTest):
if (i == 0):
previous = value
target_namesLoc.append(value)
if (value == previous):
AllTargetsFloatValuesTest.append(Class)
else:
Class = Class + 1
target_namesLoc.append(value)
AllTargetsFloatValuesTest.append(Class)
previous = value
ArrayDataResultsTest = pd.DataFrame.from_dict(DataResultsTest)
XDataTest, yDataTest = ArrayDataResultsTest, AllTargetsFloatValuesTest
4 years ago
DataResultsExternal = copy.deepcopy(DataResultsRawExternal)
for dictionary in DataResultsRawExternal:
for key in dictionary.keys():
if (key.find('*') != -1):
target = key
continue
continue
DataResultsRawExternal.sort(key=lambda x: x[target], reverse=True)
DataResultsExternal.sort(key=lambda x: x[target], reverse=True)
for dictionary in DataResultsExternal:
del dictionary['_id']
del dictionary['InstanceID']
del dictionary[target]
AllTargetsExternal = [o[target] for o in DataResultsRawExternal]
AllTargetsFloatValuesExternal = []
previous = None
Class = 0
for i, value in enumerate(AllTargetsExternal):
if (i == 0):
previous = value
target_namesLoc.append(value)
if (value == previous):
AllTargetsFloatValuesExternal.append(Class)
else:
Class = Class + 1
target_namesLoc.append(value)
AllTargetsFloatValuesExternal.append(Class)
previous = value
ArrayDataResultsExternal = pd.DataFrame.from_dict(DataResultsExternal)
XDataExternal, yDataExternal = ArrayDataResultsExternal, AllTargetsFloatValuesExternal
4 years ago
DataResults = copy.deepcopy(DataResultsRaw)
for dictionary in DataResultsRaw:
for key in dictionary.keys():
if (key.find('*') != -1):
target = key
continue
continue
DataResultsRaw.sort(key=lambda x: x[target], reverse=True)
DataResults.sort(key=lambda x: x[target], reverse=True)
for dictionary in DataResults:
del dictionary['_id']
del dictionary['InstanceID']
del dictionary[target]
AllTargets = [o[target] for o in DataResultsRaw]
AllTargetsFloatValues = []
previous = None
Class = 0
for i, value in enumerate(AllTargets):
if (i == 0):
previous = value
target_names.append(value)
if (value == previous):
AllTargetsFloatValues.append(Class)
else:
Class = Class + 1
target_names.append(value)
AllTargetsFloatValues.append(Class)
previous = value
ArrayDataResults = pd.DataFrame.from_dict(DataResults)
global XData, yData, RANDOM_SEED
XData, yData = ArrayDataResults, AllTargetsFloatValues
4 years ago
4 years ago
global storeClass0
global storeClass1
for item in yData:
4 years ago
if (item == 1):
4 years ago
storeClass0 = storeClass0 + 1
else:
storeClass1 = storeClass1 + 1
4 years ago
global XDataStored, yDataStored
XDataStored = XData.copy()
yDataStored = yData.copy()
warnings.simplefilter('ignore')
return 'Everything is okay'
# Retrieve data from client
@cross_origin(origin='localhost',headers=['Content-Type','Authorization'])
@app.route('/data/factors', methods=["GET", "POST"])
def RetrieveFactors():
global factors
global allParametersPerformancePerModel
Factors = request.get_data().decode('utf8').replace("'", '"')
FactorsInt = json.loads(Factors)
factors = FactorsInt['Factors']
return 'Everything Okay'
# Initialize every model for each algorithm
@cross_origin(origin='localhost',headers=['Content-Type','Authorization'])
@app.route('/data/ServerRequestSelParameters', methods=["GET", "POST"])
def retrieveModel():
# get the models from the frontend
RetrievedModel = request.get_data().decode('utf8').replace("'", '"')
RetrievedModel = json.loads(RetrievedModel)
global algorithms
algorithms = RetrievedModel['Algorithms']
global XData
global yData
global countAllModels
4 years ago
# loop through the algorithms
global allParametersPerformancePerModel
global HistoryPreservation
4 years ago
global crossValidation
4 years ago
global randomSearchVar
4 years ago
for eachAlgor in algorithms:
if (eachAlgor) == 'KNN':
clf = KNeighborsClassifier()
params = {'n_neighbors': list(range(1, 100)), 'metric': ['chebyshev', 'manhattan', 'euclidean', 'minkowski'], 'algorithm': ['brute', 'kd_tree', 'ball_tree'], 'weights': ['uniform', 'distance']}
AlgorithmsIDsEnd = countAllModels
elif (eachAlgor) == 'LR':
4 years ago
clf = LogisticRegression(random_state=RANDOM_SEED)
params = {'C': list(np.arange(1,100,1)), 'max_iter': list(np.arange(50,500,50)), 'solver': ['lbfgs', 'newton-cg', 'sag', 'saga'], 'penalty': ['l2', 'none']}
countAllModels = countAllModels + randomSearchVar
AlgorithmsIDsEnd = countAllModels
elif (eachAlgor) == 'MLP':
start = 60
stop = 120
step = 1
random.seed(RANDOM_SEED)
ranges = [(n, random.randint(1,3)) for n in range(start, stop, step)]
clf = MLPClassifier(random_state=RANDOM_SEED)
params = {'hidden_layer_sizes': ranges,'alpha': list(np.arange(0.00001,0.001,0.0002)), 'tol': list(np.arange(0.00001,0.001,0.0004)), 'max_iter': list(np.arange(100,200,100)), 'activation': ['relu', 'identity', 'logistic', 'tanh'], 'solver' : ['adam', 'sgd']}
countAllModels = countAllModels + randomSearchVar
AlgorithmsIDsEnd = countAllModels
elif (eachAlgor) == 'RF':
clf = RandomForestClassifier(random_state=RANDOM_SEED)
4 years ago
params = {'n_estimators': list(range(20, 100)), 'max_depth': list(range(2, 20)), 'criterion': ['gini', 'entropy']}
countAllModels = countAllModels + randomSearchVar
AlgorithmsIDsEnd = countAllModels
else:
clf = GradientBoostingClassifier(random_state=RANDOM_SEED)
4 years ago
# add exponential in loss
params = {'n_estimators': list(range(20, 100)), 'loss': ['deviance','exponential'], 'learning_rate': list(np.arange(0.01,0.56,0.11)), 'subsample': list(np.arange(0.1,1,0.1)), 'criterion': ['friedman_mse', 'mse', 'mae']}
countAllModels = countAllModels + randomSearchVar
AlgorithmsIDsEnd = countAllModels
4 years ago
countAllModels = countAllModels + randomSearchVar
4 years ago
allParametersPerformancePerModel = randomSearch(XData, yData, clf, params, eachAlgor, AlgorithmsIDsEnd,crossValidation,randomSearchVar)
4 years ago
HistoryPreservation = allParametersPerformancePerModel.copy()
# call the function that sends the results to the frontend
return 'Everything Okay'
location = './cachedir'
memory = Memory(location, verbose=0)
@memory.cache
4 years ago
def randomSearch(XData, yData, clf, params, eachAlgor, AlgorithmsIDsEnd,crossValidation,randomSear):
3 years ago
print('inside')
4 years ago
print(clf)
4 years ago
search = RandomizedSearchCV(
4 years ago
estimator=clf, param_distributions=params, n_iter=randomSear,
4 years ago
cv=crossValidation, refit='accuracy', scoring=scoring,
verbose=0, n_jobs=-1)
4 years ago
4 years ago
# fit and extract the probabilities
search.fit(XData, yData)
# process the results
cv_results = []
cv_results.append(search.cv_results_)
df_cv_results = pd.DataFrame.from_dict(cv_results)
# number of models stored
number_of_models = len(df_cv_results.iloc[0][0])
# initialize results per row
df_cv_results_per_row = []
# loop through number of models
modelsIDs = []
for i in range(number_of_models):
number = AlgorithmsIDsEnd+i
modelsIDs.append(eachAlgor+str(number))
# initialize results per item
df_cv_results_per_item = []
for column in df_cv_results.iloc[0]:
df_cv_results_per_item.append(column[i])
df_cv_results_per_row.append(df_cv_results_per_item)
# store the results into a pandas dataframe
df_cv_results_classifiers = pd.DataFrame(data = df_cv_results_per_row, columns= df_cv_results.columns)
# copy and filter in order to get only the metrics
metrics = df_cv_results_classifiers.copy()
4 years ago
metrics = metrics.filter(['mean_test_accuracy','mean_test_precision_macro','mean_test_recall_macro','mean_test_f1_macro','mean_test_roc_auc_ovo'])
4 years ago
# concat parameters and performance
parametersPerformancePerModel = pd.DataFrame(df_cv_results_classifiers['params'])
parametersLocal = parametersPerformancePerModel['params'].copy()
Models = []
for index, items in enumerate(parametersLocal):
Models.append(index)
parametersLocalNew = [ parametersLocal[your_key] for your_key in Models ]
perModelProb = []
resultsWeighted = []
resultsCorrCoef = []
resultsLogLoss = []
resultsLogLossFinal = []
# influence calculation for all the instances
inputs = range(len(XData))
num_cores = multiprocessing.cpu_count()
for eachModelParameters in parametersLocalNew:
clf.set_params(**eachModelParameters)
clf.fit(XData, yData)
yPredict = clf.predict(XData)
yPredict = np.nan_to_num(yPredict)
yPredictProb = cross_val_predict(clf, XData, yData, cv=crossValidation, method='predict_proba')
4 years ago
yPredictProb = np.nan_to_num(yPredictProb)
perModelProb.append(yPredictProb.tolist())
4 years ago
resultsWeighted.append(geometric_mean_score(yData, yPredict, average='macro'))
4 years ago
resultsCorrCoef.append(matthews_corrcoef(yData, yPredict))
resultsLogLoss.append(log_loss(yData, yPredictProb, normalize=True))
maxLog = max(resultsLogLoss)
minLog = min(resultsLogLoss)
for each in resultsLogLoss:
resultsLogLossFinal.append((each-minLog)/(maxLog-minLog))
4 years ago
metrics.insert(5,'geometric_mean_score_macro',resultsWeighted)
4 years ago
metrics.insert(6,'matthews_corrcoef',resultsCorrCoef)
metrics.insert(7,'log_loss',resultsLogLossFinal)
perModelProbPandas = pd.DataFrame(perModelProb)
results.append(modelsIDs)
results.append(parametersPerformancePerModel)
results.append(metrics)
results.append(perModelProbPandas)
return results
def PreprocessingIDs():
dicKNN = allParametersPerformancePerModel[0]
dicLR = allParametersPerformancePerModel[4]
dicMLP = allParametersPerformancePerModel[8]
dicRF = allParametersPerformancePerModel[12]
dicGradB = allParametersPerformancePerModel[16]
4 years ago
df_concatIDs = dicKNN + dicLR + dicMLP + dicRF + dicGradB
4 years ago
return df_concatIDs
def PreprocessingMetrics():
global allParametersPerformancePerModel
4 years ago
dicKNN = allParametersPerformancePerModel[2]
dicLR = allParametersPerformancePerModel[6]
dicMLP = allParametersPerformancePerModel[10]
dicRF = allParametersPerformancePerModel[14]
dicGradB = allParametersPerformancePerModel[18]
4 years ago
dfKNN = pd.DataFrame.from_dict(dicKNN)
dfLR = pd.DataFrame.from_dict(dicLR)
dfMLP = pd.DataFrame.from_dict(dicMLP)
dfRF = pd.DataFrame.from_dict(dicRF)
dfGradB = pd.DataFrame.from_dict(dicGradB)
4 years ago
df_concatMetrics = pd.concat([dfKNN, dfLR, dfMLP, dfRF, dfGradB])
4 years ago
df_concatMetrics = df_concatMetrics.reset_index(drop=True)
return df_concatMetrics
def PreprocessingMetricsEnsem():
global allParametersPerformancePerModelEnsem
dicKNN = allParametersPerformancePerModelEnsem[2]
dicLR = allParametersPerformancePerModelEnsem[6]
dicMLP = allParametersPerformancePerModelEnsem[10]
dicRF = allParametersPerformancePerModelEnsem[14]
dicGradB = allParametersPerformancePerModelEnsem[18]
dfKNN = pd.DataFrame.from_dict(dicKNN)
dfLR = pd.DataFrame.from_dict(dicLR)
dfMLP = pd.DataFrame.from_dict(dicMLP)
dfRF = pd.DataFrame.from_dict(dicRF)
dfGradB = pd.DataFrame.from_dict(dicGradB)
df_concatMetrics = pd.concat([dfKNN, dfLR, dfMLP, dfRF, dfGradB])
df_concatMetrics = df_concatMetrics.reset_index(drop=True)
return df_concatMetrics
4 years ago
def PreprocessingPred():
4 years ago
4 years ago
dicKNN = allParametersPerformancePerModel[3]
dicLR = allParametersPerformancePerModel[7]
dicMLP = allParametersPerformancePerModel[11]
dicRF = allParametersPerformancePerModel[15]
dicGradB = allParametersPerformancePerModel[19]
4 years ago
dfKNN = pd.DataFrame.from_dict(dicKNN)
dfLR = pd.DataFrame.from_dict(dicLR)
dfMLP = pd.DataFrame.from_dict(dicMLP)
dfRF = pd.DataFrame.from_dict(dicRF)
dfGradB = pd.DataFrame.from_dict(dicGradB)
4 years ago
df_concatProbs = pd.concat([dfKNN, dfLR, dfMLP, dfRF, dfGradB])
4 years ago
df_concatProbs.reset_index(drop=True)
4 years ago
predictionsKNN = []
for column, content in dfKNN.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictionsKNN.append(el)
predictionsLR = []
for column, content in dfLR.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictionsLR.append(el)
predictionsMLP = []
for column, content in dfMLP.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictionsMLP.append(el)
predictionsRF = []
for column, content in dfRF.items():
4 years ago
el = [sum(x)/len(x) for x in zip(*content)]
predictionsRF.append(el)
predictionsGradB = []
for column, content in dfGradB.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictionsGradB.append(el)
4 years ago
4 years ago
predictions = []
for column, content in df_concatProbs.items():
4 years ago
4 years ago
el = [sum(x)/len(x) for x in zip(*content)]
predictions.append(el)
4 years ago
4 years ago
global storeClass0
global storeClass1
global yDataSorted
firstElKNN = []
firstElLR = []
firstElMLP = []
firstElRF = []
firstElGradB = []
firstElPredAv = []
lastElKNN = []
lastElLR = []
lastElMLP = []
lastElRF = []
lastElGradB = []
lastElPredAv = []
yDataSortedFirst = []
yDataSortedLast = []
4 years ago
gatherPointsAllClass0 = []
gatherPointsAllClass1 = []
ResultsGatheredFirst = [0,0,0,0,0,0,0]
ResultsGatheredLast = [0,0,0,0,0,0,0]
4 years ago
for index, item in enumerate(yData):
4 years ago
if (item == 1):
if (len(predictionsKNN[index]) != 0):
firstElKNN.append(predictionsKNN[index][item]*100)
if (len(predictionsLR[index]) != 0):
firstElLR.append(predictionsLR[index][item]*100)
if (len(predictionsMLP[index]) != 0):
firstElMLP.append(predictionsMLP[index][item]*100)
if (len(predictionsRF[index]) != 0):
firstElRF.append(predictionsRF[index][item]*100)
if (len(predictionsGradB[index]) != 0):
firstElGradB.append(predictionsGradB[index][item]*100)
if (len(predictions[index]) != 0):
firstElPredAv.append(predictions[index][item]*100)
yDataSortedFirst.append(item)
else:
if (len(predictionsKNN[index]) != 0):
lastElKNN.append(predictionsKNN[index][item]*100)
if (len(predictionsLR[index]) != 0):
lastElLR.append(predictionsLR[index][item]*100)
if (len(predictionsMLP[index]) != 0):
lastElMLP.append(predictionsMLP[index][item]*100)
if (len(predictionsRF[index]) != 0):
lastElRF.append(predictionsRF[index][item]*100)
if (len(predictionsGradB[index]) != 0):
lastElGradB.append(predictionsGradB[index][item]*100)
if (len(predictions[index]) != 0):
lastElPredAv.append(predictions[index][item]*100)
yDataSortedLast.append(item)
predictions = firstElPredAv + lastElPredAv
predictionsKNN = firstElKNN + lastElKNN
predictionsLR = firstElLR + lastElLR
predictionsMLP = firstElMLP + lastElMLP
predictionsRF = firstElRF + lastElRF
predictionsGradB = firstElGradB + lastElGradB
yDataSorted = yDataSortedFirst + yDataSortedLast
4 years ago
if (storeClass0 > 169 and storeClass1 > 169):
yDataSortedFirst = []
yDataSortedLast = []
4 years ago
ResultsGatheredFirst = computeClusters(firstElPredAv,firstElKNN,firstElLR,firstElMLP,firstElRF,firstElGradB,1)
ResultsGatheredLast = computeClusters(lastElPredAv,lastElKNN,lastElLR,lastElMLP,lastElRF,lastElGradB,2)
4 years ago
for item in lastElPredAv:
yDataSortedFirst.append(0)
yDataSortedLast.append(0)
4 years ago
predictions = ResultsGatheredFirst[0] + ResultsGatheredLast[0]
predictionsKNN = ResultsGatheredFirst[1] + ResultsGatheredLast[1]
predictionsLR = ResultsGatheredFirst[2] + ResultsGatheredLast[2]
predictionsMLP = ResultsGatheredFirst[3] + ResultsGatheredLast[3]
predictionsRF = ResultsGatheredFirst[4] + ResultsGatheredLast[4]
predictionsGradB = ResultsGatheredFirst[5] + ResultsGatheredLast[5]
yDataSorted = yDataSortedFirst + yDataSortedLast
4 years ago
return [predictionsKNN, predictionsLR, predictionsMLP, predictionsRF, predictionsGradB, predictions, ResultsGatheredLast[6], ResultsGatheredFirst[6]]
4 years ago
4 years ago
def computeClusters(dataLocal,one,two,three,four,five,flagLocal):
4 years ago
if (len(dataLocal) != 0):
4 years ago
global labelsClass0
global labelsClass1
4 years ago
XKNN = np.array(list(zip(one,np.zeros(len(one)))), dtype=np.int)
XLR = np.array(list(zip(two,np.zeros(len(two)))), dtype=np.int)
XMLP = np.array(list(zip(three,np.zeros(len(three)))), dtype=np.int)
XRF = np.array(list(zip(four,np.zeros(len(four)))), dtype=np.int)
XGradB = np.array(list(zip(five,np.zeros(len(five)))), dtype=np.int)
4 years ago
X = np.array(list(zip(dataLocal,np.zeros(len(dataLocal)))), dtype=np.int)
4 years ago
if (flagLocal == 1):
ms = cluster.KMeans(n_clusters=100,random_state=RANDOM_SEED, n_jobs=-1)
ms.fit(X)
labelsClass0 = ms.labels_
labels = labelsClass0
if (flagLocal == 2):
ms = cluster.KMeans(n_clusters=100,random_state=RANDOM_SEED, n_jobs=-1)
ms.fit(X)
labelsClass1 = ms.labels_
labels = labelsClass1
if (flagLocal == 3):
labels = labelsClass0
if (flagLocal == 4):
labels = labelsClass1
4 years ago
#labels_unique = np.unique(labels)
#n_clusters_ = len(labels)
gatherPointsAv = []
gatherPointsKNN = []
gatherPointsLR = []
gatherPointsMLP = []
gatherPointsRF = []
gatherPointsGradB = []
4 years ago
4 years ago
gatherPointsAll = [0] * 100
for ind, val in enumerate(labels):
for k in range(100):
if (k == val):
gatherPointsAll[k] = gatherPointsAll[val] + 1
4 years ago
for k in range(100):
4 years ago
my_members = labels == k
4 years ago
if (len(X[my_members, 0]) == 0):
gatherPointsAv.append(0)
else:
gatherPointsAv.append(sum(X[my_members, 0])/len(X[my_members, 0]))
if (len(one) == 0):
gatherPointsKNN = []
elif (len(XKNN[my_members, 0]) == 0):
gatherPointsKNN.append(0)
else:
gatherPointsKNN.append(sum(XKNN[my_members, 0])/len(XKNN[my_members, 0]))
if (len(two) == 0):
gatherPointsLR = []
elif (len(XLR[my_members, 0]) == 0):
gatherPointsLR.append(0)
else:
gatherPointsLR.append(sum(XLR[my_members, 0])/len(XLR[my_members, 0]))
if (len(three) == 0):
gatherPointsMLP = []
elif (len(XMLP[my_members, 0]) == 0):
gatherPointsMLP.append(0)
else:
gatherPointsMLP.append(sum(XMLP[my_members, 0])/len(XMLP[my_members, 0]))
if (len(four) == 0):
gatherPointsRF = []
elif (len(XRF[my_members, 0]) == 0):
gatherPointsRF.append(0)
else:
gatherPointsRF.append(sum(XRF[my_members, 0])/len(XRF[my_members, 0]))
if (len(five) == 0):
gatherPointsGradB = []
elif (len(XGradB[my_members, 0]) == 0):
gatherPointsGradB.append(0)
else:
gatherPointsGradB.append(sum(XGradB[my_members, 0])/len(XGradB[my_members, 0]))
4 years ago
else:
4 years ago
gatherPointsAv = []
4 years ago
return [gatherPointsAv,gatherPointsKNN,gatherPointsLR,gatherPointsMLP,gatherPointsRF,gatherPointsGradB, gatherPointsAll]
4 years ago
4 years ago
def EnsembleIDs():
global EnsembleActive
global numberIDKNNGlob
global numberIDLRGlob
global numberIDMLPGlob
global numberIDRFGlob
global numberIDGradBGlob
numberIDKNNGlob = []
numberIDLRGlob = []
numberIDMLPGlob = []
numberIDRFGlob = []
numberIDGradBGlob = []
for el in EnsembleActive:
match = re.match(r"([a-z]+)([0-9]+)", el, re.I)
if match:
items = match.groups()
4 years ago
if ((items[0] == "KNN") | (items[0] == "KNNC") | (items[0] == "KNNM") | (items[0] == "KNNCC") | (items[0] == "KNNCM") | (items[0] == "KNNMC") | (items[0] == "KNNMM")):
4 years ago
numberIDKNNGlob.append(int(items[1]))
4 years ago
elif ((items[0] == "LR") | (items[0] == "LRC") | (items[0] == "LRM") | (items[0] == "LRCC") | (items[0] == "LRCM") | (items[0] == "LRMC") | (items[0] == "LRMM")):
4 years ago
numberIDLRGlob.append(int(items[1]))
4 years ago
elif ((items[0] == "MLP") | (items[0] == "MLPC") | (items[0] == "MLPM") | (items[0] == "MLPCC") | (items[0] == "MLPCM") | (items[0] == "MLPMC") | (items[0] == "MLPMM")):
4 years ago
numberIDMLPGlob.append(int(items[1]))
4 years ago
elif ((items[0] == "RF") | (items[0] == "RFC") | (items[0] == "RFM") | (items[0] == "RFCC") | (items[0] == "RFCM") | (items[0] == "RFMC") | (items[0] == "RFMM")):
4 years ago
numberIDRFGlob.append(int(items[1]))
else:
numberIDGradBGlob.append(int(items[1]))
4 years ago
4 years ago
EnsembleIdsAll = numberIDKNNGlob + numberIDLRGlob + numberIDMLPGlob + numberIDRFGlob + numberIDGradBGlob
return EnsembleIdsAll
def PreprocessingPredEnsemble():
global EnsembleActive
global allParametersPerformancePerModelEnsem
numberIDKNN = []
numberIDLR = []
numberIDMLP = []
numberIDRF = []
numberIDGradB = []
4 years ago
for el in EnsembleActive:
match = re.match(r"([a-z]+)([0-9]+)", el, re.I)
if match:
items = match.groups()
4 years ago
4 years ago
if ((items[0] == "KNN") | (items[0] == "KNNC") | (items[0] == "KNNM") | (items[0] == "KNNCC") | (items[0] == "KNNCM") | (items[0] == "KNNMC") | (items[0] == "KNNMM")):
numberIDKNN.append(int(items[1]))
4 years ago
elif ((items[0] == "LR") | (items[0] == "LRC") | (items[0] == "LRM") | (items[0] == "LRCC") | (items[0] == "LRCM") | (items[0] == "LRMC") | (items[0] == "LRMM")):
numberIDLR.append(int(items[1]))
4 years ago
elif ((items[0] == "MLP") | (items[0] == "MLPC") | (items[0] == "MLPM") | (items[0] == "MLPCC") | (items[0] == "MLPCM") | (items[0] == "MLPMC") | (items[0] == "MLPMM")):
numberIDMLP.append(int(items[1]))
4 years ago
elif ((items[0] == "RF") | (items[0] == "RFC") | (items[0] == "RFM") | (items[0] == "RFCC") | (items[0] == "RFCM") | (items[0] == "RFMC") | (items[0] == "RFMM")):
numberIDRF.append(int(items[1]))
else:
numberIDGradB.append(int(items[1]))
4 years ago
dicKNN = allParametersPerformancePerModelEnsem[3]
dicLR = allParametersPerformancePerModelEnsem[7]
dicMLP = allParametersPerformancePerModelEnsem[11]
dicRF = allParametersPerformancePerModelEnsem[15]
dicGradB = allParametersPerformancePerModelEnsem[19]
dfKNN = pd.DataFrame.from_dict(dicKNN)
dfLR = pd.DataFrame.from_dict(dicLR)
dfMLP = pd.DataFrame.from_dict(dicMLP)
dfRF = pd.DataFrame.from_dict(dicRF)
dfGradB = pd.DataFrame.from_dict(dicGradB)
df_concatProbs = pd.concat([dfKNN, dfLR, dfMLP, dfRF, dfGradB])
df_concatProbs = df_concatProbs.reset_index(drop=True)
dfKNN = df_concatProbs.loc[numberIDKNN]
dfLR = df_concatProbs.loc[numberIDLR]
dfMLP = df_concatProbs.loc[numberIDMLP]
dfRF = df_concatProbs.loc[numberIDRF]
dfGradB = df_concatProbs.loc[numberIDGradB]
df_concatProbs = pd.DataFrame()
df_concatProbs = df_concatProbs.iloc[0:0]
df_concatProbs = pd.concat([dfKNN, dfLR, dfMLP, dfRF, dfGradB])
predictionsKNN = []
for column, content in dfKNN.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictionsKNN.append(el)
predictionsLR = []
for column, content in dfLR.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictionsLR.append(el)
predictionsMLP = []
for column, content in dfMLP.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictionsMLP.append(el)
predictionsRF = []
for column, content in dfRF.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictionsRF.append(el)
predictionsGradB = []
for column, content in dfGradB.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictionsGradB.append(el)
predictions = []
for column, content in df_concatProbs.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictions.append(el)
4 years ago
global storeClass0
global storeClass1
global yDataSorted
firstElKNN = []
firstElLR = []
firstElMLP = []
firstElRF = []
firstElGradB = []
firstElPredAv = []
lastElKNN = []
lastElLR = []
lastElMLP = []
lastElRF = []
lastElGradB = []
lastElPredAv = []
yDataSortedFirst = []
yDataSortedLast = []
4 years ago
ResultsGatheredFirst = [0,0,0,0,0,0,0]
ResultsGatheredLast = [0,0,0,0,0,0,0]
4 years ago
for index, item in enumerate(yData):
4 years ago
if (item == 1):
if (len(predictionsKNN[index]) != 0):
firstElKNN.append(predictionsKNN[index][item]*100)
if (len(predictionsLR[index]) != 0):
firstElLR.append(predictionsLR[index][item]*100)
if (len(predictionsMLP[index]) != 0):
firstElMLP.append(predictionsMLP[index][item]*100)
if (len(predictionsRF[index]) != 0):
firstElRF.append(predictionsRF[index][item]*100)
if (len(predictionsGradB[index]) != 0):
firstElGradB.append(predictionsGradB[index][item]*100)
if (len(predictions[index]) != 0):
firstElPredAv.append(predictions[index][item]*100)
yDataSortedFirst.append(item)
else:
if (len(predictionsKNN[index]) != 0):
lastElKNN.append(predictionsKNN[index][item]*100)
if (len(predictionsLR[index]) != 0):
lastElLR.append(predictionsLR[index][item]*100)
if (len(predictionsMLP[index]) != 0):
lastElMLP.append(predictionsMLP[index][item]*100)
if (len(predictionsRF[index]) != 0):
lastElRF.append(predictionsRF[index][item]*100)
if (len(predictionsGradB[index]) != 0):
lastElGradB.append(predictionsGradB[index][item]*100)
if (len(predictions[index]) != 0):
lastElPredAv.append(predictions[index][item]*100)
yDataSortedLast.append(item)
predictions = firstElPredAv + lastElPredAv
predictionsKNN = firstElKNN + lastElKNN
predictionsLR = firstElLR + lastElLR
predictionsMLP = firstElMLP + lastElMLP
predictionsRF = firstElRF + lastElRF
predictionsGradB = firstElGradB + lastElGradB
yDataSorted = yDataSortedFirst + yDataSortedLast
4 years ago
4 years ago
if (storeClass0 > 169 and storeClass1 > 169):
yDataSortedFirst = []
yDataSortedLast = []
4 years ago
ResultsGatheredFirst = computeClusters(firstElPredAv,firstElKNN,firstElLR,firstElMLP,firstElRF,firstElGradB,3)
ResultsGatheredLast = computeClusters(lastElPredAv,lastElKNN,lastElLR,lastElMLP,lastElRF,lastElGradB,4)
4 years ago
for item in lastElPredAv:
yDataSortedFirst.append(0)
yDataSortedLast.append(0)
4 years ago
predictions = ResultsGatheredFirst[0] + ResultsGatheredLast[0]
predictionsKNN = ResultsGatheredFirst[1] + ResultsGatheredLast[1]
predictionsLR = ResultsGatheredFirst[2] + ResultsGatheredLast[2]
predictionsMLP = ResultsGatheredFirst[3] + ResultsGatheredLast[3]
predictionsRF = ResultsGatheredFirst[4] + ResultsGatheredLast[4]
predictionsGradB = ResultsGatheredFirst[5] + ResultsGatheredLast[5]
yDataSorted = yDataSortedFirst + yDataSortedLast
4 years ago
4 years ago
return [predictionsKNN, predictionsLR, predictionsMLP, predictionsRF, predictionsGradB, predictions, ResultsGatheredLast[6], ResultsGatheredFirst[6]]
4 years ago
def PreprocessingParam():
dicKNN = allParametersPerformancePerModel[1]
dicLR = allParametersPerformancePerModel[5]
dicMLP = allParametersPerformancePerModel[9]
dicRF = allParametersPerformancePerModel[13]
dicGradB = allParametersPerformancePerModel[17]
4 years ago
dicKNN = dicKNN['params']
dicLR = dicLR['params']
dicMLP = dicMLP['params']
dicRF = dicRF['params']
dicGradB = dicGradB['params']
4 years ago
dicKNN = {int(k):v for k,v in dicKNN.items()}
dicLR = {int(k):v for k,v in dicLR.items()}
dicMLP = {int(k):v for k,v in dicMLP.items()}
dicRF = {int(k):v for k,v in dicRF.items()}
dicGradB = {int(k):v for k,v in dicGradB.items()}
4 years ago
dfKNN = pd.DataFrame.from_dict(dicKNN)
dfLR = pd.DataFrame.from_dict(dicLR)
dfMLP = pd.DataFrame.from_dict(dicMLP)
dfRF = pd.DataFrame.from_dict(dicRF)
dfGradB = pd.DataFrame.from_dict(dicGradB)
4 years ago
dfKNN = dfKNN.T
dfLR = dfLR.T
dfMLP = dfMLP.T
dfRF = dfRF.T
dfGradB = dfGradB.T
4 years ago
df_params = pd.concat([dfKNN, dfLR, dfMLP, dfRF, dfGradB])
df_params = df_params.reset_index(drop=True)
4 years ago
return df_params
def PreprocessingParamEnsem():
dicKNN = allParametersPerformancePerModelEnsem[1]
dicLR = allParametersPerformancePerModelEnsem[5]
dicMLP = allParametersPerformancePerModelEnsem[9]
dicRF = allParametersPerformancePerModelEnsem[13]
dicGradB = allParametersPerformancePerModelEnsem[17]
dicKNN = dicKNN['params']
dicLR = dicLR['params']
dicMLP = dicMLP['params']
dicRF = dicRF['params']
dicGradB = dicGradB['params']
dicKNN = {int(k):v for k,v in dicKNN.items()}
dicLR = {int(k):v for k,v in dicLR.items()}
dicMLP = {int(k):v for k,v in dicMLP.items()}
dicRF = {int(k):v for k,v in dicRF.items()}
dicGradB = {int(k):v for k,v in dicGradB.items()}
dfKNN = pd.DataFrame.from_dict(dicKNN)
dfLR = pd.DataFrame.from_dict(dicLR)
dfMLP = pd.DataFrame.from_dict(dicMLP)
dfRF = pd.DataFrame.from_dict(dicRF)
dfGradB = pd.DataFrame.from_dict(dicGradB)
dfKNN = dfKNN.T
dfLR = dfLR.T
dfMLP = dfMLP.T
dfRF = dfRF.T
dfGradB = dfGradB.T
df_params = pd.concat([dfKNN, dfLR, dfMLP, dfRF, dfGradB])
df_params = df_params.reset_index(drop=True)
return df_params
4 years ago
def PreprocessingParamSep():
dicKNN = allParametersPerformancePerModel[1]
dicLR = allParametersPerformancePerModel[5]
dicMLP = allParametersPerformancePerModel[9]
dicRF = allParametersPerformancePerModel[13]
dicGradB = allParametersPerformancePerModel[17]
4 years ago
dicKNN = dicKNN['params']
dicLR = dicLR['params']
dicMLP = dicMLP['params']
dicRF = dicRF['params']
dicGradB = dicGradB['params']
4 years ago
dicKNN = {int(k):v for k,v in dicKNN.items()}
dicLR = {int(k):v for k,v in dicLR.items()}
dicMLP = {int(k):v for k,v in dicMLP.items()}
dicRF = {int(k):v for k,v in dicRF.items()}
dicGradB = {int(k):v for k,v in dicGradB.items()}
4 years ago
dfKNN = pd.DataFrame.from_dict(dicKNN)
dfLR = pd.DataFrame.from_dict(dicLR)
dfMLP = pd.DataFrame.from_dict(dicMLP)
dfRF = pd.DataFrame.from_dict(dicRF)
dfGradB = pd.DataFrame.from_dict(dicGradB)
4 years ago
dfKNN = dfKNN.T
dfLR = dfLR.T
dfMLP = dfMLP.T
dfRF = dfRF.T
dfGradB = dfGradB.T
4 years ago
return [dfKNN, dfLR, dfMLP, dfRF, dfGradB]
4 years ago
def preProcsumPerMetric(factors):
sumPerClassifier = []
loopThroughMetrics = PreprocessingMetrics()
loopThroughMetrics = loopThroughMetrics.fillna(0)
loopThroughMetrics.loc[:, 'log_loss'] = 1 - loopThroughMetrics.loc[:, 'log_loss']
for row in loopThroughMetrics.iterrows():
rowSum = 0
name, values = row
for loop, elements in enumerate(values):
rowSum = elements*factors[loop] + rowSum
4 years ago
if sum(factors) == 0:
4 years ago
sumPerClassifier = 0
else:
sumPerClassifier.append(rowSum/sum(factors) * 100)
return sumPerClassifier
def preProcsumPerMetricEnsem(factors):
sumPerClassifier = []
loopThroughMetrics = PreprocessingMetricsEnsem()
loopThroughMetrics = loopThroughMetrics.fillna(0)
loopThroughMetrics.loc[:, 'log_loss'] = 1 - loopThroughMetrics.loc[:, 'log_loss']
for row in loopThroughMetrics.iterrows():
rowSum = 0
name, values = row
for loop, elements in enumerate(values):
rowSum = elements*factors[loop] + rowSum
4 years ago
if sum(factors) == 0:
sumPerClassifier = 0
else:
sumPerClassifier.append(rowSum/sum(factors) * 100)
return sumPerClassifier
4 years ago
def preProcMetricsAllAndSel():
loopThroughMetrics = PreprocessingMetrics()
loopThroughMetrics = loopThroughMetrics.fillna(0)
global factors
4 years ago
4 years ago
metricsPerModelColl = []
metricsPerModelColl.append(loopThroughMetrics['mean_test_accuracy'])
4 years ago
metricsPerModelColl.append(loopThroughMetrics['geometric_mean_score_macro'])
metricsPerModelColl.append(loopThroughMetrics['mean_test_precision_macro'])
metricsPerModelColl.append(loopThroughMetrics['mean_test_recall_macro'])
metricsPerModelColl.append(loopThroughMetrics['mean_test_f1_macro'])
4 years ago
metricsPerModelColl.append(loopThroughMetrics['matthews_corrcoef'])
4 years ago
metricsPerModelColl.append(loopThroughMetrics['mean_test_roc_auc_ovo'])
4 years ago
metricsPerModelColl.append(loopThroughMetrics['log_loss'])
f=lambda a: (abs(a)+a)/2
for index, metric in enumerate(metricsPerModelColl):
if (index == 5):
metricsPerModelColl[index] = ((f(metric))*factors[index]) * 100
elif (index == 7):
metricsPerModelColl[index] = ((1 - metric)*factors[index] ) * 100
else:
metricsPerModelColl[index] = (metric*factors[index]) * 100
metricsPerModelColl[index] = metricsPerModelColl[index].to_json()
return metricsPerModelColl
4 years ago
def preProcMetricsAllAndSelEnsem():
loopThroughMetrics = PreprocessingMetricsEnsem()
loopThroughMetrics = loopThroughMetrics.fillna(0)
global factors
4 years ago
4 years ago
metricsPerModelColl = []
metricsPerModelColl.append(loopThroughMetrics['mean_test_accuracy'])
metricsPerModelColl.append(loopThroughMetrics['geometric_mean_score_macro'])
metricsPerModelColl.append(loopThroughMetrics['mean_test_precision_macro'])
metricsPerModelColl.append(loopThroughMetrics['mean_test_recall_macro'])
metricsPerModelColl.append(loopThroughMetrics['mean_test_f1_macro'])
metricsPerModelColl.append(loopThroughMetrics['matthews_corrcoef'])
metricsPerModelColl.append(loopThroughMetrics['mean_test_roc_auc_ovo'])
metricsPerModelColl.append(loopThroughMetrics['log_loss'])
f=lambda a: (abs(a)+a)/2
for index, metric in enumerate(metricsPerModelColl):
if (index == 5):
metricsPerModelColl[index] = ((f(metric))*factors[index]) * 100
elif (index == 7):
metricsPerModelColl[index] = ((1 - metric)*factors[index] ) * 100
else:
metricsPerModelColl[index] = (metric*factors[index]) * 100
metricsPerModelColl[index] = metricsPerModelColl[index].to_json()
return metricsPerModelColl
4 years ago
def FunMDS (data):
mds = MDS(n_components=2, random_state=RANDOM_SEED)
XTransformed = mds.fit_transform(data).T
XTransformed = XTransformed.tolist()
return XTransformed
def FunTsne (data):
tsne = TSNE(n_components=2, random_state=RANDOM_SEED).fit_transform(data)
tsne.shape
return tsne
def FunUMAP (data):
trans = umap.UMAP(n_neighbors=15, random_state=RANDOM_SEED).fit(data)
Xpos = trans.embedding_[:, 0].tolist()
Ypos = trans.embedding_[:, 1].tolist()
return [Xpos,Ypos]
# Sending the overview classifiers' results to be visualized as a scatterplot
@app.route('/data/PlotClassifiers', methods=["GET", "POST"])
def SendToPlot():
while (len(DataResultsRaw) != DataRawLength):
pass
InitializeEnsemble()
response = {
'OverviewResults': Results
}
return jsonify(response)
def InitializeEnsemble():
4 years ago
4 years ago
global ModelSpaceMDS
global ModelSpaceTSNE
global allParametersPerformancePerModel
global EnsembleActive
global ModelsIDs
4 years ago
global keySend
4 years ago
global metricsPerModel
global factors
4 years ago
if (len(EnsembleActive) == 0):
4 years ago
XModels = PreprocessingMetrics()
parametersGen = PreprocessingParam()
PredictionProbSel = PreprocessingPred()
ModelsIDs = PreprocessingIDs()
sumPerClassifier = preProcsumPerMetric(factors)
4 years ago
metricsPerModel = preProcMetricsAllAndSel()
else:
4 years ago
XModels = PreprocessingMetricsEnsem()
parametersGen = PreprocessingParamEnsem()
PredictionProbSel = PreprocessingPredEnsemble()
ModelsIDs = EnsembleActive
modelsIdsCuts = EnsembleIDs()
sumPerClassifier = preProcsumPerMetricEnsem(factors)
4 years ago
metricsPerModel = preProcMetricsAllAndSelEnsem()
EnsembleModel(modelsIdsCuts, keySend)
4 years ago
keySend=1
4 years ago
4 years ago
XModels = XModels.fillna(0)
dropMetrics = []
for index, element in enumerate(factors):
if (element == 0):
dropMetrics.append(index)
XModels.drop(XModels.columns[dropMetrics], axis=1, inplace=True)
ModelSpaceMDS = FunMDS(XModels)
ModelSpaceTSNE = FunTsne(XModels)
ModelSpaceTSNE = ModelSpaceTSNE.tolist()
ModelSpaceUMAP = FunUMAP(XModels)
returnResults(ModelSpaceMDS,ModelSpaceTSNE,ModelSpaceUMAP,parametersGen,sumPerClassifier,PredictionProbSel)
4 years ago
4 years ago
def EnsembleModel (Models, keyRetrieved):
4 years ago
global XDataTest, yDataTest
4 years ago
global XDataExternal, yDataExternal
4 years ago
global scores
global previousState
global crossValidation
global keyData
scores = []
global all_classifiersSelection
all_classifiersSelection = []
global all_classifiers
global XData
global yData
global sclf
4 years ago
global randomSearchVar
greater = randomSearchVar*5
4 years ago
global stage1addKNN
global stage1addLR
global stage1addMLP
global stage1addRF
global stage1addGradB
global stageTotalReached
4 years ago
global numberIDKNNGlob
global numberIDLRGlob
global numberIDMLPGlob
global numberIDRFGlob
global numberIDGradBGlob
4 years ago
all_classifiers = []
columnsInit = []
columnsInit = [XData.columns.get_loc(c) for c in XData.columns if c in XData]
temp = allParametersPerformancePerModel[1]
temp = temp['params']
temp = {int(k):v for k,v in temp.items()}
tempDic = {
'params': temp
}
dfParamKNN = pd.DataFrame.from_dict(tempDic)
dfParamKNNFilt = dfParamKNN.iloc[:,0]
for eachelem in numberIDKNNGlob:
4 years ago
if (eachelem >= stageTotalReached):
4 years ago
arg = dfParamKNNFilt[eachelem-addKNN]
4 years ago
elif (eachelem >= greater):
arg = dfParamKNNFilt[eachelem-stage1addKNN]
4 years ago
else:
arg = dfParamKNNFilt[eachelem-KNNModelsCount]
4 years ago
all_classifiers.append(make_pipeline(ColumnSelector(cols=columnsInit), KNeighborsClassifier().set_params(**arg)))
4 years ago
4 years ago
temp = allParametersPerformancePerModel[5]
temp = temp['params']
temp = {int(k):v for k,v in temp.items()}
tempDic = {
'params': temp
}
4 years ago
4 years ago
dfParamLR = pd.DataFrame.from_dict(tempDic)
dfParamLRFilt = dfParamLR.iloc[:,0]
4 years ago
4 years ago
for eachelem in numberIDLRGlob:
4 years ago
if (eachelem >= stageTotalReached):
4 years ago
arg = dfParamLRFilt[eachelem-addLR]
4 years ago
elif (eachelem >= greater):
arg = dfParamLRFilt[eachelem-stage1addLR]
4 years ago
else:
arg = dfParamLRFilt[eachelem-LRModelsCount]
4 years ago
4 years ago
all_classifiers.append(make_pipeline(ColumnSelector(cols=columnsInit), LogisticRegression(random_state=RANDOM_SEED).set_params(**arg)))
temp = allParametersPerformancePerModel[9]
temp = temp['params']
temp = {int(k):v for k,v in temp.items()}
tempDic = {
'params': temp
}
dfParamMLP = pd.DataFrame.from_dict(tempDic)
dfParamMLPFilt = dfParamMLP.iloc[:,0]
for eachelem in numberIDMLPGlob:
4 years ago
if (eachelem >= stageTotalReached):
4 years ago
arg = dfParamMLPFilt[eachelem-addMLP]
4 years ago
elif (eachelem >= greater):
arg = dfParamMLPFilt[eachelem-stage1addMLP]
4 years ago
else:
arg = dfParamMLPFilt[eachelem-MLPModelsCount]
4 years ago
all_classifiers.append(make_pipeline(ColumnSelector(cols=columnsInit), MLPClassifier(random_state=RANDOM_SEED).set_params(**arg)))
temp = allParametersPerformancePerModel[13]
temp = temp['params']
temp = {int(k):v for k,v in temp.items()}
tempDic = {
'params': temp
}
dfParamRF = pd.DataFrame.from_dict(tempDic)
dfParamRFFilt = dfParamRF.iloc[:,0]
4 years ago
for eachelem in numberIDRFGlob:
4 years ago
if (eachelem >= stageTotalReached):
4 years ago
arg = dfParamRFFilt[eachelem-addRF]
4 years ago
elif (eachelem >= greater):
arg = dfParamRFFilt[eachelem-stage1addRF]
4 years ago
else:
arg = dfParamRFFilt[eachelem-RFModelsCount]
4 years ago
all_classifiers.append(make_pipeline(ColumnSelector(cols=columnsInit), RandomForestClassifier(random_state=RANDOM_SEED).set_params(**arg)))
temp = allParametersPerformancePerModel[17]
temp = temp['params']
temp = {int(k):v for k,v in temp.items()}
tempDic = {
'params': temp
}
dfParamGradB = pd.DataFrame.from_dict(tempDic)
dfParamGradBFilt = dfParamGradB.iloc[:,0]
for eachelem in numberIDGradBGlob:
4 years ago
if (eachelem >= stageTotalReached):
4 years ago
arg = dfParamGradBFilt[eachelem-addGradB]
4 years ago
elif (eachelem >= greater):
arg = dfParamGradBFilt[eachelem-stage1addGradB]
4 years ago
else:
arg = dfParamGradBFilt[eachelem-GradBModelsCount]
4 years ago
all_classifiers.append(make_pipeline(ColumnSelector(cols=columnsInit), GradientBoostingClassifier(random_state=RANDOM_SEED).set_params(**arg)))
global sclf
sclf = 0
4 years ago
4 years ago
sclf = EnsembleVoteClassifier(clfs=all_classifiers,
voting='soft')
global PerClassResultsClass0
PerClassResultsClass0 = []
global PerClassResultsClass1
PerClassResultsClass1 = []
4 years ago
global fileInput
4 years ago
nested_score = model_selection.cross_val_score(sclf, X=XData, y=yData, cv=crossValidation, scoring=make_scorer(classification_report_with_accuracy_score))
PerClassResultsClass0Con = pd.concat(PerClassResultsClass0, axis=1, sort=False)
PerClassResultsClass1Con = pd.concat(PerClassResultsClass1, axis=1, sort=False)
averageClass0 = PerClassResultsClass0Con.mean(axis=1)
averageClass1 = PerClassResultsClass1Con.mean(axis=1)
y_pred = cross_val_predict(sclf, XData, yData, cv=crossValidation)
conf_mat = confusion_matrix(yData, y_pred)
cm = conf_mat.astype('float') / conf_mat.sum(axis=1)[:, np.newaxis]
cm.diagonal()
4 years ago
print(cm)
if (fileInput == 'heartC'):
if (keyRetrieved == 0):
scores.append(cm[1][1])
4 years ago
scores.append(cm[0][0])
scores.append(cm[1][1])
4 years ago
scores.append(cm[0][0])
scores.append(averageClass1.precision)
4 years ago
scores.append(averageClass0.precision)
scores.append(averageClass1.precision)
4 years ago
scores.append(averageClass0.precision)
scores.append(averageClass1.recall)
4 years ago
scores.append(averageClass0.recall)
scores.append(averageClass1.recall)
4 years ago
scores.append(averageClass0.recall)
scores.append(averageClass1['f1-score'])
4 years ago
scores.append(averageClass0['f1-score'])
4 years ago
scores.append(averageClass1['f1-score'])
scores.append(averageClass0['f1-score'])
previousState.append(scores[0])
previousState.append(scores[1])
previousState.append(scores[4])
previousState.append(scores[5])
previousState.append(scores[8])
previousState.append(scores[9])
previousState.append(scores[12])
previousState.append(scores[13])
4 years ago
else:
4 years ago
scores.append(cm[1][1])
scores.append(cm[0][0])
if (cm[1][1] > previousState[0]):
scores.append(cm[1][1])
previousState[0] = cm[1][1]
else:
scores.append(previousState[0])
if (cm[0][0] > previousState[1]):
scores.append(cm[0][0])
previousState[1] = cm[0][0]
else:
scores.append(previousState[1])
scores.append(averageClass1.precision)
scores.append(averageClass0.precision)
if (averageClass1.precision > previousState[2]):
scores.append(averageClass1.precision)
previousState[2] = averageClass1.precision
else:
scores.append(previousState[2])
if (averageClass0.precision > previousState[3]):
scores.append(averageClass0.precision)
previousState[3] = averageClass0.precision
else:
scores.append(previousState[3])
scores.append(averageClass1.recall)
scores.append(averageClass0.recall)
if (averageClass1.recall > previousState[4]):
scores.append(averageClass1.recall)
previousState[4] = averageClass1.recall
else:
scores.append(previousState[4])
if (averageClass0.recall > previousState[5]):
scores.append(averageClass0.recall)
previousState[5] = averageClass0.recall
else:
scores.append(previousState[5])
scores.append(averageClass1['f1-score'])
scores.append(averageClass0['f1-score'])
if (averageClass1['f1-score'] > previousState[6]):
scores.append(averageClass1['f1-score'])
previousState[6] = averageClass1['f1-score']
else:
scores.append(previousState[6])
if (averageClass0['f1-score'] > previousState[7]):
scores.append(averageClass0['f1-score'])
previousState[7] = averageClass0['f1-score']
else:
scores.append(previousState[7])
else:
if (keyRetrieved == 0):
scores.append(cm[0][0])
scores.append(cm[1][1])
scores.append(cm[0][0])
scores.append(cm[1][1])
scores.append(averageClass0.precision)
scores.append(averageClass1.precision)
scores.append(averageClass0.precision)
scores.append(averageClass1.precision)
scores.append(averageClass0.recall)
scores.append(averageClass1.recall)
scores.append(averageClass0.recall)
scores.append(averageClass1.recall)
scores.append(averageClass0['f1-score'])
scores.append(averageClass1['f1-score'])
scores.append(averageClass0['f1-score'])
4 years ago
scores.append(averageClass1['f1-score'])
4 years ago
previousState.append(scores[0])
previousState.append(scores[1])
previousState.append(scores[4])
previousState.append(scores[5])
previousState.append(scores[8])
previousState.append(scores[9])
previousState.append(scores[12])
previousState.append(scores[13])
4 years ago
else:
4 years ago
scores.append(cm[0][0])
scores.append(cm[1][1])
if (cm[0][0] > previousState[0]):
scores.append(cm[0][0])
previousState[0] = cm[0][0]
else:
scores.append(previousState[0])
if (cm[1][1] > previousState[1]):
scores.append(cm[1][1])
previousState[1] = cm[1][1]
else:
scores.append(previousState[1])
scores.append(averageClass0.precision)
scores.append(averageClass1.precision)
if (averageClass0.precision > previousState[2]):
scores.append(averageClass0.precision)
previousState[2] = averageClass0.precision
else:
scores.append(previousState[2])
if (averageClass1.precision > previousState[3]):
scores.append(averageClass1.precision)
previousState[3] = averageClass1.precision
else:
scores.append(previousState[3])
scores.append(averageClass0.recall)
scores.append(averageClass1.recall)
if (averageClass0.recall > previousState[4]):
scores.append(averageClass0.recall)
previousState[4] = averageClass0.recall
else:
scores.append(previousState[4])
if (averageClass1.recall > previousState[5]):
scores.append(averageClass1.recall)
previousState[5] = averageClass1.recall
else:
scores.append(previousState[5])
scores.append(averageClass0['f1-score'])
scores.append(averageClass1['f1-score'])
if (averageClass0['f1-score'] > previousState[6]):
scores.append(averageClass0['f1-score'])
previousState[6] = averageClass0['f1-score']
else:
scores.append(previousState[6])
if (averageClass1['f1-score'] > previousState[7]):
scores.append(averageClass1['f1-score'])
previousState[7] = averageClass1['f1-score']
else:
scores.append(previousState[7])
4 years ago
4 years ago
global StanceTest
if (StanceTest):
sclf.fit(XData, yData)
y_pred = sclf.predict(XDataTest)
print('Test data set')
print(classification_report(yDataTest, y_pred))
y_pred = sclf.predict(XDataExternal)
print('External data set')
print(classification_report(yDataExternal, y_pred))
4 years ago
return 'Okay'
4 years ago
# Sending the final results to be visualized as a line plot
@app.route('/data/SendFinalResultsBacktoVisualize', methods=["GET", "POST"])
def SendToPlotFinalResults():
global scores
response = {
'FinalResults': scores
}
return jsonify(response)
def classification_report_with_accuracy_score(y_true, y_pred):
global PerClassResultsClass0
global PerClassResultsClass1
PerClassResultsLocal = pd.DataFrame.from_dict(classification_report(y_true, y_pred, output_dict=True))
Filter_PerClassResultsLocal0 = PerClassResultsLocal['0']
Filter_PerClassResultsLocal0 = Filter_PerClassResultsLocal0[:-1]
Filter_PerClassResultsLocal1 = PerClassResultsLocal['1']
Filter_PerClassResultsLocal1 = Filter_PerClassResultsLocal1[:-1]
PerClassResultsClass0.append(Filter_PerClassResultsLocal0)
PerClassResultsClass1.append(Filter_PerClassResultsLocal1)
return accuracy_score(y_true, y_pred) # return accuracy score
4 years ago
def returnResults(ModelSpaceMDS,ModelSpaceTSNE,ModelSpaceUMAP,parametersGen,sumPerClassifier,PredictionProbSel):
4 years ago
global Results
global AllTargets
4 years ago
global names_labels
global EnsembleActive
global ModelsIDs
4 years ago
global metricsPerModel
global yDataSorted
global storeClass0
global storeClass1
4 years ago
if(storeClass0 > 169 or storeClass1 > 169):
4 years ago
mode = 1
else:
mode = 0
4 years ago
Results = []
parametersGenPD = parametersGen.to_json(orient='records')
XDataJSONEntireSet = XData.to_json(orient='records')
XDataColumns = XData.columns.tolist()
4 years ago
4 years ago
ModelsIDsPreviously = PreprocessingIDs()
4 years ago
Results.append(json.dumps(ModelsIDs))
Results.append(json.dumps(sumPerClassifier))
Results.append(json.dumps(parametersGenPD))
Results.append(json.dumps(metricsPerModel))
Results.append(json.dumps(XDataJSONEntireSet))
Results.append(json.dumps(XDataColumns))
Results.append(json.dumps(yData))
Results.append(json.dumps(target_names))
Results.append(json.dumps(AllTargets))
Results.append(json.dumps(ModelSpaceMDS))
Results.append(json.dumps(ModelSpaceTSNE))
Results.append(json.dumps(ModelSpaceUMAP))
Results.append(json.dumps(PredictionProbSel))
4 years ago
Results.append(json.dumps(names_labels))
4 years ago
Results.append(json.dumps(yDataSorted))
Results.append(json.dumps(mode))
4 years ago
Results.append(json.dumps(ModelsIDsPreviously))
4 years ago
return Results
# Initialize crossover and mutation processes
@cross_origin(origin='localhost',headers=['Content-Type','Authorization'])
@app.route('/data/CrossoverMutation', methods=["GET", "POST"])
def CrossoverMutateFun():
# get the models from the frontend
RemainingIds = request.get_data().decode('utf8').replace("'", '"')
RemainingIds = json.loads(RemainingIds)
RemainingIds = RemainingIds['RemainingPoints']
global EnsembleActive
4 years ago
global CurStage
EnsembleActive = request.get_data().decode('utf8').replace("'", '"')
EnsembleActive = json.loads(EnsembleActive)
EnsembleActive = EnsembleActive['StoreEnsemble']
4 years ago
setMaxLoopValue = request.get_data().decode('utf8').replace("'", '"')
setMaxLoopValue = json.loads(setMaxLoopValue)
setMaxLoopValue = setMaxLoopValue['loopNumber']
4 years ago
CurStage = request.get_data().decode('utf8').replace("'", '"')
CurStage = json.loads(CurStage)
4 years ago
CurStage = CurStage['Stage']
if (CurStage == 1):
InitializeFirstStageCM(RemainingIds, setMaxLoopValue)
4 years ago
elif (CurStage == 2):
4 years ago
InitializeSecondStageCM(RemainingIds, setMaxLoopValue)
4 years ago
else:
4 years ago
RemoveSelected(RemainingIds)
return 'Okay'
def RemoveSelected(RemainingIds):
global allParametersPerfCrossMutr
4 years ago
4 years ago
for loop in range(20):
indexes = []
for i, val in enumerate(allParametersPerfCrossMutr[loop*4]):
if (val not in RemainingIds):
indexes.append(i)
for index in sorted(indexes, reverse=True):
del allParametersPerfCrossMutr[loop*4][index]
allParametersPerfCrossMutr[loop*4+1].drop(allParametersPerfCrossMutr[loop*4+1].index[indexes], inplace=True)
allParametersPerfCrossMutr[loop*4+2].drop(allParametersPerfCrossMutr[loop*4+2].index[indexes], inplace=True)
allParametersPerfCrossMutr[loop*4+3].drop(allParametersPerfCrossMutr[loop*4+3].index[indexes], inplace=True)
return 'Okay'
4 years ago
def InitializeSecondStageCM (RemainingIds, setMaxLoopValue):
4 years ago
random.seed(RANDOM_SEED)
4 years ago
global XData
global yData
global addKNN
global addLR
4 years ago
global addMLP
global addRF
global addGradB
global countAllModels
4 years ago
# loop through the algorithms
global allParametersPerfCrossMutr
global HistoryPreservation
4 years ago
global randomSearchVar
greater = randomSearchVar*5
KNNIDsC = list(filter(lambda k: 'KNNC' in k, RemainingIds))
LRIDsC = list(filter(lambda k: 'LRC' in k, RemainingIds))
MLPIDsC = list(filter(lambda k: 'MLPC' in k, RemainingIds))
RFIDsC = list(filter(lambda k: 'RFC' in k, RemainingIds))
GradBIDsC = list(filter(lambda k: 'GradBC' in k, RemainingIds))
KNNIDsM = list(filter(lambda k: 'KNNM' in k, RemainingIds))
LRIDsM = list(filter(lambda k: 'LRM' in k, RemainingIds))
MLPIDsM = list(filter(lambda k: 'MLPM' in k, RemainingIds))
RFIDsM = list(filter(lambda k: 'RFM' in k, RemainingIds))
GradBIDsM = list(filter(lambda k: 'GradBM' in k, RemainingIds))
4 years ago
countKNN = 0
countLR = 0
4 years ago
countMLP = 0
countRF = 0
countGradB = 0
4 years ago
paramAllAlgs = PreprocessingParam()
4 years ago
KNNIntIndex = []
LRIntIndex = []
4 years ago
MLPIntIndex = []
RFIntIndex = []
GradBIntIndex = []
4 years ago
localCrossMutr = []
4 years ago
allParametersPerfCrossMutrKNNCC = []
4 years ago
for dr in KNNIDsC:
if (int(re.findall('\d+', dr)[0]) >= greater):
KNNIntIndex.append(int(re.findall('\d+', dr)[0])-addKNN)
else:
KNNIntIndex.append(int(re.findall('\d+', dr)[0]))
4 years ago
while countKNN < setMaxLoopValue[40]:
4 years ago
4 years ago
KNNPickPair = random.sample(KNNIntIndex,2)
pairDF = paramAllAlgs.iloc[KNNPickPair]
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
randomZeroOne = random.randint(0, 1)
valuePerColumn = pairDF[column].iloc[randomZeroOne]
listData.append(valuePerColumn)
crossoverDF[column] = listData
if (((paramAllAlgs['algorithm'] == crossoverDF['algorithm'].iloc[0]) & (paramAllAlgs['metric'] == crossoverDF['metric'].iloc[0]) & (paramAllAlgs['n_neighbors'] == crossoverDF['n_neighbors'].iloc[0]) & (paramAllAlgs['weights'] == crossoverDF['weights'].iloc[0])).any()):
crossoverDF = pd.DataFrame()
else:
clf = KNeighborsClassifier()
params = {'n_neighbors': [crossoverDF['n_neighbors'].iloc[0]], 'metric': [crossoverDF['metric'].iloc[0]], 'algorithm': [crossoverDF['algorithm'].iloc[0]], 'weights': [crossoverDF['weights'].iloc[0]]}
AlgorithmsIDsEnd = countAllModels + countKNN
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'KNNCC', AlgorithmsIDsEnd)
4 years ago
countKNN += 1
crossoverDF = pd.DataFrame()
4 years ago
countAllModels = countAllModels + setMaxLoopValue[40]
4 years ago
for loop in range(setMaxLoopValue[40] - 1):
4 years ago
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
4 years ago
allParametersPerfCrossMutrKNNCC.append(localCrossMutr[0])
allParametersPerfCrossMutrKNNCC.append(localCrossMutr[1])
allParametersPerfCrossMutrKNNCC.append(localCrossMutr[2])
allParametersPerfCrossMutrKNNCC.append(localCrossMutr[3])
4 years ago
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrKNNCC
4 years ago
countKNN = 0
KNNIntIndex = []
localCrossMutr.clear()
4 years ago
allParametersPerfCrossMutrKNNCM = []
4 years ago
for dr in KNNIDsC:
if (int(re.findall('\d+', dr)[0]) >= greater):
KNNIntIndex.append(int(re.findall('\d+', dr)[0])-addKNN)
else:
KNNIntIndex.append(int(re.findall('\d+', dr)[0]))
4 years ago
while countKNN < setMaxLoopValue[34]:
4 years ago
4 years ago
KNNPickPair = random.sample(KNNIntIndex,1)
pairDF = paramAllAlgs.iloc[KNNPickPair]
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
if (column == 'n_neighbors'):
randomNumber = random.randint(101, math.floor(((len(yData)/crossValidation)*(crossValidation-1)))-1)
4 years ago
listData.append(randomNumber)
crossoverDF[column] = listData
else:
valuePerColumn = pairDF[column].iloc[0]
listData.append(valuePerColumn)
crossoverDF[column] = listData
if (((paramAllAlgs['algorithm'] == crossoverDF['algorithm'].iloc[0]) & (paramAllAlgs['metric'] == crossoverDF['metric'].iloc[0]) & (paramAllAlgs['n_neighbors'] == crossoverDF['n_neighbors'].iloc[0]) & (paramAllAlgs['weights'] == crossoverDF['weights'].iloc[0])).any()):
crossoverDF = pd.DataFrame()
else:
clf = KNeighborsClassifier()
params = {'n_neighbors': [crossoverDF['n_neighbors'].iloc[0]], 'metric': [crossoverDF['metric'].iloc[0]], 'algorithm': [crossoverDF['algorithm'].iloc[0]], 'weights': [crossoverDF['weights'].iloc[0]]}
AlgorithmsIDsEnd = countAllModels + countKNN
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'KNNCM', AlgorithmsIDsEnd)
4 years ago
countKNN += 1
crossoverDF = pd.DataFrame()
4 years ago
countAllModels = countAllModels + setMaxLoopValue[34]
4 years ago
for loop in range(setMaxLoopValue[34] - 1):
4 years ago
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
4 years ago
allParametersPerfCrossMutrKNNCM.append(localCrossMutr[0])
allParametersPerfCrossMutrKNNCM.append(localCrossMutr[1])
allParametersPerfCrossMutrKNNCM.append(localCrossMutr[2])
allParametersPerfCrossMutrKNNCM.append(localCrossMutr[3])
4 years ago
4 years ago
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrKNNCM
4 years ago
4 years ago
countKNN = 0
KNNIntIndex = []
localCrossMutr.clear()
allParametersPerfCrossMutrKNNMC = []
for dr in KNNIDsM:
if (int(re.findall('\d+', dr)[0]) >= greater):
KNNIntIndex.append(int(re.findall('\d+', dr)[0])-addKNN)
else:
KNNIntIndex.append(int(re.findall('\d+', dr)[0]))
while countKNN < setMaxLoopValue[28]:
KNNPickPair = random.sample(KNNIntIndex,2)
pairDF = paramAllAlgs.iloc[KNNPickPair]
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
randomZeroOne = random.randint(0, 1)
valuePerColumn = pairDF[column].iloc[randomZeroOne]
listData.append(valuePerColumn)
crossoverDF[column] = listData
if (((paramAllAlgs['algorithm'] == crossoverDF['algorithm'].iloc[0]) & (paramAllAlgs['metric'] == crossoverDF['metric'].iloc[0]) & (paramAllAlgs['n_neighbors'] == crossoverDF['n_neighbors'].iloc[0]) & (paramAllAlgs['weights'] == crossoverDF['weights'].iloc[0])).any()):
crossoverDF = pd.DataFrame()
else:
clf = KNeighborsClassifier()
params = {'n_neighbors': [crossoverDF['n_neighbors'].iloc[0]], 'metric': [crossoverDF['metric'].iloc[0]], 'algorithm': [crossoverDF['algorithm'].iloc[0]], 'weights': [crossoverDF['weights'].iloc[0]]}
AlgorithmsIDsEnd = countAllModels + countKNN
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'KNNMC', AlgorithmsIDsEnd)
countKNN += 1
crossoverDF = pd.DataFrame()
countAllModels = countAllModels + setMaxLoopValue[28]
for loop in range(setMaxLoopValue[28] - 1):
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
allParametersPerfCrossMutrKNNMC.append(localCrossMutr[0])
allParametersPerfCrossMutrKNNMC.append(localCrossMutr[1])
allParametersPerfCrossMutrKNNMC.append(localCrossMutr[2])
allParametersPerfCrossMutrKNNMC.append(localCrossMutr[3])
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrKNNMC
countKNN = 0
KNNIntIndex = []
localCrossMutr.clear()
allParametersPerfCrossMutrKNNMM = []
for dr in KNNIDsM:
if (int(re.findall('\d+', dr)[0]) >= greater):
KNNIntIndex.append(int(re.findall('\d+', dr)[0])-addKNN)
else:
KNNIntIndex.append(int(re.findall('\d+', dr)[0]))
while countKNN < setMaxLoopValue[22]:
KNNPickPair = random.sample(KNNIntIndex,1)
pairDF = paramAllAlgs.iloc[KNNPickPair]
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
if (column == 'n_neighbors'):
randomNumber = random.randint(101, math.floor(((len(yData)/crossValidation)*(crossValidation-1)))-1)
listData.append(randomNumber)
crossoverDF[column] = listData
else:
valuePerColumn = pairDF[column].iloc[0]
listData.append(valuePerColumn)
crossoverDF[column] = listData
if (((paramAllAlgs['algorithm'] == crossoverDF['algorithm'].iloc[0]) & (paramAllAlgs['metric'] == crossoverDF['metric'].iloc[0]) & (paramAllAlgs['n_neighbors'] == crossoverDF['n_neighbors'].iloc[0]) & (paramAllAlgs['weights'] == crossoverDF['weights'].iloc[0])).any()):
crossoverDF = pd.DataFrame()
else:
clf = KNeighborsClassifier()
params = {'n_neighbors': [crossoverDF['n_neighbors'].iloc[0]], 'metric': [crossoverDF['metric'].iloc[0]], 'algorithm': [crossoverDF['algorithm'].iloc[0]], 'weights': [crossoverDF['weights'].iloc[0]]}
AlgorithmsIDsEnd = countAllModels + countKNN
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'KNNMM', AlgorithmsIDsEnd)
countKNN += 1
crossoverDF = pd.DataFrame()
countAllModels = countAllModels + setMaxLoopValue[22]
for loop in range(setMaxLoopValue[22] - 1):
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
allParametersPerfCrossMutrKNNMM.append(localCrossMutr[0])
allParametersPerfCrossMutrKNNMM.append(localCrossMutr[1])
allParametersPerfCrossMutrKNNMM.append(localCrossMutr[2])
allParametersPerfCrossMutrKNNMM.append(localCrossMutr[3])
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrKNNMM
4 years ago
localCrossMutr.clear()
4 years ago
allParametersPerfCrossMutrLRCC = []
4 years ago
for dr in LRIDsC:
if (int(re.findall('\d+', dr)[0]) >= greater):
LRIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar))
else:
LRIntIndex.append(int(re.findall('\d+', dr)[0]))
4 years ago
while countLR < setMaxLoopValue[39]:
4 years ago
4 years ago
LRPickPair = random.sample(LRIntIndex,2)
pairDF = paramAllAlgs.iloc[LRPickPair]
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
randomZeroOne = random.randint(0, 1)
valuePerColumn = pairDF[column].iloc[randomZeroOne]
listData.append(valuePerColumn)
crossoverDF[column] = listData
if (((paramAllAlgs['C'] == crossoverDF['C'].iloc[0]) & (paramAllAlgs['max_iter'] == crossoverDF['max_iter'].iloc[0]) & (paramAllAlgs['solver'] == crossoverDF['solver'].iloc[0]) & (paramAllAlgs['penalty'] == crossoverDF['penalty'].iloc[0])).any()):
crossoverDF = pd.DataFrame()
else:
clf = LogisticRegression(random_state=RANDOM_SEED)
params = {'C': [crossoverDF['C'].iloc[0]], 'max_iter': [crossoverDF['max_iter'].iloc[0]], 'solver': [crossoverDF['solver'].iloc[0]], 'penalty': [crossoverDF['penalty'].iloc[0]]}
AlgorithmsIDsEnd = countAllModels + countLR
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'LRCC', AlgorithmsIDsEnd)
4 years ago
countLR += 1
crossoverDF = pd.DataFrame()
4 years ago
countAllModels = countAllModels + setMaxLoopValue[39]
4 years ago
for loop in range(setMaxLoopValue[39] - 1):
4 years ago
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
4 years ago
allParametersPerfCrossMutrLRCC.append(localCrossMutr[0])
allParametersPerfCrossMutrLRCC.append(localCrossMutr[1])
allParametersPerfCrossMutrLRCC.append(localCrossMutr[2])
allParametersPerfCrossMutrLRCC.append(localCrossMutr[3])
4 years ago
4 years ago
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrLRCC
4 years ago
countLR = 0
LRIntIndex = []
localCrossMutr.clear()
4 years ago
allParametersPerfCrossMutrLRCM = []
4 years ago
for dr in LRIDsC:
if (int(re.findall('\d+', dr)[0]) >= greater):
LRIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar))
else:
LRIntIndex.append(int(re.findall('\d+', dr)[0]))
4 years ago
while countLR < setMaxLoopValue[33]:
4 years ago
4 years ago
LRPickPair = random.sample(LRIntIndex,1)
pairDF = paramAllAlgs.iloc[LRPickPair]
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
if (column == 'C'):
randomNumber = random.randint(101, 1000)
4 years ago
listData.append(randomNumber)
crossoverDF[column] = listData
else:
valuePerColumn = pairDF[column].iloc[0]
listData.append(valuePerColumn)
crossoverDF[column] = listData
if (((paramAllAlgs['C'] == crossoverDF['C'].iloc[0]) & (paramAllAlgs['max_iter'] == crossoverDF['max_iter'].iloc[0]) & (paramAllAlgs['solver'] == crossoverDF['solver'].iloc[0]) & (paramAllAlgs['penalty'] == crossoverDF['penalty'].iloc[0])).any()):
crossoverDF = pd.DataFrame()
else:
clf = LogisticRegression(random_state=RANDOM_SEED)
params = {'C': [crossoverDF['C'].iloc[0]], 'max_iter': [crossoverDF['max_iter'].iloc[0]], 'solver': [crossoverDF['solver'].iloc[0]], 'penalty': [crossoverDF['penalty'].iloc[0]]}
AlgorithmsIDsEnd = countAllModels + countLR
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'LRCM', AlgorithmsIDsEnd)
4 years ago
countLR += 1
crossoverDF = pd.DataFrame()
4 years ago
countAllModels = countAllModels + setMaxLoopValue[33]
4 years ago
for loop in range(setMaxLoopValue[33] - 1):
4 years ago
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
4 years ago
allParametersPerfCrossMutrLRCM.append(localCrossMutr[0])
allParametersPerfCrossMutrLRCM.append(localCrossMutr[1])
allParametersPerfCrossMutrLRCM.append(localCrossMutr[2])
allParametersPerfCrossMutrLRCM.append(localCrossMutr[3])
4 years ago
4 years ago
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrLRCM
4 years ago
4 years ago
countLR = 0
LRIntIndex = []
4 years ago
localCrossMutr.clear()
4 years ago
allParametersPerfCrossMutrLRMC = []
for dr in LRIDsM:
4 years ago
if (int(re.findall('\d+', dr)[0]) >= greater):
4 years ago
LRIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar))
4 years ago
else:
4 years ago
LRIntIndex.append(int(re.findall('\d+', dr)[0]))
while countLR < setMaxLoopValue[27]:
4 years ago
4 years ago
LRPickPair = random.sample(LRIntIndex,2)
pairDF = paramAllAlgs.iloc[LRPickPair]
4 years ago
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
randomZeroOne = random.randint(0, 1)
valuePerColumn = pairDF[column].iloc[randomZeroOne]
listData.append(valuePerColumn)
crossoverDF[column] = listData
4 years ago
if (((paramAllAlgs['C'] == crossoverDF['C'].iloc[0]) & (paramAllAlgs['max_iter'] == crossoverDF['max_iter'].iloc[0]) & (paramAllAlgs['solver'] == crossoverDF['solver'].iloc[0]) & (paramAllAlgs['penalty'] == crossoverDF['penalty'].iloc[0])).any()):
4 years ago
crossoverDF = pd.DataFrame()
else:
4 years ago
clf = LogisticRegression(random_state=RANDOM_SEED)
params = {'C': [crossoverDF['C'].iloc[0]], 'max_iter': [crossoverDF['max_iter'].iloc[0]], 'solver': [crossoverDF['solver'].iloc[0]], 'penalty': [crossoverDF['penalty'].iloc[0]]}
AlgorithmsIDsEnd = countAllModels + countLR
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'LRMC', AlgorithmsIDsEnd)
countLR += 1
4 years ago
crossoverDF = pd.DataFrame()
4 years ago
countAllModels = countAllModels + setMaxLoopValue[27]
4 years ago
4 years ago
for loop in range(setMaxLoopValue[27] - 1):
4 years ago
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
4 years ago
allParametersPerfCrossMutrLRMC.append(localCrossMutr[0])
allParametersPerfCrossMutrLRMC.append(localCrossMutr[1])
allParametersPerfCrossMutrLRMC.append(localCrossMutr[2])
allParametersPerfCrossMutrLRMC.append(localCrossMutr[3])
4 years ago
4 years ago
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrLRMC
4 years ago
4 years ago
countLR = 0
LRIntIndex = []
localCrossMutr.clear()
4 years ago
allParametersPerfCrossMutrLRMM = []
for dr in LRIDsM:
4 years ago
if (int(re.findall('\d+', dr)[0]) >= greater):
4 years ago
LRIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar))
4 years ago
else:
4 years ago
LRIntIndex.append(int(re.findall('\d+', dr)[0]))
while countLR < setMaxLoopValue[21]:
4 years ago
4 years ago
LRPickPair = random.sample(LRIntIndex,1)
4 years ago
4 years ago
pairDF = paramAllAlgs.iloc[LRPickPair]
4 years ago
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
4 years ago
if (column == 'C'):
randomNumber = random.randint(101, 1000)
4 years ago
listData.append(randomNumber)
crossoverDF[column] = listData
else:
valuePerColumn = pairDF[column].iloc[0]
listData.append(valuePerColumn)
crossoverDF[column] = listData
4 years ago
if (((paramAllAlgs['C'] == crossoverDF['C'].iloc[0]) & (paramAllAlgs['max_iter'] == crossoverDF['max_iter'].iloc[0]) & (paramAllAlgs['solver'] == crossoverDF['solver'].iloc[0]) & (paramAllAlgs['penalty'] == crossoverDF['penalty'].iloc[0])).any()):
4 years ago
crossoverDF = pd.DataFrame()
else:
4 years ago
clf = LogisticRegression(random_state=RANDOM_SEED)
params = {'C': [crossoverDF['C'].iloc[0]], 'max_iter': [crossoverDF['max_iter'].iloc[0]], 'solver': [crossoverDF['solver'].iloc[0]], 'penalty': [crossoverDF['penalty'].iloc[0]]}
AlgorithmsIDsEnd = countAllModels + countLR
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'LRMM', AlgorithmsIDsEnd)
countLR += 1
4 years ago
crossoverDF = pd.DataFrame()
4 years ago
countAllModels = countAllModels + setMaxLoopValue[21]
4 years ago
4 years ago
for loop in range(setMaxLoopValue[21] - 1):
4 years ago
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
4 years ago
4 years ago
allParametersPerfCrossMutrLRMM.append(localCrossMutr[0])
allParametersPerfCrossMutrLRMM.append(localCrossMutr[1])
allParametersPerfCrossMutrLRMM.append(localCrossMutr[2])
allParametersPerfCrossMutrLRMM.append(localCrossMutr[3])
4 years ago
4 years ago
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrLRMM
4 years ago
localCrossMutr.clear()
4 years ago
allParametersPerfCrossMutrMLPCC = []
for dr in MLPIDsC:
4 years ago
if (int(re.findall('\d+', dr)[0]) >= greater):
4 years ago
MLPIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar*2))
4 years ago
else:
4 years ago
MLPIntIndex.append(int(re.findall('\d+', dr)[0]))
while countMLP < setMaxLoopValue[38]:
4 years ago
4 years ago
MLPPickPair = random.sample(MLPIntIndex,2)
4 years ago
4 years ago
pairDF = paramAllAlgs.iloc[MLPPickPair]
4 years ago
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
randomZeroOne = random.randint(0, 1)
valuePerColumn = pairDF[column].iloc[randomZeroOne]
listData.append(valuePerColumn)
crossoverDF[column] = listData
4 years ago
if (((paramAllAlgs['hidden_layer_sizes'] == crossoverDF['hidden_layer_sizes'].iloc[0]) & (paramAllAlgs['alpha'] == crossoverDF['alpha'].iloc[0]) & (paramAllAlgs['tol'] == crossoverDF['tol'].iloc[0]) & (paramAllAlgs['max_iter'] == crossoverDF['max_iter'].iloc[0]) & (paramAllAlgs['activation'] == crossoverDF['activation'].iloc[0]) & (paramAllAlgs['solver'] == crossoverDF['solver'].iloc[0])).any()):
4 years ago
crossoverDF = pd.DataFrame()
else:
4 years ago
clf = MLPClassifier(random_state=RANDOM_SEED)
params = {'hidden_layer_sizes': [crossoverDF['hidden_layer_sizes'].iloc[0]], 'alpha': [crossoverDF['alpha'].iloc[0]], 'tol': [crossoverDF['tol'].iloc[0]], 'max_iter': [crossoverDF['max_iter'].iloc[0]], 'activation': [crossoverDF['activation'].iloc[0]], 'solver': [crossoverDF['solver'].iloc[0]]}
AlgorithmsIDsEnd = countAllModels + countMLP
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'MLPCC', AlgorithmsIDsEnd)
countMLP += 1
4 years ago
crossoverDF = pd.DataFrame()
4 years ago
countAllModels = countAllModels + setMaxLoopValue[38]
4 years ago
4 years ago
for loop in range(setMaxLoopValue[38] - 1):
4 years ago
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
4 years ago
allParametersPerfCrossMutrMLPCC.append(localCrossMutr[0])
allParametersPerfCrossMutrMLPCC.append(localCrossMutr[1])
allParametersPerfCrossMutrMLPCC.append(localCrossMutr[2])
allParametersPerfCrossMutrMLPCC.append(localCrossMutr[3])
4 years ago
4 years ago
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrMLPCC
countMLP = 0
MLPIntIndex = []
4 years ago
localCrossMutr.clear()
4 years ago
allParametersPerfCrossMutrMLPCM = []
for dr in MLPIDsC:
4 years ago
if (int(re.findall('\d+', dr)[0]) >= greater):
4 years ago
MLPIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar*2))
4 years ago
else:
4 years ago
MLPIntIndex.append(int(re.findall('\d+', dr)[0]))
while countMLP < setMaxLoopValue[32]:
4 years ago
4 years ago
MLPPickPair = random.sample(MLPIntIndex,1)
4 years ago
4 years ago
pairDF = paramAllAlgs.iloc[MLPPickPair]
4 years ago
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
4 years ago
if (column == 'hidden_layer_sizes'):
randomNumber = (random.randint(10,60), random.randint(4,10))
4 years ago
listData.append(randomNumber)
crossoverDF[column] = listData
else:
valuePerColumn = pairDF[column].iloc[0]
listData.append(valuePerColumn)
crossoverDF[column] = listData
4 years ago
if (((paramAllAlgs['hidden_layer_sizes'] == crossoverDF['hidden_layer_sizes'].iloc[0]) & (paramAllAlgs['alpha'] == crossoverDF['alpha'].iloc[0]) & (paramAllAlgs['tol'] == crossoverDF['tol'].iloc[0]) & (paramAllAlgs['max_iter'] == crossoverDF['max_iter'].iloc[0]) & (paramAllAlgs['activation'] == crossoverDF['activation'].iloc[0]) & (paramAllAlgs['solver'] == crossoverDF['solver'].iloc[0])).any()):
4 years ago
crossoverDF = pd.DataFrame()
else:
4 years ago
clf = MLPClassifier(random_state=RANDOM_SEED)
params = {'hidden_layer_sizes': [crossoverDF['hidden_layer_sizes'].iloc[0]], 'alpha': [crossoverDF['alpha'].iloc[0]], 'tol': [crossoverDF['tol'].iloc[0]], 'max_iter': [crossoverDF['max_iter'].iloc[0]], 'activation': [crossoverDF['activation'].iloc[0]], 'solver': [crossoverDF['solver'].iloc[0]]}
AlgorithmsIDsEnd = countAllModels + countMLP
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'MLPCM', AlgorithmsIDsEnd)
countMLP += 1
4 years ago
crossoverDF = pd.DataFrame()
4 years ago
countAllModels = countAllModels + setMaxLoopValue[32]
4 years ago
4 years ago
for loop in range(setMaxLoopValue[32] - 1):
4 years ago
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
4 years ago
allParametersPerfCrossMutrMLPCM.append(localCrossMutr[0])
allParametersPerfCrossMutrMLPCM.append(localCrossMutr[1])
allParametersPerfCrossMutrMLPCM.append(localCrossMutr[2])
allParametersPerfCrossMutrMLPCM.append(localCrossMutr[3])
4 years ago
4 years ago
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrMLPCM
4 years ago
4 years ago
countMLP = 0
MLPIntIndex = []
4 years ago
localCrossMutr.clear()
4 years ago
allParametersPerfCrossMutrMLPMC = []
for dr in MLPIDsM:
4 years ago
if (int(re.findall('\d+', dr)[0]) >= greater):
4 years ago
MLPIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar*2))
4 years ago
else:
4 years ago
MLPIntIndex.append(int(re.findall('\d+', dr)[0]))
while countMLP < setMaxLoopValue[26]:
4 years ago
4 years ago
MLPPickPair = random.sample(MLPIntIndex,2)
4 years ago
4 years ago
pairDF = paramAllAlgs.iloc[MLPPickPair]
4 years ago
4 years ago
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
randomZeroOne = random.randint(0, 1)
valuePerColumn = pairDF[column].iloc[randomZeroOne]
listData.append(valuePerColumn)
crossoverDF[column] = listData
4 years ago
if (((paramAllAlgs['hidden_layer_sizes'] == crossoverDF['hidden_layer_sizes'].iloc[0]) & (paramAllAlgs['alpha'] == crossoverDF['alpha'].iloc[0]) & (paramAllAlgs['tol'] == crossoverDF['tol'].iloc[0]) & (paramAllAlgs['max_iter'] == crossoverDF['max_iter'].iloc[0]) & (paramAllAlgs['activation'] == crossoverDF['activation'].iloc[0]) & (paramAllAlgs['solver'] == crossoverDF['solver'].iloc[0])).any()):
4 years ago
crossoverDF = pd.DataFrame()
else:
4 years ago
clf = MLPClassifier(random_state=RANDOM_SEED)
params = {'hidden_layer_sizes': [crossoverDF['hidden_layer_sizes'].iloc[0]], 'alpha': [crossoverDF['alpha'].iloc[0]], 'tol': [crossoverDF['tol'].iloc[0]], 'max_iter': [crossoverDF['max_iter'].iloc[0]], 'activation': [crossoverDF['activation'].iloc[0]], 'solver': [crossoverDF['solver'].iloc[0]]}
AlgorithmsIDsEnd = countAllModels + countMLP
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'MLPMC', AlgorithmsIDsEnd)
countMLP += 1
4 years ago
crossoverDF = pd.DataFrame()
4 years ago
countAllModels = countAllModels + setMaxLoopValue[26]
4 years ago
4 years ago
for loop in range(setMaxLoopValue[26] - 1):
4 years ago
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
4 years ago
allParametersPerfCrossMutrMLPMC.append(localCrossMutr[0])
allParametersPerfCrossMutrMLPMC.append(localCrossMutr[1])
allParametersPerfCrossMutrMLPMC.append(localCrossMutr[2])
allParametersPerfCrossMutrMLPMC.append(localCrossMutr[3])
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrMLPMC
4 years ago
4 years ago
countMLP = 0
MLPIntIndex = []
4 years ago
localCrossMutr.clear()
4 years ago
allParametersPerfCrossMutrMLPMM = []
for dr in MLPIDsM:
4 years ago
if (int(re.findall('\d+', dr)[0]) >= greater):
4 years ago
MLPIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar*2))
4 years ago
else:
4 years ago
MLPIntIndex.append(int(re.findall('\d+', dr)[0]))
while countMLP < setMaxLoopValue[20]:
4 years ago
4 years ago
MLPPickPair = random.sample(MLPIntIndex,1)
pairDF = paramAllAlgs.iloc[MLPPickPair]
4 years ago
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
4 years ago
if (column == 'hidden_layer_sizes'):
randomNumber = (random.randint(10,60), random.randint(4,10))
4 years ago
listData.append(randomNumber)
crossoverDF[column] = listData
else:
valuePerColumn = pairDF[column].iloc[0]
listData.append(valuePerColumn)
crossoverDF[column] = listData
4 years ago
if (((paramAllAlgs['hidden_layer_sizes'] == crossoverDF['hidden_layer_sizes'].iloc[0]) & (paramAllAlgs['alpha'] == crossoverDF['alpha'].iloc[0]) & (paramAllAlgs['tol'] == crossoverDF['tol'].iloc[0]) & (paramAllAlgs['max_iter'] == crossoverDF['max_iter'].iloc[0]) & (paramAllAlgs['activation'] == crossoverDF['activation'].iloc[0]) & (paramAllAlgs['solver'] == crossoverDF['solver'].iloc[0])).any()):
4 years ago
crossoverDF = pd.DataFrame()
else:
4 years ago
clf = MLPClassifier(random_state=RANDOM_SEED)
params = {'hidden_layer_sizes': [crossoverDF['hidden_layer_sizes'].iloc[0]], 'alpha': [crossoverDF['alpha'].iloc[0]], 'tol': [crossoverDF['tol'].iloc[0]], 'max_iter': [crossoverDF['max_iter'].iloc[0]], 'activation': [crossoverDF['activation'].iloc[0]], 'solver': [crossoverDF['solver'].iloc[0]]}
AlgorithmsIDsEnd = countAllModels + countMLP
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'MLPMM', AlgorithmsIDsEnd)
countMLP += 1
4 years ago
crossoverDF = pd.DataFrame()
4 years ago
countAllModels = countAllModels + setMaxLoopValue[20]
4 years ago
4 years ago
for loop in range(setMaxLoopValue[20] - 1):
4 years ago
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
4 years ago
allParametersPerfCrossMutrMLPMM.append(localCrossMutr[0])
allParametersPerfCrossMutrMLPMM.append(localCrossMutr[1])
allParametersPerfCrossMutrMLPMM.append(localCrossMutr[2])
allParametersPerfCrossMutrMLPMM.append(localCrossMutr[3])
4 years ago
4 years ago
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrMLPMM
4 years ago
localCrossMutr.clear()
4 years ago
allParametersPerfCrossMutrRFCC = []
for dr in RFIDsC:
4 years ago
if (int(re.findall('\d+', dr)[0]) >= greater):
4 years ago
RFIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar*3))
4 years ago
else:
4 years ago
RFIntIndex.append(int(re.findall('\d+', dr)[0]))
while countRF < setMaxLoopValue[37]:
4 years ago
4 years ago
RFPickPair = random.sample(RFIntIndex,2)
4 years ago
4 years ago
pairDF = paramAllAlgs.iloc[RFPickPair]
4 years ago
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
randomZeroOne = random.randint(0, 1)
valuePerColumn = pairDF[column].iloc[randomZeroOne]
listData.append(valuePerColumn)
crossoverDF[column] = listData
4 years ago
if (((paramAllAlgs['n_estimators'] == crossoverDF['n_estimators'].iloc[0]) & (paramAllAlgs['max_depth'] == crossoverDF['max_depth'].iloc[0]) & (paramAllAlgs['criterion'] == crossoverDF['criterion'].iloc[0])).any()):
4 years ago
crossoverDF = pd.DataFrame()
else:
4 years ago
clf = RandomForestClassifier(random_state=RANDOM_SEED)
params = {'n_estimators': [crossoverDF['n_estimators'].iloc[0]], 'max_depth': [crossoverDF['max_depth'].iloc[0]], 'criterion': [crossoverDF['criterion'].iloc[0]]}
AlgorithmsIDsEnd = countAllModels + countRF
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'RFCC', AlgorithmsIDsEnd)
countRF += 1
4 years ago
crossoverDF = pd.DataFrame()
4 years ago
countAllModels = countAllModels + setMaxLoopValue[37]
4 years ago
4 years ago
for loop in range(setMaxLoopValue[37] - 1):
4 years ago
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
4 years ago
allParametersPerfCrossMutrRFCC.append(localCrossMutr[0])
allParametersPerfCrossMutrRFCC.append(localCrossMutr[1])
allParametersPerfCrossMutrRFCC.append(localCrossMutr[2])
allParametersPerfCrossMutrRFCC.append(localCrossMutr[3])
4 years ago
4 years ago
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrRFCC
countRF = 0
RFIntIndex = []
4 years ago
localCrossMutr.clear()
4 years ago
allParametersPerfCrossMutrRFCM = []
for dr in RFIDsC:
4 years ago
if (int(re.findall('\d+', dr)[0]) >= greater):
4 years ago
RFIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar*3))
4 years ago
else:
4 years ago
RFIntIndex.append(int(re.findall('\d+', dr)[0]))
4 years ago
4 years ago
while countRF < setMaxLoopValue[31]:
4 years ago
4 years ago
RFPickPair = random.sample(RFIntIndex,1)
pairDF = paramAllAlgs.iloc[RFPickPair]
4 years ago
4 years ago
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
4 years ago
if (column == 'n_estimators'):
randomNumber = random.randint(100, 200)
4 years ago
listData.append(randomNumber)
crossoverDF[column] = listData
else:
valuePerColumn = pairDF[column].iloc[0]
listData.append(valuePerColumn)
crossoverDF[column] = listData
4 years ago
if (((paramAllAlgs['n_estimators'] == crossoverDF['n_estimators'].iloc[0]) & (paramAllAlgs['max_depth'] == crossoverDF['max_depth'].iloc[0]) & (paramAllAlgs['criterion'] == crossoverDF['criterion'].iloc[0])).any()):
4 years ago
crossoverDF = pd.DataFrame()
else:
4 years ago
clf = RandomForestClassifier(random_state=RANDOM_SEED)
params = {'n_estimators': [crossoverDF['n_estimators'].iloc[0]], 'max_depth': [crossoverDF['max_depth'].iloc[0]], 'criterion': [crossoverDF['criterion'].iloc[0]]}
AlgorithmsIDsEnd = countAllModels + countRF
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'RFCM', AlgorithmsIDsEnd)
countRF += 1
4 years ago
crossoverDF = pd.DataFrame()
4 years ago
countAllModels = countAllModels + setMaxLoopValue[31]
4 years ago
4 years ago
for loop in range(setMaxLoopValue[31] - 1):
4 years ago
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
4 years ago
4 years ago
allParametersPerfCrossMutrRFCM.append(localCrossMutr[0])
allParametersPerfCrossMutrRFCM.append(localCrossMutr[1])
allParametersPerfCrossMutrRFCM.append(localCrossMutr[2])
allParametersPerfCrossMutrRFCM.append(localCrossMutr[3])
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrRFCM
4 years ago
4 years ago
countRF = 0
RFIntIndex = []
4 years ago
localCrossMutr.clear()
allParametersPerfCrossMutrRFMC = []
while countRF < setMaxLoopValue[25]:
for dr in RFIDsM:
if (int(re.findall('\d+', dr)[0]) >= greater):
RFIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar*3))
else:
RFIntIndex.append(int(re.findall('\d+', dr)[0]))
RFPickPair = random.sample(RFIntIndex,2)
pairDF = paramAllAlgs.iloc[RFPickPair]
4 years ago
4 years ago
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
randomZeroOne = random.randint(0, 1)
4 years ago
4 years ago
valuePerColumn = pairDF[column].iloc[randomZeroOne]
listData.append(valuePerColumn)
crossoverDF[column] = listData
if (((paramAllAlgs['n_estimators'] == crossoverDF['n_estimators'].iloc[0]) & (paramAllAlgs['max_depth'] == crossoverDF['max_depth'].iloc[0]) & (paramAllAlgs['criterion'] == crossoverDF['criterion'].iloc[0])).any()):
crossoverDF = pd.DataFrame()
else:
clf = RandomForestClassifier(random_state=RANDOM_SEED)
params = {'n_estimators': [crossoverDF['n_estimators'].iloc[0]], 'max_depth': [crossoverDF['max_depth'].iloc[0]], 'criterion': [crossoverDF['criterion'].iloc[0]]}
AlgorithmsIDsEnd = countAllModels + countRF
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'RFMC', AlgorithmsIDsEnd)
4 years ago
countRF += 1
crossoverDF = pd.DataFrame()
countAllModels = countAllModels + setMaxLoopValue[25]
for loop in range(setMaxLoopValue[25] - 1):
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
allParametersPerfCrossMutrRFMC.append(localCrossMutr[0])
allParametersPerfCrossMutrRFMC.append(localCrossMutr[1])
allParametersPerfCrossMutrRFMC.append(localCrossMutr[2])
allParametersPerfCrossMutrRFMC.append(localCrossMutr[3])
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrRFMC
countRF = 0
RFIntIndex = []
localCrossMutr.clear()
allParametersPerfCrossMutrRFMM = []
4 years ago
for dr in RFIDsM:
if (int(re.findall('\d+', dr)[0]) >= greater):
RFIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar*3))
else:
RFIntIndex.append(int(re.findall('\d+', dr)[0]))
4 years ago
while countRF < setMaxLoopValue[19]:
4 years ago
4 years ago
RFPickPair = random.sample(RFIntIndex,1)
pairDF = paramAllAlgs.iloc[RFPickPair]
4 years ago
4 years ago
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
if (column == 'n_estimators'):
randomNumber = random.randint(100, 200)
listData.append(randomNumber)
crossoverDF[column] = listData
else:
valuePerColumn = pairDF[column].iloc[0]
listData.append(valuePerColumn)
crossoverDF[column] = listData
if (((paramAllAlgs['n_estimators'] == crossoverDF['n_estimators'].iloc[0]) & (paramAllAlgs['max_depth'] == crossoverDF['max_depth'].iloc[0]) & (paramAllAlgs['criterion'] == crossoverDF['criterion'].iloc[0])).any()):
crossoverDF = pd.DataFrame()
else:
clf = RandomForestClassifier(random_state=RANDOM_SEED)
params = {'n_estimators': [crossoverDF['n_estimators'].iloc[0]], 'max_depth': [crossoverDF['max_depth'].iloc[0]], 'criterion': [crossoverDF['criterion'].iloc[0]]}
AlgorithmsIDsEnd = countAllModels + countRF
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'RFMM', AlgorithmsIDsEnd)
4 years ago
countRF += 1
crossoverDF = pd.DataFrame()
countAllModels = countAllModels + setMaxLoopValue[19]
for loop in range(setMaxLoopValue[19] - 1):
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
4 years ago
4 years ago
allParametersPerfCrossMutrRFMM.append(localCrossMutr[0])
allParametersPerfCrossMutrRFMM.append(localCrossMutr[1])
allParametersPerfCrossMutrRFMM.append(localCrossMutr[2])
allParametersPerfCrossMutrRFMM.append(localCrossMutr[3])
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrRFMM
localCrossMutr.clear()
4 years ago
allParametersPerfCrossMutrGradBCC = []
for dr in GradBIDsC:
if (int(re.findall('\d+', dr)[0]) >= greater):
GradBIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar*4))
else:
GradBIntIndex.append(int(re.findall('\d+', dr)[0]))
while countGradB < setMaxLoopValue[36]:
GradBPickPair = random.sample(GradBIntIndex,2)
pairDF = paramAllAlgs.iloc[GradBPickPair]
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
randomZeroOne = random.randint(0, 1)
valuePerColumn = pairDF[column].iloc[randomZeroOne]
listData.append(valuePerColumn)
crossoverDF[column] = listData
if (((paramAllAlgs['n_estimators'] == crossoverDF['n_estimators'].iloc[0]) & (paramAllAlgs['loss'] == crossoverDF['loss'].iloc[0]) & (paramAllAlgs['learning_rate'] == crossoverDF['learning_rate'].iloc[0]) & (paramAllAlgs['subsample'] == crossoverDF['subsample'].iloc[0]) & (paramAllAlgs['criterion'] == crossoverDF['criterion'].iloc[0])).any()):
crossoverDF = pd.DataFrame()
else:
clf = GradientBoostingClassifier(random_state=RANDOM_SEED)
params = {'n_estimators': [crossoverDF['n_estimators'].iloc[0]], 'loss': [crossoverDF['loss'].iloc[0]], 'learning_rate': [crossoverDF['learning_rate'].iloc[0]], 'subsample': [crossoverDF['subsample'].iloc[0]], 'criterion': [crossoverDF['criterion'].iloc[0]]}
AlgorithmsIDsEnd = countAllModels + countGradB
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'GradBCC', AlgorithmsIDsEnd)
countGradB += 1
crossoverDF = pd.DataFrame()
countAllModels = countAllModels + setMaxLoopValue[36]
for loop in range(setMaxLoopValue[36] - 1):
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
allParametersPerfCrossMutrGradBCC.append(localCrossMutr[0])
allParametersPerfCrossMutrGradBCC.append(localCrossMutr[1])
allParametersPerfCrossMutrGradBCC.append(localCrossMutr[2])
allParametersPerfCrossMutrGradBCC.append(localCrossMutr[3])
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrGradBCC
countGradB = 0
GradBIndex = []
localCrossMutr.clear()
allParametersPerfCrossMutrGradBCM = []
for dr in GradBIDsC:
if (int(re.findall('\d+', dr)[0]) >= greater):
GradBIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar*4))
else:
GradBIndex.append(int(re.findall('\d+', dr)[0]))
while countGradB < setMaxLoopValue[30]:
GradBPickPair = random.sample(GradBIndex,1)
pairDF = paramAllAlgs.iloc[GradBPickPair]
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
if (column == 'n_estimators'):
randomNumber = random.randint(100, 200)
listData.append(randomNumber)
crossoverDF[column] = listData
else:
valuePerColumn = pairDF[column].iloc[0]
listData.append(valuePerColumn)
crossoverDF[column] = listData
if (((paramAllAlgs['n_estimators'] == crossoverDF['n_estimators'].iloc[0]) & (paramAllAlgs['loss'] == crossoverDF['loss'].iloc[0]) & (paramAllAlgs['learning_rate'] == crossoverDF['learning_rate'].iloc[0]) & (paramAllAlgs['subsample'] == crossoverDF['subsample'].iloc[0]) & (paramAllAlgs['criterion'] == crossoverDF['criterion'].iloc[0])).any()):
crossoverDF = pd.DataFrame()
else:
clf = GradientBoostingClassifier(random_state=RANDOM_SEED)
params = {'n_estimators': [crossoverDF['n_estimators'].iloc[0]], 'loss': [crossoverDF['loss'].iloc[0]], 'learning_rate': [crossoverDF['learning_rate'].iloc[0]], 'subsample': [crossoverDF['subsample'].iloc[0]], 'criterion': [crossoverDF['criterion'].iloc[0]]}
AlgorithmsIDsEnd = countAllModels + countGradB
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'GradBCM', AlgorithmsIDsEnd)
countGradB += 1
crossoverDF = pd.DataFrame()
countAllModels = countAllModels + setMaxLoopValue[30]
4 years ago
4 years ago
for loop in range(setMaxLoopValue[30] - 1):
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
allParametersPerfCrossMutrGradBCM.append(localCrossMutr[0])
allParametersPerfCrossMutrGradBCM.append(localCrossMutr[1])
allParametersPerfCrossMutrGradBCM.append(localCrossMutr[2])
allParametersPerfCrossMutrGradBCM.append(localCrossMutr[3])
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrGradBCM
countGradB = 0
GradBIntIndex = []
localCrossMutr.clear()
allParametersPerfCrossMutrGradBMC = []
4 years ago
for dr in GradBIDsM:
if (int(re.findall('\d+', dr)[0]) >= greater):
GradBIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar*4))
else:
GradBIntIndex.append(int(re.findall('\d+', dr)[0]))
4 years ago
while countGradB < setMaxLoopValue[24]:
4 years ago
4 years ago
GradBPickPair = random.sample(GradBIntIndex,2)
pairDF = paramAllAlgs.iloc[GradBPickPair]
4 years ago
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
randomZeroOne = random.randint(0, 1)
valuePerColumn = pairDF[column].iloc[randomZeroOne]
listData.append(valuePerColumn)
crossoverDF[column] = listData
if (((paramAllAlgs['n_estimators'] == crossoverDF['n_estimators'].iloc[0]) & (paramAllAlgs['loss'] == crossoverDF['loss'].iloc[0]) & (paramAllAlgs['learning_rate'] == crossoverDF['learning_rate'].iloc[0]) & (paramAllAlgs['subsample'] == crossoverDF['subsample'].iloc[0]) & (paramAllAlgs['criterion'] == crossoverDF['criterion'].iloc[0])).any()):
4 years ago
crossoverDF = pd.DataFrame()
else:
clf = GradientBoostingClassifier(random_state=RANDOM_SEED)
params = {'n_estimators': [crossoverDF['n_estimators'].iloc[0]], 'loss': [crossoverDF['loss'].iloc[0]], 'learning_rate': [crossoverDF['learning_rate'].iloc[0]], 'subsample': [crossoverDF['subsample'].iloc[0]], 'criterion': [crossoverDF['criterion'].iloc[0]]}
4 years ago
AlgorithmsIDsEnd = countAllModels + countGradB
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'GradBMC', AlgorithmsIDsEnd)
4 years ago
countGradB += 1
crossoverDF = pd.DataFrame()
countAllModels = countAllModels + setMaxLoopValue[24]
for loop in range(setMaxLoopValue[24] - 1):
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
4 years ago
4 years ago
allParametersPerfCrossMutrGradBMC.append(localCrossMutr[0])
allParametersPerfCrossMutrGradBMC.append(localCrossMutr[1])
allParametersPerfCrossMutrGradBMC.append(localCrossMutr[2])
allParametersPerfCrossMutrGradBMC.append(localCrossMutr[3])
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrGradBMC
countGradB = 0
GradBIntIndex = []
localCrossMutr.clear()
allParametersPerfCrossMutrGradBMM = []
4 years ago
for dr in GradBIDsM:
if (int(re.findall('\d+', dr)[0]) >= greater):
GradBIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar*4))
else:
GradBIntIndex.append(int(re.findall('\d+', dr)[0]))
4 years ago
while countGradB < setMaxLoopValue[18]:
4 years ago
GradBPickPair = random.sample(GradBIntIndex,1)
4 years ago
pairDF = paramAllAlgs.iloc[GradBPickPair]
4 years ago
4 years ago
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
if (column == 'n_estimators'):
randomNumber = random.randint(100, 200)
listData.append(randomNumber)
crossoverDF[column] = listData
else:
valuePerColumn = pairDF[column].iloc[0]
listData.append(valuePerColumn)
crossoverDF[column] = listData
if (((paramAllAlgs['n_estimators'] == crossoverDF['n_estimators'].iloc[0]) & (paramAllAlgs['loss'] == crossoverDF['loss'].iloc[0]) & (paramAllAlgs['learning_rate'] == crossoverDF['learning_rate'].iloc[0]) & (paramAllAlgs['subsample'] == crossoverDF['subsample'].iloc[0]) & (paramAllAlgs['criterion'] == crossoverDF['criterion'].iloc[0])).any()):
4 years ago
crossoverDF = pd.DataFrame()
else:
clf = GradientBoostingClassifier(random_state=RANDOM_SEED)
params = {'n_estimators': [crossoverDF['n_estimators'].iloc[0]], 'loss': [crossoverDF['loss'].iloc[0]], 'learning_rate': [crossoverDF['learning_rate'].iloc[0]], 'subsample': [crossoverDF['subsample'].iloc[0]], 'criterion': [crossoverDF['criterion'].iloc[0]]}
4 years ago
AlgorithmsIDsEnd = countAllModels + countGradB
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'GradBMM', AlgorithmsIDsEnd)
4 years ago
countGradB += 1
crossoverDF = pd.DataFrame()
countAllModels = countAllModels + setMaxLoopValue[18]
for loop in range(setMaxLoopValue[18] - 1):
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
4 years ago
4 years ago
allParametersPerfCrossMutrGradBMM.append(localCrossMutr[0])
allParametersPerfCrossMutrGradBMM.append(localCrossMutr[1])
allParametersPerfCrossMutrGradBMM.append(localCrossMutr[2])
allParametersPerfCrossMutrGradBMM.append(localCrossMutr[3])
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrGradBMM
localCrossMutr.clear()
4 years ago
global allParametersPerformancePerModelEnsem
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrKNNCC[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrKNNCM[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrKNNCC[2]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrKNNCM[2]], ignore_index=True)
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrKNNCC[3]], ignore_index=True)
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrKNNCM[3]], ignore_index=True)
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrKNNMC[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrKNNMM[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrKNNMC[2]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrKNNMM[2]], ignore_index=True)
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrKNNMC[3]], ignore_index=True)
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrKNNMM[3]], ignore_index=True)
4 years ago
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrLRCC[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrLRCM[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrLRCC[2]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrLRCM[2]], ignore_index=True)
4 years ago
4 years ago
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrLRCC[3]], ignore_index=True)
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrLRCM[3]], ignore_index=True)
4 years ago
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrLRMC[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrLRMM[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrLRMC[2]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrLRMM[2]], ignore_index=True)
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrLRMC[3]], ignore_index=True)
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrLRMM[3]], ignore_index=True)
4 years ago
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrMLPCC[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrMLPCM[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrMLPCC[2]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrMLPCM[2]], ignore_index=True)
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrMLPCC[3]], ignore_index=True)
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrMLPCM[3]], ignore_index=True)
4 years ago
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrMLPMC[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrMLPMM[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrMLPMC[2]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrMLPMM[2]], ignore_index=True)
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrMLPMC[3]], ignore_index=True)
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrMLPMM[3]], ignore_index=True)
4 years ago
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrRFCC[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrRFCM[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrRFCC[2]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrRFCM[2]], ignore_index=True)
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrRFCC[3]], ignore_index=True)
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrRFCM[3]], ignore_index=True)
4 years ago
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrRFMC[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrRFMM[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrRFMC[2]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrRFMM[2]], ignore_index=True)
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrRFMC[3]], ignore_index=True)
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrRFMM[3]], ignore_index=True)
4 years ago
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrGradBCC[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrGradBCM[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrGradBCC[2]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrGradBCM[2]], ignore_index=True)
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrGradBCC[3]], ignore_index=True)
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrGradBCM[3]], ignore_index=True)
4 years ago
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrGradBMC[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrGradBMM[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrGradBMC[2]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrGradBMM[2]], ignore_index=True)
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrGradBMC[3]], ignore_index=True)
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrGradBMM[3]], ignore_index=True)
4 years ago
allParametersPerfCrossMutr = allParametersPerfCrossMutrKNNCC + allParametersPerfCrossMutrKNNCM + allParametersPerfCrossMutrKNNMC + allParametersPerfCrossMutrKNNMM + allParametersPerfCrossMutrLRCC + allParametersPerfCrossMutrLRCM + allParametersPerfCrossMutrLRMC + allParametersPerfCrossMutrLRMM + allParametersPerfCrossMutrMLPCC + allParametersPerfCrossMutrMLPCM + allParametersPerfCrossMutrMLPMC + allParametersPerfCrossMutrMLPMM + allParametersPerfCrossMutrRFCC + allParametersPerfCrossMutrRFCM + allParametersPerfCrossMutrRFMC + allParametersPerfCrossMutrRFMM + allParametersPerfCrossMutrGradBCC + allParametersPerfCrossMutrGradBCM + allParametersPerfCrossMutrGradBMC + allParametersPerfCrossMutrGradBMM
4 years ago
allParametersPerformancePerModel[0] = allParametersPerformancePerModel[0] + allParametersPerfCrossMutrKNNCC[0] + allParametersPerfCrossMutrKNNCM[0]
allParametersPerformancePerModel[1] = pd.concat([allParametersPerformancePerModel[1], allParametersPerfCrossMutrKNNCC[1]], ignore_index=True)
allParametersPerformancePerModel[1] = pd.concat([allParametersPerformancePerModel[1], allParametersPerfCrossMutrKNNCM[1]], ignore_index=True)
allParametersPerformancePerModel[2] = pd.concat([allParametersPerformancePerModel[2], allParametersPerfCrossMutrKNNCC[2]], ignore_index=True)
allParametersPerformancePerModel[2] = pd.concat([allParametersPerformancePerModel[2], allParametersPerfCrossMutrKNNCM[2]], ignore_index=True)
4 years ago
allParametersPerformancePerModel[3] = pd.concat([allParametersPerformancePerModel[3], allParametersPerfCrossMutrKNNCC[3]], ignore_index=True)
allParametersPerformancePerModel[3] = pd.concat([allParametersPerformancePerModel[3], allParametersPerfCrossMutrKNNCM[3]], ignore_index=True)
allParametersPerformancePerModel[4] = allParametersPerformancePerModel[4] + allParametersPerfCrossMutrLRCC[0] + allParametersPerfCrossMutrLRCM[0]
allParametersPerformancePerModel[5] = pd.concat([allParametersPerformancePerModel[5], allParametersPerfCrossMutrLRCC[1]], ignore_index=True)
allParametersPerformancePerModel[5] = pd.concat([allParametersPerformancePerModel[5], allParametersPerfCrossMutrLRCM[1]], ignore_index=True)
allParametersPerformancePerModel[6] = pd.concat([allParametersPerformancePerModel[6], allParametersPerfCrossMutrLRCC[2]], ignore_index=True)
allParametersPerformancePerModel[6] = pd.concat([allParametersPerformancePerModel[6], allParametersPerfCrossMutrLRCM[2]], ignore_index=True)
allParametersPerformancePerModel[7] = pd.concat([allParametersPerformancePerModel[7], allParametersPerfCrossMutrLRCC[3]], ignore_index=True)
allParametersPerformancePerModel[7] = pd.concat([allParametersPerformancePerModel[7], allParametersPerfCrossMutrLRCM[3]], ignore_index=True)
allParametersPerformancePerModel[8] = allParametersPerformancePerModel[8] + allParametersPerfCrossMutrMLPCC[0] + allParametersPerfCrossMutrMLPCM[0]
allParametersPerformancePerModel[9] = pd.concat([allParametersPerformancePerModel[9], allParametersPerfCrossMutrMLPCC[1]], ignore_index=True)
allParametersPerformancePerModel[9] = pd.concat([allParametersPerformancePerModel[9], allParametersPerfCrossMutrMLPCM[1]], ignore_index=True)
allParametersPerformancePerModel[10] = pd.concat([allParametersPerformancePerModel[10], allParametersPerfCrossMutrMLPCC[2]], ignore_index=True)
allParametersPerformancePerModel[10] = pd.concat([allParametersPerformancePerModel[10], allParametersPerfCrossMutrMLPCM[2]], ignore_index=True)
allParametersPerformancePerModel[11] = pd.concat([allParametersPerformancePerModel[11], allParametersPerfCrossMutrMLPCC[3]], ignore_index=True)
allParametersPerformancePerModel[11] = pd.concat([allParametersPerformancePerModel[11], allParametersPerfCrossMutrMLPCM[3]], ignore_index=True)
allParametersPerformancePerModel[12] = allParametersPerformancePerModel[12] + allParametersPerfCrossMutrRFCC[0] + allParametersPerfCrossMutrRFCM[0]
allParametersPerformancePerModel[13] = pd.concat([allParametersPerformancePerModel[13], allParametersPerfCrossMutrRFCC[1]], ignore_index=True)
allParametersPerformancePerModel[13] = pd.concat([allParametersPerformancePerModel[13], allParametersPerfCrossMutrRFCM[1]], ignore_index=True)
allParametersPerformancePerModel[14] = pd.concat([allParametersPerformancePerModel[14], allParametersPerfCrossMutrRFCC[2]], ignore_index=True)
allParametersPerformancePerModel[14] = pd.concat([allParametersPerformancePerModel[14], allParametersPerfCrossMutrRFCM[2]], ignore_index=True)
allParametersPerformancePerModel[15] = pd.concat([allParametersPerformancePerModel[15], allParametersPerfCrossMutrRFCC[3]], ignore_index=True)
allParametersPerformancePerModel[15] = pd.concat([allParametersPerformancePerModel[15], allParametersPerfCrossMutrRFCM[3]], ignore_index=True)
allParametersPerformancePerModel[16] = allParametersPerformancePerModel[16] + allParametersPerfCrossMutrGradBCC[0] + allParametersPerfCrossMutrGradBCM[0]
allParametersPerformancePerModel[17] = pd.concat([allParametersPerformancePerModel[17], allParametersPerfCrossMutrGradBCC[1]], ignore_index=True)
allParametersPerformancePerModel[17] = pd.concat([allParametersPerformancePerModel[17], allParametersPerfCrossMutrGradBCM[1]], ignore_index=True)
allParametersPerformancePerModel[18] = pd.concat([allParametersPerformancePerModel[18], allParametersPerfCrossMutrGradBCC[2]], ignore_index=True)
allParametersPerformancePerModel[18] = pd.concat([allParametersPerformancePerModel[18], allParametersPerfCrossMutrGradBCM[2]], ignore_index=True)
allParametersPerformancePerModel[19] = pd.concat([allParametersPerformancePerModel[19], allParametersPerfCrossMutrGradBCC[3]], ignore_index=True)
allParametersPerformancePerModel[19] = pd.concat([allParametersPerformancePerModel[19], allParametersPerfCrossMutrGradBCM[3]], ignore_index=True)
allParametersPerformancePerModel[0] = allParametersPerformancePerModel[0] + allParametersPerfCrossMutrKNNMC[0] + allParametersPerfCrossMutrKNNMM[0]
allParametersPerformancePerModel[1] = pd.concat([allParametersPerformancePerModel[1], allParametersPerfCrossMutrKNNMC[1]], ignore_index=True)
allParametersPerformancePerModel[1] = pd.concat([allParametersPerformancePerModel[1], allParametersPerfCrossMutrKNNMM[1]], ignore_index=True)
allParametersPerformancePerModel[2] = pd.concat([allParametersPerformancePerModel[2], allParametersPerfCrossMutrKNNMC[2]], ignore_index=True)
allParametersPerformancePerModel[2] = pd.concat([allParametersPerformancePerModel[2], allParametersPerfCrossMutrKNNMM[2]], ignore_index=True)
allParametersPerformancePerModel[3] = pd.concat([allParametersPerformancePerModel[3], allParametersPerfCrossMutrKNNMC[3]], ignore_index=True)
allParametersPerformancePerModel[3] = pd.concat([allParametersPerformancePerModel[3], allParametersPerfCrossMutrKNNMM[3]], ignore_index=True)
allParametersPerformancePerModel[4] = allParametersPerformancePerModel[4] + allParametersPerfCrossMutrLRMC[0] + allParametersPerfCrossMutrLRMM[0]
allParametersPerformancePerModel[5] = pd.concat([allParametersPerformancePerModel[5], allParametersPerfCrossMutrLRMC[1]], ignore_index=True)
allParametersPerformancePerModel[5] = pd.concat([allParametersPerformancePerModel[5], allParametersPerfCrossMutrLRMM[1]], ignore_index=True)
allParametersPerformancePerModel[6] = pd.concat([allParametersPerformancePerModel[6], allParametersPerfCrossMutrLRMC[2]], ignore_index=True)
allParametersPerformancePerModel[6] = pd.concat([allParametersPerformancePerModel[6], allParametersPerfCrossMutrLRMM[2]], ignore_index=True)
allParametersPerformancePerModel[7] = pd.concat([allParametersPerformancePerModel[7], allParametersPerfCrossMutrLRMC[3]], ignore_index=True)
allParametersPerformancePerModel[7] = pd.concat([allParametersPerformancePerModel[7], allParametersPerfCrossMutrLRMM[3]], ignore_index=True)
allParametersPerformancePerModel[8] = allParametersPerformancePerModel[8] + allParametersPerfCrossMutrMLPMC[0] + allParametersPerfCrossMutrMLPMM[0]
allParametersPerformancePerModel[9] = pd.concat([allParametersPerformancePerModel[9], allParametersPerfCrossMutrMLPMC[1]], ignore_index=True)
allParametersPerformancePerModel[9] = pd.concat([allParametersPerformancePerModel[9], allParametersPerfCrossMutrMLPMM[1]], ignore_index=True)
allParametersPerformancePerModel[10] = pd.concat([allParametersPerformancePerModel[10], allParametersPerfCrossMutrMLPMC[2]], ignore_index=True)
allParametersPerformancePerModel[10] = pd.concat([allParametersPerformancePerModel[10], allParametersPerfCrossMutrMLPMM[2]], ignore_index=True)
allParametersPerformancePerModel[11] = pd.concat([allParametersPerformancePerModel[11], allParametersPerfCrossMutrMLPMC[3]], ignore_index=True)
allParametersPerformancePerModel[11] = pd.concat([allParametersPerformancePerModel[11], allParametersPerfCrossMutrMLPMM[3]], ignore_index=True)
allParametersPerformancePerModel[12] = allParametersPerformancePerModel[12] + allParametersPerfCrossMutrRFMC[0] + allParametersPerfCrossMutrRFMM[0]
allParametersPerformancePerModel[13] = pd.concat([allParametersPerformancePerModel[13], allParametersPerfCrossMutrRFMC[1]], ignore_index=True)
allParametersPerformancePerModel[13] = pd.concat([allParametersPerformancePerModel[13], allParametersPerfCrossMutrRFMM[1]], ignore_index=True)
allParametersPerformancePerModel[14] = pd.concat([allParametersPerformancePerModel[14], allParametersPerfCrossMutrRFMC[2]], ignore_index=True)
allParametersPerformancePerModel[14] = pd.concat([allParametersPerformancePerModel[14], allParametersPerfCrossMutrRFMM[2]], ignore_index=True)
allParametersPerformancePerModel[15] = pd.concat([allParametersPerformancePerModel[15], allParametersPerfCrossMutrRFMC[3]], ignore_index=True)
allParametersPerformancePerModel[15] = pd.concat([allParametersPerformancePerModel[15], allParametersPerfCrossMutrRFMM[3]], ignore_index=True)
allParametersPerformancePerModel[16] = allParametersPerformancePerModel[16] + allParametersPerfCrossMutrGradBMC[0] + allParametersPerfCrossMutrGradBMM[0]
allParametersPerformancePerModel[17] = pd.concat([allParametersPerformancePerModel[17], allParametersPerfCrossMutrGradBMC[1]], ignore_index=True)
allParametersPerformancePerModel[17] = pd.concat([allParametersPerformancePerModel[17], allParametersPerfCrossMutrGradBMM[1]], ignore_index=True)
allParametersPerformancePerModel[18] = pd.concat([allParametersPerformancePerModel[18], allParametersPerfCrossMutrGradBMC[2]], ignore_index=True)
allParametersPerformancePerModel[18] = pd.concat([allParametersPerformancePerModel[18], allParametersPerfCrossMutrGradBMM[2]], ignore_index=True)
allParametersPerformancePerModel[19] = pd.concat([allParametersPerformancePerModel[19], allParametersPerfCrossMutrGradBMC[3]], ignore_index=True)
allParametersPerformancePerModel[19] = pd.concat([allParametersPerformancePerModel[19], allParametersPerfCrossMutrGradBMM[3]], ignore_index=True)
addKNN = addGradB
addLR = addKNN + setMaxLoopValue[40] + setMaxLoopValue[34] + setMaxLoopValue[28] + setMaxLoopValue[22]
addMLP = addLR + setMaxLoopValue[39] + setMaxLoopValue[33] + setMaxLoopValue[27] + setMaxLoopValue[21]
addRF = addMLP + setMaxLoopValue[38] + setMaxLoopValue[32] + setMaxLoopValue[26] + setMaxLoopValue[20]
addGradB = addRF + setMaxLoopValue[37] + setMaxLoopValue[31] + setMaxLoopValue[25] + setMaxLoopValue[19]
4 years ago
4 years ago
return 'Everything Okay'
def InitializeFirstStageCM (RemainingIds, setMaxLoopValue):
random.seed(RANDOM_SEED)
global XData
global yData
global addKNN
global addLR
global addMLP
global addRF
global addGradB
global countAllModels
# loop through the algorithms
global allParametersPerfCrossMutr
global HistoryPreservation
global allParametersPerformancePerModel
4 years ago
global randomSearchVar
greater = randomSearchVar*5
KNNIDs = list(filter(lambda k: 'KNN' in k, RemainingIds))
LRIDs = list(filter(lambda k: 'LR' in k, RemainingIds))
MLPIDs = list(filter(lambda k: 'MLP' in k, RemainingIds))
RFIDs = list(filter(lambda k: 'RF' in k, RemainingIds))
GradBIDs = list(filter(lambda k: 'GradB' in k, RemainingIds))
countKNN = 0
countLR = 0
countMLP = 0
countRF = 0
countGradB = 0
paramAllAlgs = PreprocessingParam()
KNNIntIndex = []
LRIntIndex = []
MLPIntIndex = []
RFIntIndex = []
GradBIntIndex = []
localCrossMutr = []
allParametersPerfCrossMutrKNNC = []
4 years ago
for dr in KNNIDs:
if (int(re.findall('\d+', dr)[0]) >= greater):
KNNIntIndex.append(int(re.findall('\d+', dr)[0])-addKNN)
else:
KNNIntIndex.append(int(re.findall('\d+', dr)[0]))
4 years ago
while countKNN < setMaxLoopValue[16]:
4 years ago
4 years ago
KNNPickPair = random.sample(KNNIntIndex,2)
pairDF = paramAllAlgs.iloc[KNNPickPair]
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
randomZeroOne = random.randint(0, 1)
valuePerColumn = pairDF[column].iloc[randomZeroOne]
listData.append(valuePerColumn)
crossoverDF[column] = listData
if (((paramAllAlgs['algorithm'] == crossoverDF['algorithm'].iloc[0]) & (paramAllAlgs['metric'] == crossoverDF['metric'].iloc[0]) & (paramAllAlgs['n_neighbors'] == crossoverDF['n_neighbors'].iloc[0]) & (paramAllAlgs['weights'] == crossoverDF['weights'].iloc[0])).any()):
crossoverDF = pd.DataFrame()
else:
clf = KNeighborsClassifier()
params = {'n_neighbors': [crossoverDF['n_neighbors'].iloc[0]], 'metric': [crossoverDF['metric'].iloc[0]], 'algorithm': [crossoverDF['algorithm'].iloc[0]], 'weights': [crossoverDF['weights'].iloc[0]]}
AlgorithmsIDsEnd = countAllModels + countKNN
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'KNNC', AlgorithmsIDsEnd)
4 years ago
countKNN += 1
crossoverDF = pd.DataFrame()
countAllModels = countAllModels + setMaxLoopValue[16]
for loop in range(setMaxLoopValue[16] - 1):
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
allParametersPerfCrossMutrKNNC.append(localCrossMutr[0])
allParametersPerfCrossMutrKNNC.append(localCrossMutr[1])
allParametersPerfCrossMutrKNNC.append(localCrossMutr[2])
allParametersPerfCrossMutrKNNC.append(localCrossMutr[3])
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrKNNC
countKNN = 0
KNNIntIndex = []
localCrossMutr.clear()
allParametersPerfCrossMutrKNNM = []
4 years ago
for dr in KNNIDs:
if (int(re.findall('\d+', dr)[0]) >= greater):
KNNIntIndex.append(int(re.findall('\d+', dr)[0])-addKNN)
else:
KNNIntIndex.append(int(re.findall('\d+', dr)[0]))
4 years ago
while countKNN < setMaxLoopValue[10]:
4 years ago
4 years ago
KNNPickPair = random.sample(KNNIntIndex,1)
pairDF = paramAllAlgs.iloc[KNNPickPair]
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
if (column == 'n_neighbors'):
randomNumber = random.randint(101, math.floor(((len(yData)/crossValidation)*(crossValidation-1)))-1)
listData.append(randomNumber)
crossoverDF[column] = listData
else:
valuePerColumn = pairDF[column].iloc[0]
listData.append(valuePerColumn)
crossoverDF[column] = listData
if (((paramAllAlgs['algorithm'] == crossoverDF['algorithm'].iloc[0]) & (paramAllAlgs['metric'] == crossoverDF['metric'].iloc[0]) & (paramAllAlgs['n_neighbors'] == crossoverDF['n_neighbors'].iloc[0]) & (paramAllAlgs['weights'] == crossoverDF['weights'].iloc[0])).any()):
crossoverDF = pd.DataFrame()
else:
clf = KNeighborsClassifier()
params = {'n_neighbors': [crossoverDF['n_neighbors'].iloc[0]], 'metric': [crossoverDF['metric'].iloc[0]], 'algorithm': [crossoverDF['algorithm'].iloc[0]], 'weights': [crossoverDF['weights'].iloc[0]]}
AlgorithmsIDsEnd = countAllModels + countKNN
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'KNNM', AlgorithmsIDsEnd)
4 years ago
countKNN += 1
crossoverDF = pd.DataFrame()
countAllModels = countAllModels + setMaxLoopValue[10]
for loop in range(setMaxLoopValue[10] - 1):
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
allParametersPerfCrossMutrKNNM.append(localCrossMutr[0])
allParametersPerfCrossMutrKNNM.append(localCrossMutr[1])
allParametersPerfCrossMutrKNNM.append(localCrossMutr[2])
allParametersPerfCrossMutrKNNM.append(localCrossMutr[3])
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrKNNM
localCrossMutr.clear()
allParametersPerfCrossMutrLRC = []
4 years ago
for dr in LRIDs:
if (int(re.findall('\d+', dr)[0]) >= greater):
LRIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar))
else:
LRIntIndex.append(int(re.findall('\d+', dr)[0]))
4 years ago
while countLR < setMaxLoopValue[15]:
4 years ago
4 years ago
LRPickPair = random.sample(LRIntIndex,2)
pairDF = paramAllAlgs.iloc[LRPickPair]
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
randomZeroOne = random.randint(0, 1)
valuePerColumn = pairDF[column].iloc[randomZeroOne]
listData.append(valuePerColumn)
crossoverDF[column] = listData
if (((paramAllAlgs['C'] == crossoverDF['C'].iloc[0]) & (paramAllAlgs['max_iter'] == crossoverDF['max_iter'].iloc[0]) & (paramAllAlgs['solver'] == crossoverDF['solver'].iloc[0]) & (paramAllAlgs['penalty'] == crossoverDF['penalty'].iloc[0])).any()):
crossoverDF = pd.DataFrame()
else:
clf = LogisticRegression(random_state=RANDOM_SEED)
params = {'C': [crossoverDF['C'].iloc[0]], 'max_iter': [crossoverDF['max_iter'].iloc[0]], 'solver': [crossoverDF['solver'].iloc[0]], 'penalty': [crossoverDF['penalty'].iloc[0]]}
AlgorithmsIDsEnd = countAllModels + countLR
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'LRC', AlgorithmsIDsEnd)
4 years ago
countLR += 1
crossoverDF = pd.DataFrame()
countAllModels = countAllModels + setMaxLoopValue[15]
for loop in range(setMaxLoopValue[15] - 1):
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
allParametersPerfCrossMutrLRC.append(localCrossMutr[0])
allParametersPerfCrossMutrLRC.append(localCrossMutr[1])
allParametersPerfCrossMutrLRC.append(localCrossMutr[2])
allParametersPerfCrossMutrLRC.append(localCrossMutr[3])
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrLRC
countLR = 0
LRIntIndex = []
localCrossMutr.clear()
allParametersPerfCrossMutrLRM = []
4 years ago
for dr in LRIDs:
if (int(re.findall('\d+', dr)[0]) >= greater):
LRIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar))
else:
LRIntIndex.append(int(re.findall('\d+', dr)[0]))
4 years ago
while countLR < setMaxLoopValue[9]:
4 years ago
4 years ago
LRPickPair = random.sample(LRIntIndex,1)
pairDF = paramAllAlgs.iloc[LRPickPair]
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
if (column == 'C'):
randomNumber = random.randint(101, 1000)
listData.append(randomNumber)
crossoverDF[column] = listData
else:
valuePerColumn = pairDF[column].iloc[0]
listData.append(valuePerColumn)
crossoverDF[column] = listData
if (((paramAllAlgs['C'] == crossoverDF['C'].iloc[0]) & (paramAllAlgs['max_iter'] == crossoverDF['max_iter'].iloc[0]) & (paramAllAlgs['solver'] == crossoverDF['solver'].iloc[0]) & (paramAllAlgs['penalty'] == crossoverDF['penalty'].iloc[0])).any()):
crossoverDF = pd.DataFrame()
else:
clf = LogisticRegression(random_state=RANDOM_SEED)
params = {'C': [crossoverDF['C'].iloc[0]], 'max_iter': [crossoverDF['max_iter'].iloc[0]], 'solver': [crossoverDF['solver'].iloc[0]], 'penalty': [crossoverDF['penalty'].iloc[0]]}
AlgorithmsIDsEnd = countAllModels + countLR
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'LRM', AlgorithmsIDsEnd)
4 years ago
countLR += 1
crossoverDF = pd.DataFrame()
countAllModels = countAllModels + setMaxLoopValue[9]
for loop in range(setMaxLoopValue[9] - 1):
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
allParametersPerfCrossMutrLRM.append(localCrossMutr[0])
allParametersPerfCrossMutrLRM.append(localCrossMutr[1])
allParametersPerfCrossMutrLRM.append(localCrossMutr[2])
allParametersPerfCrossMutrLRM.append(localCrossMutr[3])
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrLRM
localCrossMutr.clear()
allParametersPerfCrossMutrMLPC = []
4 years ago
for dr in MLPIDs:
if (int(re.findall('\d+', dr)[0]) >= greater):
MLPIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar*2))
else:
MLPIntIndex.append(int(re.findall('\d+', dr)[0]))
4 years ago
while countMLP < setMaxLoopValue[14]:
4 years ago
4 years ago
MLPPickPair = random.sample(MLPIntIndex,2)
pairDF = paramAllAlgs.iloc[MLPPickPair]
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
randomZeroOne = random.randint(0, 1)
valuePerColumn = pairDF[column].iloc[randomZeroOne]
listData.append(valuePerColumn)
crossoverDF[column] = listData
if (((paramAllAlgs['hidden_layer_sizes'] == crossoverDF['hidden_layer_sizes'].iloc[0]) & (paramAllAlgs['alpha'] == crossoverDF['alpha'].iloc[0]) & (paramAllAlgs['tol'] == crossoverDF['tol'].iloc[0]) & (paramAllAlgs['max_iter'] == crossoverDF['max_iter'].iloc[0]) & (paramAllAlgs['activation'] == crossoverDF['activation'].iloc[0]) & (paramAllAlgs['solver'] == crossoverDF['solver'].iloc[0])).any()):
crossoverDF = pd.DataFrame()
else:
clf = MLPClassifier(random_state=RANDOM_SEED)
params = {'hidden_layer_sizes': [crossoverDF['hidden_layer_sizes'].iloc[0]], 'alpha': [crossoverDF['alpha'].iloc[0]], 'tol': [crossoverDF['tol'].iloc[0]], 'max_iter': [crossoverDF['max_iter'].iloc[0]], 'activation': [crossoverDF['activation'].iloc[0]], 'solver': [crossoverDF['solver'].iloc[0]]}
AlgorithmsIDsEnd = countAllModels + countMLP
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'MLPC', AlgorithmsIDsEnd)
4 years ago
countMLP += 1
crossoverDF = pd.DataFrame()
countAllModels = countAllModels + setMaxLoopValue[14]
for loop in range(setMaxLoopValue[14] - 1):
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
allParametersPerfCrossMutrMLPC.append(localCrossMutr[0])
allParametersPerfCrossMutrMLPC.append(localCrossMutr[1])
allParametersPerfCrossMutrMLPC.append(localCrossMutr[2])
allParametersPerfCrossMutrMLPC.append(localCrossMutr[3])
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrMLPC
countMLP = 0
MLPIntIndex = []
localCrossMutr.clear()
allParametersPerfCrossMutrMLPM = []
4 years ago
for dr in MLPIDs:
if (int(re.findall('\d+', dr)[0]) >= greater):
MLPIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar*2))
else:
MLPIntIndex.append(int(re.findall('\d+', dr)[0]))
4 years ago
while countMLP < setMaxLoopValue[8]:
4 years ago
4 years ago
MLPPickPair = random.sample(MLPIntIndex,1)
pairDF = paramAllAlgs.iloc[MLPPickPair]
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
if (column == 'hidden_layer_sizes'):
randomNumber = (random.randint(10,60), random.randint(4,10))
listData.append(randomNumber)
crossoverDF[column] = listData
else:
valuePerColumn = pairDF[column].iloc[0]
listData.append(valuePerColumn)
crossoverDF[column] = listData
if (((paramAllAlgs['hidden_layer_sizes'] == crossoverDF['hidden_layer_sizes'].iloc[0]) & (paramAllAlgs['alpha'] == crossoverDF['alpha'].iloc[0]) & (paramAllAlgs['tol'] == crossoverDF['tol'].iloc[0]) & (paramAllAlgs['max_iter'] == crossoverDF['max_iter'].iloc[0]) & (paramAllAlgs['activation'] == crossoverDF['activation'].iloc[0]) & (paramAllAlgs['solver'] == crossoverDF['solver'].iloc[0])).any()):
crossoverDF = pd.DataFrame()
else:
clf = MLPClassifier(random_state=RANDOM_SEED)
params = {'hidden_layer_sizes': [crossoverDF['hidden_layer_sizes'].iloc[0]], 'alpha': [crossoverDF['alpha'].iloc[0]], 'tol': [crossoverDF['tol'].iloc[0]], 'max_iter': [crossoverDF['max_iter'].iloc[0]], 'activation': [crossoverDF['activation'].iloc[0]], 'solver': [crossoverDF['solver'].iloc[0]]}
AlgorithmsIDsEnd = countAllModels + countMLP
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'MLPM', AlgorithmsIDsEnd)
4 years ago
countMLP += 1
crossoverDF = pd.DataFrame()
countAllModels = countAllModels + setMaxLoopValue[8]
for loop in range(setMaxLoopValue[8] - 1):
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
allParametersPerfCrossMutrMLPM.append(localCrossMutr[0])
allParametersPerfCrossMutrMLPM.append(localCrossMutr[1])
allParametersPerfCrossMutrMLPM.append(localCrossMutr[2])
allParametersPerfCrossMutrMLPM.append(localCrossMutr[3])
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrMLPM
localCrossMutr.clear()
allParametersPerfCrossMutrRFC = []
4 years ago
for dr in RFIDs:
if (int(re.findall('\d+', dr)[0]) >= greater):
RFIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar*3))
else:
RFIntIndex.append(int(re.findall('\d+', dr)[0]))
4 years ago
while countRF < setMaxLoopValue[13]:
4 years ago
4 years ago
RFPickPair = random.sample(RFIntIndex,2)
pairDF = paramAllAlgs.iloc[RFPickPair]
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
randomZeroOne = random.randint(0, 1)
valuePerColumn = pairDF[column].iloc[randomZeroOne]
listData.append(valuePerColumn)
crossoverDF[column] = listData
if (((paramAllAlgs['n_estimators'] == crossoverDF['n_estimators'].iloc[0]) & (paramAllAlgs['max_depth'] == crossoverDF['max_depth'].iloc[0]) & (paramAllAlgs['criterion'] == crossoverDF['criterion'].iloc[0])).any()):
crossoverDF = pd.DataFrame()
else:
clf = RandomForestClassifier(random_state=RANDOM_SEED)
params = {'n_estimators': [crossoverDF['n_estimators'].iloc[0]], 'max_depth': [crossoverDF['max_depth'].iloc[0]], 'criterion': [crossoverDF['criterion'].iloc[0]]}
AlgorithmsIDsEnd = countAllModels + countRF
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'RFC', AlgorithmsIDsEnd)
4 years ago
countRF += 1
crossoverDF = pd.DataFrame()
countAllModels = countAllModels + setMaxLoopValue[13]
for loop in range(setMaxLoopValue[13] - 1):
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
allParametersPerfCrossMutrRFC.append(localCrossMutr[0])
allParametersPerfCrossMutrRFC.append(localCrossMutr[1])
allParametersPerfCrossMutrRFC.append(localCrossMutr[2])
allParametersPerfCrossMutrRFC.append(localCrossMutr[3])
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrRFC
countRF = 0
RFIntIndex = []
localCrossMutr.clear()
allParametersPerfCrossMutrRFM = []
4 years ago
for dr in RFIDs:
if (int(re.findall('\d+', dr)[0]) >= greater):
RFIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar*3))
else:
RFIntIndex.append(int(re.findall('\d+', dr)[0]))
4 years ago
while countRF < setMaxLoopValue[7]:
4 years ago
RFPickPair = random.sample(RFIntIndex,1)
4 years ago
pairDF = paramAllAlgs.iloc[RFPickPair]
4 years ago
4 years ago
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
if (column == 'n_estimators'):
randomNumber = random.randint(100, 200)
listData.append(randomNumber)
crossoverDF[column] = listData
else:
valuePerColumn = pairDF[column].iloc[0]
listData.append(valuePerColumn)
crossoverDF[column] = listData
if (((paramAllAlgs['n_estimators'] == crossoverDF['n_estimators'].iloc[0]) & (paramAllAlgs['max_depth'] == crossoverDF['max_depth'].iloc[0]) & (paramAllAlgs['criterion'] == crossoverDF['criterion'].iloc[0])).any()):
crossoverDF = pd.DataFrame()
else:
clf = RandomForestClassifier(random_state=RANDOM_SEED)
params = {'n_estimators': [crossoverDF['n_estimators'].iloc[0]], 'max_depth': [crossoverDF['max_depth'].iloc[0]], 'criterion': [crossoverDF['criterion'].iloc[0]]}
AlgorithmsIDsEnd = countAllModels + countRF
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'RFM', AlgorithmsIDsEnd)
4 years ago
countRF += 1
crossoverDF = pd.DataFrame()
countAllModels = countAllModels + setMaxLoopValue[7]
for loop in range(setMaxLoopValue[7] - 1):
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
allParametersPerfCrossMutrRFM.append(localCrossMutr[0])
allParametersPerfCrossMutrRFM.append(localCrossMutr[1])
allParametersPerfCrossMutrRFM.append(localCrossMutr[2])
allParametersPerfCrossMutrRFM.append(localCrossMutr[3])
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrRFM
localCrossMutr.clear()
allParametersPerfCrossMutrGradBC = []
4 years ago
for dr in GradBIDs:
if (int(re.findall('\d+', dr)[0]) >= greater):
GradBIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar*4))
else:
GradBIntIndex.append(int(re.findall('\d+', dr)[0]))
4 years ago
while countGradB < setMaxLoopValue[12]:
4 years ago
4 years ago
GradBPickPair = random.sample(GradBIntIndex,2)
pairDF = paramAllAlgs.iloc[GradBPickPair]
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
randomZeroOne = random.randint(0, 1)
valuePerColumn = pairDF[column].iloc[randomZeroOne]
listData.append(valuePerColumn)
crossoverDF[column] = listData
if (((paramAllAlgs['n_estimators'] == crossoverDF['n_estimators'].iloc[0]) & (paramAllAlgs['loss'] == crossoverDF['loss'].iloc[0]) & (paramAllAlgs['learning_rate'] == crossoverDF['learning_rate'].iloc[0]) & (paramAllAlgs['subsample'] == crossoverDF['subsample'].iloc[0]) & (paramAllAlgs['criterion'] == crossoverDF['criterion'].iloc[0])).any()):
4 years ago
crossoverDF = pd.DataFrame()
else:
clf = GradientBoostingClassifier(random_state=RANDOM_SEED)
params = {'n_estimators': [crossoverDF['n_estimators'].iloc[0]], 'loss': [crossoverDF['loss'].iloc[0]], 'learning_rate': [crossoverDF['learning_rate'].iloc[0]], 'subsample': [crossoverDF['subsample'].iloc[0]], 'criterion': [crossoverDF['criterion'].iloc[0]]}
4 years ago
AlgorithmsIDsEnd = countAllModels + countGradB
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'GradBC', AlgorithmsIDsEnd)
4 years ago
countGradB += 1
crossoverDF = pd.DataFrame()
countAllModels = countAllModels + setMaxLoopValue[12]
for loop in range(setMaxLoopValue[12] - 1):
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
allParametersPerfCrossMutrGradBC.append(localCrossMutr[0])
allParametersPerfCrossMutrGradBC.append(localCrossMutr[1])
allParametersPerfCrossMutrGradBC.append(localCrossMutr[2])
allParametersPerfCrossMutrGradBC.append(localCrossMutr[3])
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrGradBC
countGradB = 0
GradBIntIndex = []
localCrossMutr.clear()
allParametersPerfCrossMutrGradBM = []
4 years ago
for dr in GradBIDs:
if (int(re.findall('\d+', dr)[0]) >= greater):
GradBIntIndex.append(int(re.findall('\d+', dr)[0])-(addKNN-randomSearchVar*4))
else:
GradBIntIndex.append(int(re.findall('\d+', dr)[0]))
4 years ago
while countGradB < setMaxLoopValue[6]:
4 years ago
GradBPickPair = random.sample(GradBIntIndex,1)
4 years ago
pairDF = paramAllAlgs.iloc[GradBPickPair]
4 years ago
4 years ago
crossoverDF = pd.DataFrame()
for column in pairDF:
listData = []
if (column == 'n_estimators'):
randomNumber = random.randint(100, 200)
listData.append(randomNumber)
crossoverDF[column] = listData
else:
valuePerColumn = pairDF[column].iloc[0]
listData.append(valuePerColumn)
crossoverDF[column] = listData
if (((paramAllAlgs['n_estimators'] == crossoverDF['n_estimators'].iloc[0]) & (paramAllAlgs['loss'] == crossoverDF['loss'].iloc[0]) & (paramAllAlgs['learning_rate'] == crossoverDF['learning_rate'].iloc[0]) & (paramAllAlgs['subsample'] == crossoverDF['subsample'].iloc[0]) & (paramAllAlgs['criterion'] == crossoverDF['criterion'].iloc[0])).any()):
4 years ago
crossoverDF = pd.DataFrame()
else:
clf = GradientBoostingClassifier(random_state=RANDOM_SEED)
params = {'n_estimators': [crossoverDF['n_estimators'].iloc[0]], 'loss': [crossoverDF['loss'].iloc[0]], 'learning_rate': [crossoverDF['learning_rate'].iloc[0]], 'subsample': [crossoverDF['subsample'].iloc[0]], 'criterion': [crossoverDF['criterion'].iloc[0]]}
4 years ago
AlgorithmsIDsEnd = countAllModels + countGradB
localCrossMutr = crossoverMutation(XData, yData, clf, params, 'GradBM', AlgorithmsIDsEnd)
4 years ago
countGradB += 1
crossoverDF = pd.DataFrame()
countAllModels = countAllModels + setMaxLoopValue[6]
for loop in range(setMaxLoopValue[6] - 1):
localCrossMutr[0] = localCrossMutr[0] + localCrossMutr[(loop+1)*4]
localCrossMutr[1] = pd.concat([localCrossMutr[1], localCrossMutr[(loop+1)*4+1]], ignore_index=True)
localCrossMutr[2] = pd.concat([localCrossMutr[2], localCrossMutr[(loop+1)*4+2]], ignore_index=True)
localCrossMutr[3] = pd.concat([localCrossMutr[3], localCrossMutr[(loop+1)*4+3]], ignore_index=True)
allParametersPerfCrossMutrGradBM.append(localCrossMutr[0])
allParametersPerfCrossMutrGradBM.append(localCrossMutr[1])
allParametersPerfCrossMutrGradBM.append(localCrossMutr[2])
allParametersPerfCrossMutrGradBM.append(localCrossMutr[3])
HistoryPreservation = HistoryPreservation + allParametersPerfCrossMutrGradBM
localCrossMutr.clear()
global allParametersPerformancePerModelEnsem
allParametersPerformancePerModelEnsem = allParametersPerformancePerModel.copy()
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrKNNC[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrKNNM[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrKNNC[2]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrKNNM[2]], ignore_index=True)
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrKNNC[3]], ignore_index=True)
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrKNNM[3]], ignore_index=True)
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrLRC[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrLRM[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrLRC[2]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrLRM[2]], ignore_index=True)
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrLRC[3]], ignore_index=True)
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrLRM[3]], ignore_index=True)
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrMLPC[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrMLPM[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrMLPC[2]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrMLPM[2]], ignore_index=True)
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrMLPC[3]], ignore_index=True)
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrMLPM[3]], ignore_index=True)
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrRFC[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrRFM[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrRFC[2]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrRFM[2]], ignore_index=True)
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrRFC[3]], ignore_index=True)
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrRFM[3]], ignore_index=True)
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrGradBC[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[17] = pd.concat([allParametersPerformancePerModelEnsem[17], allParametersPerfCrossMutrGradBM[1]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrGradBC[2]], ignore_index=True)
allParametersPerformancePerModelEnsem[18] = pd.concat([allParametersPerformancePerModelEnsem[18], allParametersPerfCrossMutrGradBM[2]], ignore_index=True)
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrGradBC[3]], ignore_index=True)
allParametersPerformancePerModelEnsem[19] = pd.concat([allParametersPerformancePerModelEnsem[19], allParametersPerfCrossMutrGradBM[3]], ignore_index=True)
4 years ago
allParametersPerfCrossMutr = allParametersPerfCrossMutrKNNC + allParametersPerfCrossMutrKNNM + allParametersPerfCrossMutrLRC + allParametersPerfCrossMutrLRM + allParametersPerfCrossMutrMLPC + allParametersPerfCrossMutrMLPM + allParametersPerfCrossMutrRFC + allParametersPerfCrossMutrRFM + allParametersPerfCrossMutrGradBC + allParametersPerfCrossMutrGradBM
allParametersPerformancePerModel[0] = allParametersPerformancePerModel[0] + allParametersPerfCrossMutrKNNC[0] + allParametersPerfCrossMutrKNNM[0]
allParametersPerformancePerModel[1] = pd.concat([allParametersPerformancePerModel[1], allParametersPerfCrossMutrKNNC[1]], ignore_index=True)
allParametersPerformancePerModel[1] = pd.concat([allParametersPerformancePerModel[1], allParametersPerfCrossMutrKNNM[1]], ignore_index=True)
allParametersPerformancePerModel[2] = pd.concat([allParametersPerformancePerModel[2], allParametersPerfCrossMutrKNNC[2]], ignore_index=True)
allParametersPerformancePerModel[2] = pd.concat([allParametersPerformancePerModel[2], allParametersPerfCrossMutrKNNM[2]], ignore_index=True)
4 years ago
allParametersPerformancePerModel[3] = pd.concat([allParametersPerformancePerModel[3], allParametersPerfCrossMutrKNNC[3]], ignore_index=True)
allParametersPerformancePerModel[3] = pd.concat([allParametersPerformancePerModel[3], allParametersPerfCrossMutrKNNM[3]], ignore_index=True)
allParametersPerformancePerModel[4] = allParametersPerformancePerModel[4] + allParametersPerfCrossMutrLRC[0] + allParametersPerfCrossMutrLRM[0]
allParametersPerformancePerModel[5] = pd.concat([allParametersPerformancePerModel[5], allParametersPerfCrossMutrLRC[1]], ignore_index=True)
allParametersPerformancePerModel[5] = pd.concat([allParametersPerformancePerModel[5], allParametersPerfCrossMutrLRM[1]], ignore_index=True)
allParametersPerformancePerModel[6] = pd.concat([allParametersPerformancePerModel[6], allParametersPerfCrossMutrLRC[2]], ignore_index=True)
allParametersPerformancePerModel[6] = pd.concat([allParametersPerformancePerModel[6], allParametersPerfCrossMutrLRM[2]], ignore_index=True)
allParametersPerformancePerModel[7] = pd.concat([allParametersPerformancePerModel[7], allParametersPerfCrossMutrLRC[3]], ignore_index=True)
allParametersPerformancePerModel[7] = pd.concat([allParametersPerformancePerModel[7], allParametersPerfCrossMutrLRM[3]], ignore_index=True)
allParametersPerformancePerModel[8] = allParametersPerformancePerModel[8] + allParametersPerfCrossMutrMLPC[0] + allParametersPerfCrossMutrMLPM[0]
allParametersPerformancePerModel[9] = pd.concat([allParametersPerformancePerModel[9], allParametersPerfCrossMutrMLPC[1]], ignore_index=True)
allParametersPerformancePerModel[9] = pd.concat([allParametersPerformancePerModel[9], allParametersPerfCrossMutrMLPM[1]], ignore_index=True)
allParametersPerformancePerModel[10] = pd.concat([allParametersPerformancePerModel[10], allParametersPerfCrossMutrMLPC[2]], ignore_index=True)
allParametersPerformancePerModel[10] = pd.concat([allParametersPerformancePerModel[10], allParametersPerfCrossMutrMLPM[2]], ignore_index=True)
allParametersPerformancePerModel[11] = pd.concat([allParametersPerformancePerModel[11], allParametersPerfCrossMutrMLPC[3]], ignore_index=True)
allParametersPerformancePerModel[11] = pd.concat([allParametersPerformancePerModel[11], allParametersPerfCrossMutrMLPM[3]], ignore_index=True)
allParametersPerformancePerModel[12] = allParametersPerformancePerModel[12] + allParametersPerfCrossMutrRFC[0] + allParametersPerfCrossMutrRFM[0]
allParametersPerformancePerModel[13] = pd.concat([allParametersPerformancePerModel[13], allParametersPerfCrossMutrRFC[1]], ignore_index=True)
allParametersPerformancePerModel[13] = pd.concat([allParametersPerformancePerModel[13], allParametersPerfCrossMutrRFM[1]], ignore_index=True)
allParametersPerformancePerModel[14] = pd.concat([allParametersPerformancePerModel[14], allParametersPerfCrossMutrRFC[2]], ignore_index=True)
allParametersPerformancePerModel[14] = pd.concat([allParametersPerformancePerModel[14], allParametersPerfCrossMutrRFM[2]], ignore_index=True)
allParametersPerformancePerModel[15] = pd.concat([allParametersPerformancePerModel[15], allParametersPerfCrossMutrRFC[3]], ignore_index=True)
allParametersPerformancePerModel[15] = pd.concat([allParametersPerformancePerModel[15], allParametersPerfCrossMutrRFM[3]], ignore_index=True)
allParametersPerformancePerModel[16] = allParametersPerformancePerModel[16] + allParametersPerfCrossMutrGradBC[0] + allParametersPerfCrossMutrGradBM[0]
4 years ago
allParametersPerformancePerModel[17] = pd.concat([allParametersPerformancePerModel[17], allParametersPerfCrossMutrGradBC[1]], ignore_index=True)
allParametersPerformancePerModel[17] = pd.concat([allParametersPerformancePerModel[17], allParametersPerfCrossMutrGradBM[1]], ignore_index=True)
allParametersPerformancePerModel[18] = pd.concat([allParametersPerformancePerModel[18], allParametersPerfCrossMutrGradBC[2]], ignore_index=True)
allParametersPerformancePerModel[18] = pd.concat([allParametersPerformancePerModel[18], allParametersPerfCrossMutrGradBM[2]], ignore_index=True)
4 years ago
allParametersPerformancePerModel[19] = pd.concat([allParametersPerformancePerModel[19], allParametersPerfCrossMutrGradBC[3]], ignore_index=True)
allParametersPerformancePerModel[19] = pd.concat([allParametersPerformancePerModel[19], allParametersPerfCrossMutrGradBM[3]], ignore_index=True)
4 years ago
global stage1addKNN
global stage1addLR
global stage1addMLP
global stage1addRF
global stage1addGradB
global stageTotalReached
global randomSearch
4 years ago
addKNN = addGradB
addLR = addKNN + setMaxLoopValue[16] + setMaxLoopValue[10]
addMLP = addLR + setMaxLoopValue[15] + setMaxLoopValue[9]
addRF = addMLP + setMaxLoopValue[14] + setMaxLoopValue[8]
addGradB = addRF + setMaxLoopValue[13] + setMaxLoopValue[7]
4 years ago
addAllNew = setMaxLoopValue[16] + setMaxLoopValue[10] + setMaxLoopValue[15] + setMaxLoopValue[9] + setMaxLoopValue[14] + setMaxLoopValue[8] + setMaxLoopValue[13] + setMaxLoopValue[7] + setMaxLoopValue[12] + setMaxLoopValue[6]
stage1addKNN = addKNN
stage1addLR = addLR
stage1addMLP = addMLP
stage1addRF = addRF
stage1addGradB = addGradB
stageTotalReached = stageTotalReached + addAllNew
4 years ago
return 'Everything Okay'
def crossoverMutation(XData, yData, clf, params, eachAlgor, AlgorithmsIDsEnd):
print(eachAlgor)
4 years ago
search = GridSearchCV(
estimator=clf, param_grid=params, cv=crossValidation, refit='accuracy',
scoring=scoring, verbose=0, n_jobs=-1)
# fit and extract the probabilities
search.fit(XData, yData)
# process the results
cv_results = []
cv_results.append(search.cv_results_)
df_cv_results = pd.DataFrame.from_dict(cv_results)
# number of models stored
number_of_models = len(df_cv_results.iloc[0][0])
# initialize results per row
df_cv_results_per_row = []
# loop through number of models
modelsIDs = []
for i in range(number_of_models):
number = AlgorithmsIDsEnd+i
modelsIDs.append(eachAlgor+str(number))
# initialize results per item
df_cv_results_per_item = []
for column in df_cv_results.iloc[0]:
df_cv_results_per_item.append(column[i])
df_cv_results_per_row.append(df_cv_results_per_item)
# store the results into a pandas dataframe
df_cv_results_classifiers = pd.DataFrame(data = df_cv_results_per_row, columns= df_cv_results.columns)
# copy and filter in order to get only the metrics
metrics = df_cv_results_classifiers.copy()
4 years ago
metrics = metrics.filter(['mean_test_accuracy','mean_test_precision_macro','mean_test_recall_macro','mean_test_f1_macro','mean_test_roc_auc_ovo'])
4 years ago
# concat parameters and performance
parametersPerformancePerModel = pd.DataFrame(df_cv_results_classifiers['params'])
parametersLocal = parametersPerformancePerModel['params'].copy()
Models = []
for index, items in enumerate(parametersLocal):
Models.append(index)
parametersLocalNew = [ parametersLocal[your_key] for your_key in Models ]
perModelProb = []
resultsWeighted = []
resultsCorrCoef = []
resultsLogLoss = []
resultsLogLossFinal = []
# influence calculation for all the instances
inputs = range(len(XData))
num_cores = multiprocessing.cpu_count()
for eachModelParameters in parametersLocalNew:
clf.set_params(**eachModelParameters)
clf.fit(XData, yData)
yPredict = clf.predict(XData)
yPredict = np.nan_to_num(yPredict)
yPredictProb = cross_val_predict(clf, XData, yData, cv=crossValidation, method='predict_proba')
4 years ago
yPredictProb = np.nan_to_num(yPredictProb)
perModelProb.append(yPredictProb.tolist())
4 years ago
resultsWeighted.append(geometric_mean_score(yData, yPredict, average='macro'))
4 years ago
resultsCorrCoef.append(matthews_corrcoef(yData, yPredict))
resultsLogLoss.append(log_loss(yData, yPredictProb, normalize=True))
maxLog = max(resultsLogLoss)
minLog = min(resultsLogLoss)
for each in resultsLogLoss:
resultsLogLossFinal.append((each-minLog)/(maxLog-minLog))
4 years ago
metrics.insert(5,'geometric_mean_score_macro',resultsWeighted)
4 years ago
metrics.insert(6,'matthews_corrcoef',resultsCorrCoef)
metrics.insert(7,'log_loss',resultsLogLossFinal)
perModelProbPandas = pd.DataFrame(perModelProb)
results.append(modelsIDs)
results.append(parametersPerformancePerModel)
results.append(metrics)
results.append(perModelProbPandas)
return results
def PreprocessingIDsCM():
dicKNNC = allParametersPerfCrossMutr[0]
dicKNNM = allParametersPerfCrossMutr[4]
dicLRC = allParametersPerfCrossMutr[8]
dicLRM = allParametersPerfCrossMutr[12]
4 years ago
dicMLPC = allParametersPerfCrossMutr[16]
dicMLPM = allParametersPerfCrossMutr[20]
dicRFC = allParametersPerfCrossMutr[24]
dicRFM = allParametersPerfCrossMutr[28]
dicGradBC = allParametersPerfCrossMutr[32]
dicGradBM = allParametersPerfCrossMutr[36]
4 years ago
4 years ago
df_concatIDs = dicKNNC + dicKNNM + dicLRC + dicLRM + dicMLPC + dicMLPM + dicRFC + dicRFM + dicGradBC + dicGradBM
4 years ago
return df_concatIDs
4 years ago
def PreprocessingIDsCMSecond():
dicKNNCC = allParametersPerfCrossMutr[0]
dicKNNCM = allParametersPerfCrossMutr[4]
dicLRCC = allParametersPerfCrossMutr[8]
dicLRCM = allParametersPerfCrossMutr[12]
dicMLPCC = allParametersPerfCrossMutr[16]
dicMLPCM = allParametersPerfCrossMutr[20]
dicRFCC = allParametersPerfCrossMutr[24]
dicRFCM = allParametersPerfCrossMutr[28]
dicGradBCC = allParametersPerfCrossMutr[32]
dicGradBCM = allParametersPerfCrossMutr[36]
dicKNNMC = allParametersPerfCrossMutr[40]
dicKNNMM = allParametersPerfCrossMutr[44]
dicLRMC = allParametersPerfCrossMutr[48]
dicLRMM = allParametersPerfCrossMutr[52]
dicMLPMC = allParametersPerfCrossMutr[56]
dicMLPMM = allParametersPerfCrossMutr[60]
dicRFMC = allParametersPerfCrossMutr[64]
dicRFMM = allParametersPerfCrossMutr[68]
dicGradBMC = allParametersPerfCrossMutr[72]
dicGradBMM = allParametersPerfCrossMutr[76]
df_concatIDs = dicKNNCC + dicKNNCM + dicLRCC + dicLRCM + dicMLPCC + dicMLPCM + dicRFCC + dicRFCM + dicGradBCC + dicGradBCM + dicKNNMC + dicKNNMM + dicLRMC + dicLRMM + dicMLPMC + dicMLPMM + dicRFMC + dicRFMM + dicGradBMC + dicGradBMM
return df_concatIDs
4 years ago
def PreprocessingMetricsCM():
dicKNNC = allParametersPerfCrossMutr[2]
dicKNNM = allParametersPerfCrossMutr[6]
dicLRC = allParametersPerfCrossMutr[10]
dicLRM = allParametersPerfCrossMutr[14]
4 years ago
dicMLPC = allParametersPerfCrossMutr[18]
dicMLPM = allParametersPerfCrossMutr[22]
dicRFC = allParametersPerfCrossMutr[26]
dicRFM = allParametersPerfCrossMutr[30]
dicGradBC = allParametersPerfCrossMutr[34]
dicGradBM = allParametersPerfCrossMutr[38]
4 years ago
dfKNNC = pd.DataFrame.from_dict(dicKNNC)
dfKNNM = pd.DataFrame.from_dict(dicKNNM)
dfLRC = pd.DataFrame.from_dict(dicLRC)
dfLRM = pd.DataFrame.from_dict(dicLRM)
4 years ago
dfMLPC = pd.DataFrame.from_dict(dicMLPC)
dfMLPM = pd.DataFrame.from_dict(dicMLPM)
dfRFC = pd.DataFrame.from_dict(dicRFC)
dfRFM = pd.DataFrame.from_dict(dicRFM)
dfGradBC = pd.DataFrame.from_dict(dicGradBC)
dfGradBM = pd.DataFrame.from_dict(dicGradBM)
df_concatMetrics = pd.concat([dfKNNC, dfKNNM, dfLRC, dfLRM, dfMLPC, dfMLPM, dfRFC, dfRFM, dfGradBC, dfGradBM])
4 years ago
df_concatMetrics = df_concatMetrics.reset_index(drop=True)
return df_concatMetrics
4 years ago
def PreprocessingMetricsCMSecond():
dicKNNCC = allParametersPerfCrossMutr[2]
dicKNNCM = allParametersPerfCrossMutr[6]
dicLRCC = allParametersPerfCrossMutr[10]
dicLRCM = allParametersPerfCrossMutr[14]
dicMLPCC = allParametersPerfCrossMutr[18]
dicMLPCM = allParametersPerfCrossMutr[22]
dicRFCC = allParametersPerfCrossMutr[26]
dicRFCM = allParametersPerfCrossMutr[30]
dicGradBCC = allParametersPerfCrossMutr[34]
dicGradBCM = allParametersPerfCrossMutr[38]
dicKNNMC = allParametersPerfCrossMutr[42]
dicKNNMM = allParametersPerfCrossMutr[46]
dicLRMC = allParametersPerfCrossMutr[50]
dicLRMM = allParametersPerfCrossMutr[54]
dicMLPMC = allParametersPerfCrossMutr[58]
dicMLPMM = allParametersPerfCrossMutr[62]
dicRFMC = allParametersPerfCrossMutr[66]
dicRFMM = allParametersPerfCrossMutr[70]
dicGradBMC = allParametersPerfCrossMutr[74]
dicGradBMM = allParametersPerfCrossMutr[78]
dfKNNCC = pd.DataFrame.from_dict(dicKNNCC)
dfKNNCM = pd.DataFrame.from_dict(dicKNNCM)
dfLRCC = pd.DataFrame.from_dict(dicLRCC)
dfLRCM = pd.DataFrame.from_dict(dicLRCM)
dfMLPCC = pd.DataFrame.from_dict(dicMLPCC)
dfMLPCM = pd.DataFrame.from_dict(dicMLPCM)
dfRFCC = pd.DataFrame.from_dict(dicRFCC)
dfRFCM = pd.DataFrame.from_dict(dicRFCM)
dfGradBCC = pd.DataFrame.from_dict(dicGradBCC)
dfGradBCM = pd.DataFrame.from_dict(dicGradBCM)
dfKNNMC = pd.DataFrame.from_dict(dicKNNMC)
dfKNNMM = pd.DataFrame.from_dict(dicKNNMM)
dfLRMC = pd.DataFrame.from_dict(dicLRMC)
dfLRMM = pd.DataFrame.from_dict(dicLRMM)
dfMLPMC = pd.DataFrame.from_dict(dicMLPMC)
dfMLPMM = pd.DataFrame.from_dict(dicMLPMM)
dfRFMC = pd.DataFrame.from_dict(dicRFMC)
dfRFMM = pd.DataFrame.from_dict(dicRFMM)
dfGradBMC = pd.DataFrame.from_dict(dicGradBMC)
dfGradBMM = pd.DataFrame.from_dict(dicGradBMM)
df_concatMetrics = pd.concat([dfKNNCC, dfKNNCM, dfLRCC, dfLRCM, dfMLPCC, dfMLPCM, dfRFCC, dfRFCM, dfGradBCC, dfGradBCM, dfKNNMC, dfKNNMM, dfLRMC, dfLRMM, dfMLPMC, dfMLPMM, dfRFMC, dfRFMM, dfGradBMC, dfGradBMM])
df_concatMetrics = df_concatMetrics.reset_index(drop=True)
return df_concatMetrics
4 years ago
def PreprocessingPredCM():
dicKNNC = allParametersPerfCrossMutr[3]
dicKNNM = allParametersPerfCrossMutr[7]
dicLRC = allParametersPerfCrossMutr[11]
dicLRM = allParametersPerfCrossMutr[15]
4 years ago
dicMLPC = allParametersPerfCrossMutr[19]
dicMLPM = allParametersPerfCrossMutr[23]
dicRFC = allParametersPerfCrossMutr[27]
dicRFM = allParametersPerfCrossMutr[31]
dicGradBC = allParametersPerfCrossMutr[35]
dicGradBM = allParametersPerfCrossMutr[39]
4 years ago
dfKNNC = pd.DataFrame.from_dict(dicKNNC)
dfKNNM = pd.DataFrame.from_dict(dicKNNM)
dfLRC = pd.DataFrame.from_dict(dicLRC)
dfLRM = pd.DataFrame.from_dict(dicLRM)
4 years ago
dfMLPC = pd.DataFrame.from_dict(dicMLPC)
dfMLPM = pd.DataFrame.from_dict(dicMLPM)
dfRFC = pd.DataFrame.from_dict(dicRFC)
dfRFM = pd.DataFrame.from_dict(dicRFM)
dfGradBC = pd.DataFrame.from_dict(dicGradBC)
dfGradBM = pd.DataFrame.from_dict(dicGradBM)
4 years ago
dfKNN = pd.concat([dfKNNC, dfKNNM])
dfLR = pd.concat([dfLRC, dfLRM])
4 years ago
dfMLP = pd.concat([dfMLPC, dfMLPM])
dfRF = pd.concat([dfRFC, dfRFM])
dfGradB = pd.concat([dfGradBC, dfGradBM])
df_concatProbs = pd.concat([dfKNNC, dfKNNM, dfLRC, dfLRM, dfMLPC, dfMLPM, dfRFC, dfRFM, dfGradBC, dfGradBM])
predictionsKNN = []
for column, content in dfKNN.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictionsKNN.append(el)
predictionsLR = []
for column, content in dfLR.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictionsLR.append(el)
4 years ago
predictionsMLP = []
for column, content in dfMLP.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictionsMLP.append(el)
predictionsRF = []
for column, content in dfRF.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictionsRF.append(el)
predictionsGradB = []
for column, content in dfGradB.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictionsGradB.append(el)
4 years ago
predictions = []
for column, content in df_concatProbs.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictions.append(el)
4 years ago
global storeClass0
global storeClass1
global yDataSorted
firstElKNN = []
firstElLR = []
firstElMLP = []
firstElRF = []
firstElGradB = []
firstElPredAv = []
lastElKNN = []
lastElLR = []
lastElMLP = []
lastElRF = []
lastElGradB = []
lastElPredAv = []
yDataSortedFirst = []
yDataSortedLast = []
4 years ago
ResultsGatheredFirst = [0,0,0,0,0,0,0]
ResultsGatheredLast = [0,0,0,0,0,0,0]
4 years ago
for index, item in enumerate(yData):
4 years ago
if (item == 1):
if (len(predictionsKNN[index]) != 0):
firstElKNN.append(predictionsKNN[index][item]*100)
if (len(predictionsLR[index]) != 0):
firstElLR.append(predictionsLR[index][item]*100)
if (len(predictionsMLP[index]) != 0):
firstElMLP.append(predictionsMLP[index][item]*100)
if (len(predictionsRF[index]) != 0):
firstElRF.append(predictionsRF[index][item]*100)
if (len(predictionsGradB[index]) != 0):
firstElGradB.append(predictionsGradB[index][item]*100)
if (len(predictions[index]) != 0):
firstElPredAv.append(predictions[index][item]*100)
yDataSortedFirst.append(item)
else:
if (len(predictionsKNN[index]) != 0):
lastElKNN.append(predictionsKNN[index][item]*100)
if (len(predictionsLR[index]) != 0):
lastElLR.append(predictionsLR[index][item]*100)
if (len(predictionsMLP[index]) != 0):
lastElMLP.append(predictionsMLP[index][item]*100)
if (len(predictionsRF[index]) != 0):
lastElRF.append(predictionsRF[index][item]*100)
if (len(predictionsGradB[index]) != 0):
lastElGradB.append(predictionsGradB[index][item]*100)
if (len(predictions[index]) != 0):
lastElPredAv.append(predictions[index][item]*100)
yDataSortedLast.append(item)
predictions = firstElPredAv + lastElPredAv
predictionsKNN = firstElKNN + lastElKNN
predictionsLR = firstElLR + lastElLR
predictionsMLP = firstElMLP + lastElMLP
predictionsRF = firstElRF + lastElRF
predictionsGradB = firstElGradB + lastElGradB
yDataSorted = yDataSortedFirst + yDataSortedLast
4 years ago
if (storeClass0 > 169 and storeClass1 > 169):
yDataSortedFirst = []
yDataSortedLast = []
4 years ago
ResultsGatheredFirst = computeClusters(firstElPredAv,firstElKNN,firstElLR,firstElMLP,firstElRF,firstElGradB,3)
ResultsGatheredLast = computeClusters(lastElPredAv,lastElKNN,lastElLR,lastElMLP,lastElRF,lastElGradB,4)
4 years ago
for item in lastElPredAv:
yDataSortedFirst.append(0)
yDataSortedLast.append(0)
4 years ago
predictions = ResultsGatheredFirst[0] + ResultsGatheredLast[0]
predictionsKNN = ResultsGatheredFirst[1] + ResultsGatheredLast[1]
predictionsLR = ResultsGatheredFirst[2] + ResultsGatheredLast[2]
predictionsMLP = ResultsGatheredFirst[3] + ResultsGatheredLast[3]
predictionsRF = ResultsGatheredFirst[4] + ResultsGatheredLast[4]
predictionsGradB = ResultsGatheredFirst[5] + ResultsGatheredLast[5]
yDataSorted = yDataSortedFirst + yDataSortedLast
4 years ago
4 years ago
return [predictionsKNN, predictionsLR, predictionsMLP, predictionsRF, predictionsGradB, predictions, ResultsGatheredLast[6], ResultsGatheredFirst[6]]
4 years ago
4 years ago
def PreprocessingPredCMSecond():
dicKNNCC = allParametersPerfCrossMutr[3]
dicKNNCM = allParametersPerfCrossMutr[7]
dicLRCC = allParametersPerfCrossMutr[11]
dicLRCM = allParametersPerfCrossMutr[15]
dicMLPCC = allParametersPerfCrossMutr[19]
dicMLPCM = allParametersPerfCrossMutr[23]
dicRFCC = allParametersPerfCrossMutr[27]
dicRFCM = allParametersPerfCrossMutr[31]
dicGradBCC = allParametersPerfCrossMutr[35]
dicGradBCM = allParametersPerfCrossMutr[39]
dicKNNMC = allParametersPerfCrossMutr[43]
dicKNNMM = allParametersPerfCrossMutr[47]
dicLRMC = allParametersPerfCrossMutr[51]
dicLRMM = allParametersPerfCrossMutr[55]
dicMLPMC = allParametersPerfCrossMutr[59]
dicMLPMM = allParametersPerfCrossMutr[63]
dicRFMC = allParametersPerfCrossMutr[67]
dicRFMM = allParametersPerfCrossMutr[71]
dicGradBMC = allParametersPerfCrossMutr[75]
dicGradBMM = allParametersPerfCrossMutr[79]
dfKNNCC = pd.DataFrame.from_dict(dicKNNCC)
dfKNNCM = pd.DataFrame.from_dict(dicKNNCM)
dfLRCC = pd.DataFrame.from_dict(dicLRCC)
dfLRCM = pd.DataFrame.from_dict(dicLRCM)
dfMLPCC = pd.DataFrame.from_dict(dicMLPCC)
dfMLPCM = pd.DataFrame.from_dict(dicMLPCM)
dfRFCC = pd.DataFrame.from_dict(dicRFCC)
dfRFCM = pd.DataFrame.from_dict(dicRFCM)
dfGradBCC = pd.DataFrame.from_dict(dicGradBCC)
dfGradBCM = pd.DataFrame.from_dict(dicGradBCM)
dfKNNMC = pd.DataFrame.from_dict(dicKNNMC)
dfKNNMM = pd.DataFrame.from_dict(dicKNNMM)
dfLRMC = pd.DataFrame.from_dict(dicLRMC)
dfLRMM = pd.DataFrame.from_dict(dicLRMM)
dfMLPMC = pd.DataFrame.from_dict(dicMLPMC)
dfMLPMM = pd.DataFrame.from_dict(dicMLPMM)
dfRFMC = pd.DataFrame.from_dict(dicRFMC)
dfRFMM = pd.DataFrame.from_dict(dicRFMM)
dfGradBMC = pd.DataFrame.from_dict(dicGradBMC)
dfGradBMM = pd.DataFrame.from_dict(dicGradBMM)
dfKNN = pd.concat([dfKNNCC, dfKNNCM, dfKNNMC, dfKNNMM])
dfLR = pd.concat([dfLRCC, dfLRCM, dfLRMC, dfLRMM])
dfMLP = pd.concat([dfMLPCC, dfMLPCM, dfMLPMC, dfMLPMM])
dfRF = pd.concat([dfRFCC, dfRFCM, dfRFMC, dfRFMM])
dfGradB = pd.concat([dfGradBCC, dfGradBCM, dfGradBMC, dfGradBMM])
df_concatProbs = pd.concat([dfKNNCC, dfKNNCM, dfLRCC, dfLRCM, dfMLPCC, dfMLPCM, dfRFCC, dfRFCM, dfGradBCC, dfGradBCM, dfKNNMC, dfKNNMM, dfLRMC, dfLRMM, dfMLPMC, dfMLPMM, dfRFMC, dfRFMM, dfGradBMC, dfGradBMM])
predictionsKNN = []
for column, content in dfKNN.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictionsKNN.append(el)
predictionsLR = []
for column, content in dfLR.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictionsLR.append(el)
predictionsMLP = []
for column, content in dfMLP.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictionsMLP.append(el)
predictionsRF = []
for column, content in dfRF.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictionsRF.append(el)
predictionsGradB = []
for column, content in dfGradB.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictionsGradB.append(el)
predictions = []
for column, content in df_concatProbs.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictions.append(el)
4 years ago
global storeClass0
global storeClass1
global yDataSorted
firstElKNN = []
firstElLR = []
firstElMLP = []
firstElRF = []
firstElGradB = []
firstElPredAv = []
lastElKNN = []
lastElLR = []
lastElMLP = []
lastElRF = []
lastElGradB = []
lastElPredAv = []
yDataSortedFirst = []
yDataSortedLast = []
4 years ago
ResultsGatheredFirst = [0,0,0,0,0,0,0]
ResultsGatheredLast = [0,0,0,0,0,0,0]
4 years ago
for index, item in enumerate(yData):
4 years ago
if (item == 1):
if (len(predictionsKNN[index]) != 0):
firstElKNN.append(predictionsKNN[index][item]*100)
if (len(predictionsLR[index]) != 0):
firstElLR.append(predictionsLR[index][item]*100)
if (len(predictionsMLP[index]) != 0):
firstElMLP.append(predictionsMLP[index][item]*100)
if (len(predictionsRF[index]) != 0):
firstElRF.append(predictionsRF[index][item]*100)
if (len(predictionsGradB[index]) != 0):
firstElGradB.append(predictionsGradB[index][item]*100)
if (len(predictions[index]) != 0):
firstElPredAv.append(predictions[index][item]*100)
yDataSortedFirst.append(item)
else:
if (len(predictionsKNN[index]) != 0):
lastElKNN.append(predictionsKNN[index][item]*100)
if (len(predictionsLR[index]) != 0):
lastElLR.append(predictionsLR[index][item]*100)
if (len(predictionsMLP[index]) != 0):
lastElMLP.append(predictionsMLP[index][item]*100)
if (len(predictionsRF[index]) != 0):
lastElRF.append(predictionsRF[index][item]*100)
if (len(predictionsGradB[index]) != 0):
lastElGradB.append(predictionsGradB[index][item]*100)
if (len(predictions[index]) != 0):
lastElPredAv.append(predictions[index][item]*100)
yDataSortedLast.append(item)
predictions = firstElPredAv + lastElPredAv
predictionsKNN = firstElKNN + lastElKNN
predictionsLR = firstElLR + lastElLR
predictionsMLP = firstElMLP + lastElMLP
predictionsRF = firstElRF + lastElRF
predictionsGradB = firstElGradB + lastElGradB
yDataSorted = yDataSortedFirst + yDataSortedLast
4 years ago
if (storeClass0 > 169 and storeClass1 > 169):
yDataSortedFirst = []
yDataSortedLast = []
4 years ago
ResultsGatheredFirst = computeClusters(firstElPredAv,firstElKNN,firstElLR,firstElMLP,firstElRF,firstElGradB,3)
ResultsGatheredLast = computeClusters(lastElPredAv,lastElKNN,lastElLR,lastElMLP,lastElRF,lastElGradB,4)
4 years ago
for item in lastElPredAv:
yDataSortedFirst.append(0)
yDataSortedLast.append(0)
4 years ago
predictions = ResultsGatheredFirst[0] + ResultsGatheredLast[0]
predictionsKNN = ResultsGatheredFirst[1] + ResultsGatheredLast[1]
predictionsLR = ResultsGatheredFirst[2] + ResultsGatheredLast[2]
predictionsMLP = ResultsGatheredFirst[3] + ResultsGatheredLast[3]
predictionsRF = ResultsGatheredFirst[4] + ResultsGatheredLast[4]
predictionsGradB = ResultsGatheredFirst[5] + ResultsGatheredLast[5]
yDataSorted = yDataSortedFirst + yDataSortedLast
4 years ago
4 years ago
return [predictionsKNN, predictionsLR, predictionsMLP, predictionsRF, predictionsGradB, predictions, ResultsGatheredLast[6], ResultsGatheredFirst[6]]
4 years ago
4 years ago
def PreprocessingParamCM():
dicKNNC = allParametersPerfCrossMutr[1]
dicKNNM = allParametersPerfCrossMutr[5]
dicLRC = allParametersPerfCrossMutr[9]
dicLRM = allParametersPerfCrossMutr[13]
4 years ago
dicMLPC = allParametersPerfCrossMutr[17]
dicMLPM = allParametersPerfCrossMutr[21]
dicRFC = allParametersPerfCrossMutr[25]
dicRFM = allParametersPerfCrossMutr[29]
dicGradBC = allParametersPerfCrossMutr[33]
dicGradBM = allParametersPerfCrossMutr[37]
4 years ago
dicKNNC = dicKNNC['params']
dicKNNM = dicKNNM['params']
dicLRC = dicLRC['params']
dicLRM = dicLRM['params']
4 years ago
dicMLPC = dicMLPC['params']
dicMLPM = dicMLPM['params']
dicRFC = dicRFC['params']
dicRFM = dicRFM['params']
dicGradBC = dicGradBC['params']
dicGradBM = dicGradBM['params']
4 years ago
dicKNNC = {int(k):v for k,v in dicKNNC.items()}
dicKNNM = {int(k):v for k,v in dicKNNM.items()}
dicLRC = {int(k):v for k,v in dicLRC.items()}
dicLRM = {int(k):v for k,v in dicLRM.items()}
4 years ago
dicMLPC = {int(k):v for k,v in dicMLPC.items()}
dicMLPM = {int(k):v for k,v in dicMLPM.items()}
dicRFC = {int(k):v for k,v in dicRFC.items()}
dicRFM = {int(k):v for k,v in dicRFM.items()}
dicGradBC = {int(k):v for k,v in dicGradBC.items()}
dicGradBM = {int(k):v for k,v in dicGradBM.items()}
4 years ago
dfKNNC = pd.DataFrame.from_dict(dicKNNC)
dfKNNM = pd.DataFrame.from_dict(dicKNNM)
dfLRC = pd.DataFrame.from_dict(dicLRC)
dfLRM = pd.DataFrame.from_dict(dicLRM)
4 years ago
dfMLPC = pd.DataFrame.from_dict(dicMLPC)
dfMLPM = pd.DataFrame.from_dict(dicMLPM)
dfRFC = pd.DataFrame.from_dict(dicRFC)
dfRFM = pd.DataFrame.from_dict(dicRFM)
dfGradBC = pd.DataFrame.from_dict(dicGradBC)
dfGradBM = pd.DataFrame.from_dict(dicGradBM)
4 years ago
dfKNNC = dfKNNC.T
dfKNNM = dfKNNM.T
dfLRC = dfLRC.T
dfLRM = dfLRM.T
4 years ago
dfMLPC = dfMLPC.T
dfMLPM = dfMLPM.T
dfRFC = dfRFC.T
dfRFM = dfRFM.T
dfGradBC = dfGradBC.T
dfGradBM = dfGradBM.T
df_params = pd.concat([dfKNNC, dfKNNM, dfLRC, dfLRM, dfMLPC, dfMLPM, dfRFC, dfRFM, dfGradBC, dfGradBM])
df_params = df_params.reset_index(drop=True)
4 years ago
return df_params
4 years ago
def PreprocessingParamCMSecond():
dicKNNCC = allParametersPerfCrossMutr[1]
dicKNNCM = allParametersPerfCrossMutr[5]
dicLRCC = allParametersPerfCrossMutr[9]
dicLRCM = allParametersPerfCrossMutr[13]
dicMLPCC = allParametersPerfCrossMutr[17]
dicMLPCM = allParametersPerfCrossMutr[21]
dicRFCC = allParametersPerfCrossMutr[25]
dicRFCM = allParametersPerfCrossMutr[29]
dicGradBCC = allParametersPerfCrossMutr[33]
dicGradBCM = allParametersPerfCrossMutr[37]
dicKNNMC = allParametersPerfCrossMutr[41]
dicKNNMM = allParametersPerfCrossMutr[45]
dicLRMC = allParametersPerfCrossMutr[49]
dicLRMM = allParametersPerfCrossMutr[53]
dicMLPMC = allParametersPerfCrossMutr[57]
dicMLPMM = allParametersPerfCrossMutr[61]
dicRFMC = allParametersPerfCrossMutr[65]
dicRFMM = allParametersPerfCrossMutr[69]
dicGradBMC = allParametersPerfCrossMutr[73]
dicGradBMM = allParametersPerfCrossMutr[77]
dicKNNCC = dicKNNCC['params']
dicKNNCM = dicKNNCM['params']
dicLRCC = dicLRCC['params']
dicLRCM = dicLRCM['params']
dicMLPCC = dicMLPCC['params']
dicMLPCM = dicMLPCM['params']
dicRFCC = dicRFCC['params']
dicRFCM = dicRFCM['params']
dicGradBCC = dicGradBCC['params']
dicGradBCM = dicGradBCM['params']
dicKNNMC = dicKNNMC['params']
dicKNNMM = dicKNNMM['params']
dicLRMC = dicLRMC['params']
dicLRMM = dicLRMM['params']
dicMLPMC = dicMLPMC['params']
dicMLPMM = dicMLPMM['params']
dicRFMC = dicRFMC['params']
dicRFMM = dicRFMM['params']
dicGradBMC = dicGradBMC['params']
dicGradBMM = dicGradBMM['params']
dicKNNCC = {int(k):v for k,v in dicKNNCC.items()}
dicKNNCM = {int(k):v for k,v in dicKNNCM.items()}
dicLRCC = {int(k):v for k,v in dicLRCC.items()}
dicLRCM = {int(k):v for k,v in dicLRCM.items()}
dicMLPCC = {int(k):v for k,v in dicMLPCC.items()}
dicMLPCM = {int(k):v for k,v in dicMLPCM.items()}
dicRFCC = {int(k):v for k,v in dicRFCC.items()}
dicRFCM = {int(k):v for k,v in dicRFCM.items()}
dicGradBCC = {int(k):v for k,v in dicGradBCC.items()}
dicGradBCM = {int(k):v for k,v in dicGradBCM.items()}
dicKNNMC = {int(k):v for k,v in dicKNNMC.items()}
dicKNNMM = {int(k):v for k,v in dicKNNMM.items()}
dicLRMC = {int(k):v for k,v in dicLRMC.items()}
dicLRMM = {int(k):v for k,v in dicLRMM.items()}
dicMLPMC = {int(k):v for k,v in dicMLPMC.items()}
dicMLPMM = {int(k):v for k,v in dicMLPMM.items()}
dicRFMC = {int(k):v for k,v in dicRFMC.items()}
dicRFMM = {int(k):v for k,v in dicRFMM.items()}
dicGradBMC = {int(k):v for k,v in dicGradBMC.items()}
dicGradBMM = {int(k):v for k,v in dicGradBMM.items()}
dfKNNCC = pd.DataFrame.from_dict(dicKNNCC)
dfKNNCM = pd.DataFrame.from_dict(dicKNNCM)
dfLRCC = pd.DataFrame.from_dict(dicLRCC)
dfLRCM = pd.DataFrame.from_dict(dicLRCM)
dfMLPCC = pd.DataFrame.from_dict(dicMLPCC)
dfMLPCM = pd.DataFrame.from_dict(dicMLPCM)
dfRFCC = pd.DataFrame.from_dict(dicRFCC)
dfRFCM = pd.DataFrame.from_dict(dicRFCM)
dfGradBCC = pd.DataFrame.from_dict(dicGradBCC)
dfGradBCM = pd.DataFrame.from_dict(dicGradBCM)
dfKNNMC = pd.DataFrame.from_dict(dicKNNMC)
dfKNNMM = pd.DataFrame.from_dict(dicKNNMM)
dfLRMC = pd.DataFrame.from_dict(dicLRMC)
dfLRMM = pd.DataFrame.from_dict(dicLRMM)
dfMLPMC = pd.DataFrame.from_dict(dicMLPMC)
dfMLPMM = pd.DataFrame.from_dict(dicMLPMM)
dfRFMC = pd.DataFrame.from_dict(dicRFMC)
dfRFMM = pd.DataFrame.from_dict(dicRFMM)
dfGradBMC = pd.DataFrame.from_dict(dicGradBMC)
dfGradBMM = pd.DataFrame.from_dict(dicGradBMM)
dfKNNCC = dfKNNCC.T
dfKNNCM = dfKNNCM.T
dfLRCC = dfLRCC.T
dfLRCM = dfLRCM.T
dfMLPCC = dfMLPCC.T
dfMLPCM = dfMLPCM.T
dfRFCC = dfRFCC.T
dfRFCM = dfRFCM.T
dfGradBCC = dfGradBCC.T
dfGradBCM = dfGradBCM.T
dfKNNMC = dfKNNMC.T
dfKNNMM = dfKNNMM.T
dfLRMC = dfLRMC.T
dfLRMM = dfLRMM.T
dfMLPMC = dfMLPMC.T
dfMLPMM = dfMLPMM.T
dfRFMC = dfRFMC.T
dfRFMM = dfRFMM.T
dfGradBMC = dfGradBMC.T
dfGradBMM = dfGradBMM.T
df_params = pd.concat([dfKNNCC, dfKNNCM, dfLRCC, dfLRCM, dfMLPCC, dfMLPCM, dfRFCC, dfRFCM, dfGradBCC, dfGradBCM, dfKNNMC, dfKNNMM, dfLRMC, dfLRMM, dfMLPMC, dfMLPMM, dfRFMC, dfRFMM, dfGradBMC, dfGradBMM])
df_params = df_params.reset_index(drop=True)
return df_params
4 years ago
4 years ago
def PreprocessingParamSepCM():
dicKNNCC = allParametersPerfCrossMutr[1]
dicKNNCM = allParametersPerfCrossMutr[5]
dicLRCC = allParametersPerfCrossMutr[9]
dicLRCM = allParametersPerfCrossMutr[13]
dicMLPCC = allParametersPerfCrossMutr[17]
dicMLPCM = allParametersPerfCrossMutr[21]
dicRFCC = allParametersPerfCrossMutr[25]
dicRFCM = allParametersPerfCrossMutr[29]
dicGradBCC = allParametersPerfCrossMutr[33]
dicGradBCM = allParametersPerfCrossMutr[37]
dicKNNMC = allParametersPerfCrossMutr[41]
dicKNNMM = allParametersPerfCrossMutr[45]
dicLRMC = allParametersPerfCrossMutr[49]
dicLRMM = allParametersPerfCrossMutr[53]
dicMLPMC = allParametersPerfCrossMutr[57]
dicMLPMM = allParametersPerfCrossMutr[61]
dicRFMC = allParametersPerfCrossMutr[65]
dicRFMM = allParametersPerfCrossMutr[69]
dicGradBMC = allParametersPerfCrossMutr[73]
dicGradBMM = allParametersPerfCrossMutr[77]
dicKNNCC = dicKNNCC['params']
dicKNNCM = dicKNNCM['params']
dicLRCC = dicLRCC['params']
dicLRCM = dicLRCM['params']
dicMLPCC = dicMLPCC['params']
dicMLPCM = dicMLPCM['params']
dicRFCC = dicRFCC['params']
dicRFCM = dicRFCM['params']
dicGradBCC = dicGradBCC['params']
dicGradBCM = dicGradBCM['params']
dicKNNMC = dicKNNMC['params']
dicKNNMM = dicKNNMM['params']
dicLRMC = dicLRMC['params']
dicLRMM = dicLRMM['params']
dicMLPMC = dicMLPMC['params']
dicMLPMM = dicMLPMM['params']
dicRFMC = dicRFMC['params']
dicRFMM = dicRFMM['params']
dicGradBMC = dicGradBMC['params']
dicGradBMM = dicGradBMM['params']
dicKNNCC = {int(k):v for k,v in dicKNNCC.items()}
dicKNNCM = {int(k):v for k,v in dicKNNCM.items()}
dicLRCC = {int(k):v for k,v in dicLRCC.items()}
dicLRCM = {int(k):v for k,v in dicLRCM.items()}
dicMLPCC = {int(k):v for k,v in dicMLPCC.items()}
dicMLPCM = {int(k):v for k,v in dicMLPCM.items()}
dicRFCC = {int(k):v for k,v in dicRFCC.items()}
dicRFCM = {int(k):v for k,v in dicRFCM.items()}
dicGradBCC = {int(k):v for k,v in dicGradBCC.items()}
dicGradBCM = {int(k):v for k,v in dicGradBCM.items()}
dicKNNMC = {int(k):v for k,v in dicKNNMC.items()}
dicKNNMM = {int(k):v for k,v in dicKNNMM.items()}
dicLRMC = {int(k):v for k,v in dicLRMC.items()}
dicLRMM = {int(k):v for k,v in dicLRMM.items()}
dicMLPMC = {int(k):v for k,v in dicMLPMC.items()}
dicMLPMM = {int(k):v for k,v in dicMLPMM.items()}
dicRFMC = {int(k):v for k,v in dicRFMC.items()}
dicRFMM = {int(k):v for k,v in dicRFMM.items()}
dicGradBMC = {int(k):v for k,v in dicGradBMC.items()}
dicGradBMM = {int(k):v for k,v in dicGradBMM.items()}
dfKNNCC = pd.DataFrame.from_dict(dicKNNCC)
dfKNNCM = pd.DataFrame.from_dict(dicKNNCM)
dfLRCC = pd.DataFrame.from_dict(dicLRCC)
dfLRCM = pd.DataFrame.from_dict(dicLRCM)
dfMLPCC = pd.DataFrame.from_dict(dicMLPCC)
dfMLPCM = pd.DataFrame.from_dict(dicMLPCM)
dfRFCC = pd.DataFrame.from_dict(dicRFCC)
dfRFCM = pd.DataFrame.from_dict(dicRFCM)
dfGradBCC = pd.DataFrame.from_dict(dicGradBCC)
dfGradBCM = pd.DataFrame.from_dict(dicGradBCM)
dfKNNMC = pd.DataFrame.from_dict(dicKNNMC)
dfKNNMM = pd.DataFrame.from_dict(dicKNNMM)
dfLRMC = pd.DataFrame.from_dict(dicLRMC)
dfLRMM = pd.DataFrame.from_dict(dicLRMM)
dfMLPMC = pd.DataFrame.from_dict(dicMLPMC)
dfMLPMM = pd.DataFrame.from_dict(dicMLPMM)
dfRFMC = pd.DataFrame.from_dict(dicRFMC)
dfRFMM = pd.DataFrame.from_dict(dicRFMM)
dfGradBMC = pd.DataFrame.from_dict(dicGradBMC)
dfGradBMM = pd.DataFrame.from_dict(dicGradBMM)
dfKNNCC = dfKNNCC.T
dfKNNCM = dfKNNCM.T
dfLRCC = dfLRCC.T
dfLRCM = dfLRCM.T
dfMLPCC = dfMLPCC.T
dfMLPCM = dfMLPCM.T
dfRFCC = dfRFCC.T
dfRFCM = dfRFCM.T
dfGradBCC = dfGradBCC.T
dfGradBCM = dfGradBCM.T
dfKNNMC = dfKNNMC.T
dfKNNMM = dfKNNMM.T
dfLRMC = dfLRMC.T
dfLRMM = dfLRMM.T
dfMLPMC = dfMLPMC.T
dfMLPMM = dfMLPMM.T
dfRFMC = dfRFMC.T
dfRFMM = dfRFMM.T
dfGradBMC = dfGradBMC.T
dfGradBMM = dfGradBMM.T
return [dfKNNCC, dfKNNCM, dfLRCC, dfLRCM, dfMLPCC, dfMLPCM, dfRFCC, dfRFCM, dfGradBCC, dfGradBCM, dfKNNMC, dfKNNMM, dfLRMC, dfLRMM, dfMLPMC, dfMLPMM, dfRFMC, dfRFMM, dfGradBMC, dfGradBMM]
4 years ago
def preProcsumPerMetricCM(factors):
4 years ago
4 years ago
sumPerClassifier = []
loopThroughMetrics = PreprocessingMetricsCM()
loopThroughMetrics = loopThroughMetrics.fillna(0)
loopThroughMetrics.loc[:, 'log_loss'] = 1 - loopThroughMetrics.loc[:, 'log_loss']
for row in loopThroughMetrics.iterrows():
rowSum = 0
name, values = row
for loop, elements in enumerate(values):
rowSum = elements*factors[loop] + rowSum
4 years ago
if sum(factors) == 0:
4 years ago
sumPerClassifier = 0
else:
sumPerClassifier.append(rowSum/sum(factors) * 100)
return sumPerClassifier
4 years ago
def preProcsumPerMetricCMSecond(factors):
sumPerClassifier = []
loopThroughMetrics = PreprocessingMetricsCMSecond()
loopThroughMetrics = loopThroughMetrics.fillna(0)
loopThroughMetrics.loc[:, 'log_loss'] = 1 - loopThroughMetrics.loc[:, 'log_loss']
for row in loopThroughMetrics.iterrows():
rowSum = 0
name, values = row
for loop, elements in enumerate(values):
rowSum = elements*factors[loop] + rowSum
4 years ago
if sum(factors) == 0:
4 years ago
sumPerClassifier = 0
else:
sumPerClassifier.append(rowSum/sum(factors) * 100)
return sumPerClassifier
4 years ago
def preProcMetricsAllAndSelCM():
loopThroughMetrics = PreprocessingMetricsCM()
loopThroughMetrics = loopThroughMetrics.fillna(0)
global factors
metricsPerModelColl = []
metricsPerModelColl.append(loopThroughMetrics['mean_test_accuracy'])
4 years ago
metricsPerModelColl.append(loopThroughMetrics['geometric_mean_score_macro'])
metricsPerModelColl.append(loopThroughMetrics['mean_test_precision_macro'])
metricsPerModelColl.append(loopThroughMetrics['mean_test_recall_macro'])
metricsPerModelColl.append(loopThroughMetrics['mean_test_f1_macro'])
4 years ago
metricsPerModelColl.append(loopThroughMetrics['matthews_corrcoef'])
4 years ago
metricsPerModelColl.append(loopThroughMetrics['mean_test_roc_auc_ovo'])
4 years ago
metricsPerModelColl.append(loopThroughMetrics['log_loss'])
f=lambda a: (abs(a)+a)/2
for index, metric in enumerate(metricsPerModelColl):
if (index == 5):
metricsPerModelColl[index] = ((f(metric))*factors[index]) * 100
elif (index == 7):
metricsPerModelColl[index] = ((1 - metric)*factors[index] ) * 100
else:
metricsPerModelColl[index] = (metric*factors[index]) * 100
metricsPerModelColl[index] = metricsPerModelColl[index].to_json()
return metricsPerModelColl
4 years ago
def preProcMetricsAllAndSelCMSecond():
loopThroughMetrics = PreprocessingMetricsCMSecond()
loopThroughMetrics = loopThroughMetrics.fillna(0)
global factors
metricsPerModelColl = []
metricsPerModelColl.append(loopThroughMetrics['mean_test_accuracy'])
metricsPerModelColl.append(loopThroughMetrics['geometric_mean_score_macro'])
metricsPerModelColl.append(loopThroughMetrics['mean_test_precision_macro'])
metricsPerModelColl.append(loopThroughMetrics['mean_test_recall_macro'])
metricsPerModelColl.append(loopThroughMetrics['mean_test_f1_macro'])
metricsPerModelColl.append(loopThroughMetrics['matthews_corrcoef'])
metricsPerModelColl.append(loopThroughMetrics['mean_test_roc_auc_ovo'])
metricsPerModelColl.append(loopThroughMetrics['log_loss'])
f=lambda a: (abs(a)+a)/2
for index, metric in enumerate(metricsPerModelColl):
if (index == 5):
metricsPerModelColl[index] = ((f(metric))*factors[index]) * 100
elif (index == 7):
metricsPerModelColl[index] = ((1 - metric)*factors[index] ) * 100
else:
metricsPerModelColl[index] = (metric*factors[index]) * 100
metricsPerModelColl[index] = metricsPerModelColl[index].to_json()
return metricsPerModelColl
4 years ago
# Sending the overview classifiers' results to be visualized as a scatterplot
@app.route('/data/PlotCrossMutate', methods=["GET", "POST"])
def SendToPlotCM():
while (len(DataResultsRaw) != DataRawLength):
pass
4 years ago
global CurStage
if (CurStage == 1):
PreProcessingInitial()
4 years ago
response = {
'OverviewResultsCM': ResultsCM
}
4 years ago
else:
PreProcessingSecond()
4 years ago
response = {
'OverviewResultsCM': ResultsCMSecond
}
4 years ago
return jsonify(response)
def PreProcessingInitial():
XModels = PreprocessingMetricsCM()
global allParametersPerfCrossMutr
4 years ago
global factors
4 years ago
XModels = XModels.fillna(0)
4 years ago
dropMetrics = []
for index, element in enumerate(factors):
if (element == 0):
dropMetrics.append(index)
XModels.drop(XModels.columns[dropMetrics], axis=1, inplace=True)
4 years ago
ModelSpaceMDSCM = FunMDS(XModels)
ModelSpaceTSNECM = FunTsne(XModels)
ModelSpaceTSNECM = ModelSpaceTSNECM.tolist()
ModelSpaceUMAPCM = FunUMAP(XModels)
PredictionProbSelCM = PreprocessingPredCM()
4 years ago
CrossMutateResults(ModelSpaceMDSCM,ModelSpaceTSNECM,ModelSpaceUMAPCM,PredictionProbSelCM)
4 years ago
4 years ago
def PreProcessingSecond():
XModels = PreprocessingMetricsCMSecond()
4 years ago
global factors
4 years ago
XModels = XModels.fillna(0)
4 years ago
dropMetrics = []
for index, element in enumerate(factors):
if (element == 0):
dropMetrics.append(index)
XModels.drop(XModels.columns[dropMetrics], axis=1, inplace=True)
4 years ago
4 years ago
ModelSpaceMDSCMSecond = FunMDS(XModels)
ModelSpaceTSNECMSecond = FunTsne(XModels)
ModelSpaceTSNECMSecond = ModelSpaceTSNECMSecond.tolist()
ModelSpaceUMAPCMSecond = FunUMAP(XModels)
4 years ago
4 years ago
PredictionProbSelCMSecond = PreprocessingPredCMSecond()
4 years ago
4 years ago
CrossMutateResultsSecond(ModelSpaceMDSCMSecond,ModelSpaceTSNECMSecond,ModelSpaceUMAPCMSecond,PredictionProbSelCMSecond)
4 years ago
def CrossMutateResults(ModelSpaceMDSCM,ModelSpaceTSNECM,ModelSpaceUMAPCM,PredictionProbSelCM):
4 years ago
global ResultsCM
global AllTargets
4 years ago
global names_labels
global yDataSorted
4 years ago
ResultsCM = []
4 years ago
global factors
parametersGenCM = PreprocessingParamCM()
metricsPerModelCM = preProcMetricsAllAndSelCM()
sumPerClassifierCM = preProcsumPerMetricCM(factors)
ModelsIDsCM = PreprocessingIDsCM()
parametersGenPDGM = parametersGenCM.to_json(orient='records')
4 years ago
XDataJSONEntireSet = XData.to_json(orient='records')
XDataColumns = XData.columns.tolist()
ResultsCM.append(json.dumps(ModelsIDsCM))
ResultsCM.append(json.dumps(sumPerClassifierCM))
ResultsCM.append(json.dumps(parametersGenPDGM))
ResultsCM.append(json.dumps(metricsPerModelCM))
4 years ago
ResultsCM.append(json.dumps(XDataJSONEntireSet))
ResultsCM.append(json.dumps(XDataColumns))
ResultsCM.append(json.dumps(yData))
ResultsCM.append(json.dumps(target_names))
ResultsCM.append(json.dumps(AllTargets))
ResultsCM.append(json.dumps(ModelSpaceMDSCM))
ResultsCM.append(json.dumps(ModelSpaceTSNECM))
ResultsCM.append(json.dumps(ModelSpaceUMAPCM))
ResultsCM.append(json.dumps(PredictionProbSelCM))
4 years ago
ResultsCM.append(json.dumps(names_labels))
4 years ago
ResultsCM.append(json.dumps(yDataSorted))
4 years ago
return ResultsCM
4 years ago
def CrossMutateResultsSecond(ModelSpaceMDSCMSecond,ModelSpaceTSNECMSecond,ModelSpaceUMAPCMSecond,PredictionProbSelCMSecond):
4 years ago
4 years ago
global ResultsCMSecond
4 years ago
global AllTargets
4 years ago
global names_labels
global yDataSorted
ResultsCMSecond = []
parametersGenCMSecond = PreprocessingParamCMSecond()
metricsPerModelCMSecond = preProcMetricsAllAndSelCMSecond()
sumPerClassifierCMSecond = preProcsumPerMetricCMSecond(factors)
ModelsIDsCMSecond = PreprocessingIDsCMSecond()
parametersGenPDGMSecond = parametersGenCMSecond.to_json(orient='records')
4 years ago
XDataJSONEntireSet = XData.to_json(orient='records')
XDataColumns = XData.columns.tolist()
4 years ago
ResultsCMSecond.append(json.dumps(ModelsIDsCMSecond))
ResultsCMSecond.append(json.dumps(sumPerClassifierCMSecond))
ResultsCMSecond.append(json.dumps(parametersGenPDGMSecond))
ResultsCMSecond.append(json.dumps(metricsPerModelCMSecond))
ResultsCMSecond.append(json.dumps(XDataJSONEntireSet))
ResultsCMSecond.append(json.dumps(XDataColumns))
ResultsCMSecond.append(json.dumps(yData))
ResultsCMSecond.append(json.dumps(target_names))
ResultsCMSecond.append(json.dumps(AllTargets))
ResultsCMSecond.append(json.dumps(ModelSpaceMDSCMSecond))
ResultsCMSecond.append(json.dumps(ModelSpaceTSNECMSecond))
ResultsCMSecond.append(json.dumps(ModelSpaceUMAPCMSecond))
ResultsCMSecond.append(json.dumps(PredictionProbSelCMSecond))
ResultsCMSecond.append(json.dumps(names_labels))
ResultsCMSecond.append(json.dumps(yDataSorted))
return ResultsCMSecond
4 years ago
def PreprocessingPredSel(SelectedIDs):
global addKNN
global addLR
global addMLP
global addRF
global addGradB
numberIDKNN = []
numberIDLR = []
numberIDMLP = []
numberIDRF = []
numberIDGradB = []
4 years ago
for el in SelectedIDs:
match = re.match(r"([a-z]+)([0-9]+)", el, re.I)
if match:
items = match.groups()
4 years ago
if ((items[0] == "KNN") | (items[0] == "KNNC") | (items[0] == "KNNM") | (items[0] == "KNNCC") | (items[0] == "KNNCM") | (items[0] == "KNNMC") | (items[0] == "KNNMM")):
numberIDKNN.append(int(items[1]) - addKNN)
4 years ago
elif ((items[0] == "LR") | (items[0] == "LRC") | (items[0] == "LRM") | (items[0] == "LRCC") | (items[0] == "LRCM") | (items[0] == "LRMC") | (items[0] == "LRMM")):
numberIDLR.append(int(items[1]) - addLR)
4 years ago
elif ((items[0] == "MLP") | (items[0] == "MLPC") | (items[0] == "MLPM") | (items[0] == "MLPCC") | (items[0] == "MLPCM") | (items[0] == "MLPMC") | (items[0] == "MLPMM")):
numberIDMLP.append(int(items[1]) - addMLP)
4 years ago
elif ((items[0] == "RF") | (items[0] == "RFC") | (items[0] == "RFM") | (items[0] == "RFCC") | (items[0] == "RFCM") | (items[0] == "RFMC") | (items[0] == "RFMM")):
numberIDRF.append(int(items[1]) - addRF)
else:
numberIDGradB.append(int(items[1]) - addGradB)
dicKNN = allParametersPerformancePerModel[3]
dicLR = allParametersPerformancePerModel[7]
dicMLP = allParametersPerformancePerModel[11]
dicRF = allParametersPerformancePerModel[15]
dicGradB = allParametersPerformancePerModel[19]
dfKNN = pd.DataFrame.from_dict(dicKNN)
4 years ago
dfKNN = dfKNN.loc[numberIDKNN]
4 years ago
dfKNN.index += addKNN
dfLR = pd.DataFrame.from_dict(dicLR)
dfLR = dfLR.loc[numberIDLR]
4 years ago
dfLR.index += addLR
dfMLP = pd.DataFrame.from_dict(dicMLP)
dfMLP = dfMLP.loc[numberIDMLP]
4 years ago
dfMLP.index += addMLP
dfRF = pd.DataFrame.from_dict(dicRF)
4 years ago
dfRF = dfRF.loc[numberIDRF]
4 years ago
dfRF.index += addRF
dfGradB = pd.DataFrame.from_dict(dicGradB)
4 years ago
dfGradB = dfGradB.loc[numberIDGradB]
4 years ago
dfGradB.index += addGradB
df_concatProbs = pd.concat([dfKNN, dfLR, dfMLP, dfRF, dfGradB])
4 years ago
df_concatProbs = df_concatProbs.reset_index(drop=True)
predictionsKNN = []
for column, content in dfKNN.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictionsKNN.append(el)
predictionsLR = []
for column, content in dfLR.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictionsLR.append(el)
predictionsMLP = []
for column, content in dfMLP.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictionsMLP.append(el)
predictionsRF = []
for column, content in dfRF.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictionsRF.append(el)
predictionsGradB = []
for column, content in dfGradB.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictionsGradB.append(el)
predictions = []
for column, content in df_concatProbs.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictions.append(el)
4 years ago
global storeClass0
global storeClass1
global yDataSorted
firstElKNN = []
firstElLR = []
firstElMLP = []
firstElRF = []
firstElGradB = []
firstElPredAv = []
lastElKNN = []
lastElLR = []
lastElMLP = []
lastElRF = []
lastElGradB = []
lastElPredAv = []
yDataSortedFirst = []
yDataSortedLast = []
4 years ago
ResultsGatheredFirst = [0,0,0,0,0,0,0]
ResultsGatheredLast = [0,0,0,0,0,0,0]
4 years ago
for index, item in enumerate(yData):
4 years ago
if (item == 1):
if (len(predictionsKNN[index]) != 0):
firstElKNN.append(predictionsKNN[index][item]*100)
if (len(predictionsLR[index]) != 0):
firstElLR.append(predictionsLR[index][item]*100)
if (len(predictionsMLP[index]) != 0):
firstElMLP.append(predictionsMLP[index][item]*100)
if (len(predictionsRF[index]) != 0):
firstElRF.append(predictionsRF[index][item]*100)
if (len(predictionsGradB[index]) != 0):
firstElGradB.append(predictionsGradB[index][item]*100)
if (len(predictions[index]) != 0):
firstElPredAv.append(predictions[index][item]*100)
yDataSortedFirst.append(item)
else:
if (len(predictionsKNN[index]) != 0):
lastElKNN.append(predictionsKNN[index][item]*100)
if (len(predictionsLR[index]) != 0):
lastElLR.append(predictionsLR[index][item]*100)
if (len(predictionsMLP[index]) != 0):
lastElMLP.append(predictionsMLP[index][item]*100)
if (len(predictionsRF[index]) != 0):
lastElRF.append(predictionsRF[index][item]*100)
if (len(predictionsGradB[index]) != 0):
lastElGradB.append(predictionsGradB[index][item]*100)
if (len(predictions[index]) != 0):
lastElPredAv.append(predictions[index][item]*100)
yDataSortedLast.append(item)
predictions = firstElPredAv + lastElPredAv
predictionsKNN = firstElKNN + lastElKNN
predictionsLR = firstElLR + lastElLR
predictionsMLP = firstElMLP + lastElMLP
predictionsRF = firstElRF + lastElRF
predictionsGradB = firstElGradB + lastElGradB
yDataSorted = yDataSortedFirst + yDataSortedLast
4 years ago
if (storeClass0 > 169 and storeClass1 > 169):
yDataSortedFirst = []
yDataSortedLast = []
4 years ago
ResultsGatheredFirst = computeClusters(firstElPredAv,firstElKNN,firstElLR,firstElMLP,firstElRF,firstElGradB,3)
ResultsGatheredLast = computeClusters(lastElPredAv,lastElKNN,lastElLR,lastElMLP,lastElRF,lastElGradB,4)
4 years ago
for item in lastElPredAv:
yDataSortedFirst.append(0)
yDataSortedLast.append(0)
4 years ago
predictions = ResultsGatheredFirst[0] + ResultsGatheredLast[0]
predictionsKNN = ResultsGatheredFirst[1] + ResultsGatheredLast[1]
predictionsLR = ResultsGatheredFirst[2] + ResultsGatheredLast[2]
predictionsMLP = ResultsGatheredFirst[3] + ResultsGatheredLast[3]
predictionsRF = ResultsGatheredFirst[4] + ResultsGatheredLast[4]
predictionsGradB = ResultsGatheredFirst[5] + ResultsGatheredLast[5]
yDataSorted = yDataSortedFirst + yDataSortedLast
4 years ago
return [predictionsKNN, predictionsLR, predictionsMLP, predictionsRF, predictionsGradB, predictions, ResultsGatheredLast[6], ResultsGatheredFirst[6]]
@cross_origin(origin='localhost',headers=['Content-Type','Authorization'])
@app.route('/data/SendtoSeverSelIDs', methods=["GET", "POST"])
def RetrieveSelIDsPredict():
global ResultsSelPred
ResultsSelPred = []
RetrieveIDsSelection = request.get_data().decode('utf8').replace("'", '"')
RetrieveIDsSelection = json.loads(RetrieveIDsSelection)
RetrieveIDsSelection = RetrieveIDsSelection['predictSelectionIDs']
4 years ago
ResultsSelPred = PreprocessingPredSel(RetrieveIDsSelection)
return 'Everything Okay'
@app.route('/data/RetrievePredictions', methods=["GET", "POST"])
def SendPredictSel():
global ResultsSelPred
response = {
'PredictSel': ResultsSelPred
}
return jsonify(response)
def PreprocessingPredSelEnsem(SelectedIDsEnsem):
numberIDKNN = []
numberIDLR = []
numberIDMLP = []
numberIDRF = []
numberIDGradB = []
4 years ago
for el in SelectedIDsEnsem:
match = re.match(r"([a-z]+)([0-9]+)", el, re.I)
if match:
items = match.groups()
4 years ago
if ((items[0] == "KNN") | (items[0] == "KNNC") | (items[0] == "KNNM") | (items[0] == "KNNCC") | (items[0] == "KNNCM") | (items[0] == "KNNMC") | (items[0] == "KNNMM")):
numberIDKNN.append(int(items[1]))
4 years ago
elif ((items[0] == "LR") | (items[0] == "LRC") | (items[0] == "LRM") | (items[0] == "LRCC") | (items[0] == "LRCM") | (items[0] == "LRMC") | (items[0] == "LRMM")):
numberIDLR.append(int(items[1]))
4 years ago
elif ((items[0] == "MLP") | (items[0] == "MLPC") | (items[0] == "MLPM") | (items[0] == "MLPCC") | (items[0] == "MLPCM") | (items[0] == "MLPMC") | (items[0] == "MLPMM")):
4 years ago
numberIDMLP.append(int(items[1]))
4 years ago
elif ((items[0] == "RF") | (items[0] == "RFC") | (items[0] == "RFM") | (items[0] == "RFCC") | (items[0] == "RFCM") | (items[0] == "RFMC") | (items[0] == "RFMM")):
4 years ago
numberIDRF.append(int(items[1]))
else:
4 years ago
numberIDGradB.append(int(items[1]))
4 years ago
dicKNN = allParametersPerformancePerModelEnsem[3]
dicLR = allParametersPerformancePerModelEnsem[7]
dicMLP = allParametersPerformancePerModelEnsem[11]
dicRF = allParametersPerformancePerModelEnsem[15]
dicGradB = allParametersPerformancePerModelEnsem[19]
dfKNN = pd.DataFrame.from_dict(dicKNN)
dfLR = pd.DataFrame.from_dict(dicLR)
dfMLP = pd.DataFrame.from_dict(dicMLP)
dfRF = pd.DataFrame.from_dict(dicRF)
dfGradB = pd.DataFrame.from_dict(dicGradB)
df_concatProbs = pd.concat([dfKNN, dfLR, dfMLP, dfRF, dfGradB])
df_concatProbs = df_concatProbs.reset_index(drop=True)
dfKNN = df_concatProbs.loc[numberIDKNN]
dfLR = df_concatProbs.loc[numberIDLR]
dfMLP = df_concatProbs.loc[numberIDMLP]
dfRF = df_concatProbs.loc[numberIDRF]
dfGradB = df_concatProbs.loc[numberIDGradB]
4 years ago
df_concatProbs = pd.DataFrame()
df_concatProbs = df_concatProbs.iloc[0:0]
df_concatProbs = pd.concat([dfKNN, dfLR, dfMLP, dfRF, dfGradB])
4 years ago
predictionsKNN = []
for column, content in dfKNN.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictionsKNN.append(el)
predictionsLR = []
for column, content in dfLR.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictionsLR.append(el)
predictionsMLP = []
for column, content in dfMLP.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictionsMLP.append(el)
predictionsRF = []
for column, content in dfRF.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictionsRF.append(el)
predictionsGradB = []
for column, content in dfGradB.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictionsGradB.append(el)
4 years ago
predictions = []
for column, content in df_concatProbs.items():
el = [sum(x)/len(x) for x in zip(*content)]
predictions.append(el)
4 years ago
global storeClass0
global storeClass1
global yDataSorted
firstElKNN = []
firstElLR = []
firstElMLP = []
firstElRF = []
firstElGradB = []
firstElPredAv = []
lastElKNN = []
lastElLR = []
lastElMLP = []
lastElRF = []
lastElGradB = []
lastElPredAv = []
yDataSortedFirst = []
yDataSortedLast = []
4 years ago
ResultsGatheredFirst = [0,0,0,0,0,0,0]
ResultsGatheredLast = [0,0,0,0,0,0,0]
4 years ago
for index, item in enumerate(yData):
4 years ago
if (item == 1):
4 years ago
if (len(predictionsKNN[index]) != 0):
firstElKNN.append(predictionsKNN[index][item]*100)
if (len(predictionsLR[index]) != 0):
firstElLR.append(predictionsLR[index][item]*100)
if (len(predictionsMLP[index]) != 0):
firstElMLP.append(predictionsMLP[index][item]*100)
if (len(predictionsRF[index]) != 0):
firstElRF.append(predictionsRF[index][item]*100)
if (len(predictionsGradB[index]) != 0):
firstElGradB.append(predictionsGradB[index][item]*100)
if (len(predictions[index]) != 0):
firstElPredAv.append(predictions[index][item]*100)
yDataSortedFirst.append(item)
else:
if (len(predictionsKNN[index]) != 0):
lastElKNN.append(predictionsKNN[index][item]*100)
if (len(predictionsLR[index]) != 0):
lastElLR.append(predictionsLR[index][item]*100)
if (len(predictionsMLP[index]) != 0):
lastElMLP.append(predictionsMLP[index][item]*100)
if (len(predictionsRF[index]) != 0):
lastElRF.append(predictionsRF[index][item]*100)
if (len(predictionsGradB[index]) != 0):
lastElGradB.append(predictionsGradB[index][item]*100)
if (len(predictions[index]) != 0):
lastElPredAv.append(predictions[index][item]*100)
4 years ago
yDataSortedLast.append(item)
predictions = firstElPredAv + lastElPredAv
predictionsKNN = firstElKNN + lastElKNN
predictionsLR = firstElLR + lastElLR
predictionsMLP = firstElMLP + lastElMLP
predictionsRF = firstElRF + lastElRF
predictionsGradB = firstElGradB + lastElGradB
yDataSorted = yDataSortedFirst + yDataSortedLast
4 years ago
4 years ago
if (storeClass0 > 169 and storeClass1 > 169):
yDataSortedFirst = []
yDataSortedLast = []
4 years ago
ResultsGatheredFirst = computeClusters(firstElPredAv,firstElKNN,firstElLR,firstElMLP,firstElRF,firstElGradB,3)
ResultsGatheredLast = computeClusters(lastElPredAv,lastElKNN,lastElLR,lastElMLP,lastElRF,lastElGradB,4)
4 years ago
for item in lastElPredAv:
yDataSortedFirst.append(0)
yDataSortedLast.append(0)
4 years ago
predictions = ResultsGatheredFirst[0] + ResultsGatheredLast[0]
predictionsKNN = ResultsGatheredFirst[1] + ResultsGatheredLast[1]
predictionsLR = ResultsGatheredFirst[2] + ResultsGatheredLast[2]
predictionsMLP = ResultsGatheredFirst[3] + ResultsGatheredLast[3]
predictionsRF = ResultsGatheredFirst[4] + ResultsGatheredLast[4]
predictionsGradB = ResultsGatheredFirst[5] + ResultsGatheredLast[5]
yDataSorted = yDataSortedFirst + yDataSortedLast
4 years ago
4 years ago
return [predictionsKNN, predictionsLR, predictionsMLP, predictionsRF, predictionsGradB, predictions, ResultsGatheredLast[6], ResultsGatheredFirst[6]]
@cross_origin(origin='localhost',headers=['Content-Type','Authorization'])
@app.route('/data/SendtoSeverSelIDsEnsem', methods=["GET", "POST"])
def RetrieveSelIDsPredictEnsem():
global ResultsSelPredEnsem
ResultsSelPredEnsem = []
RetrieveIDsSelectionEnsem = request.get_data().decode('utf8').replace("'", '"')
RetrieveIDsSelectionEnsem = json.loads(RetrieveIDsSelectionEnsem)
RetrieveIDsSelectionEnsem = RetrieveIDsSelectionEnsem['predictSelectionIDsCM']
ResultsSelPredEnsem = PreprocessingPredSelEnsem(RetrieveIDsSelectionEnsem)
4 years ago
return 'Everything Okay'
@app.route('/data/RetrievePredictionsEnsem', methods=["GET", "POST"])
def SendPredictSelEnsem():
global ResultsSelPredEnsem
response = {
'PredictSelEnsem': ResultsSelPredEnsem
}
4 years ago
return jsonify(response)
@cross_origin(origin='localhost',headers=['Content-Type','Authorization'])
@app.route('/data/ServerRequestSelPoin', methods=["GET", "POST"])
def RetrieveSelClassifiersID():
global EnsembleActive
4 years ago
ClassifierIDsList = request.get_data().decode('utf8').replace("'", '"')
#ComputeMetricsForSel(ClassifierIDsList)
ClassifierIDCleaned = json.loads(ClassifierIDsList)
ClassifierIDCleaned = ClassifierIDCleaned['ClassifiersList']
4 years ago
EnsembleActive = []
EnsembleActive = ClassifierIDCleaned.copy()
EnsembleIDs()
4 years ago
EnsembleModel(ClassifierIDsList, 1)
4 years ago
return 'Everything Okay'
@cross_origin(origin='localhost',headers=['Content-Type','Authorization'])
@app.route('/data/ServerRemoveFromEnsemble', methods=["GET", "POST"])
def RetrieveSelClassifiersIDandRemoveFromEnsemble():
global EnsembleActive
ClassifierIDsList = request.get_data().decode('utf8').replace("'", '"')
ClassifierIDsList = json.loads(ClassifierIDsList)
ClassifierIDsListCleaned = ClassifierIDsList['ClassifiersList']
4 years ago
4 years ago
EnsembleActive = []
EnsembleActive = ClassifierIDsListCleaned.copy()
4 years ago
return 'Everything Okay'