diff --git a/__pycache__/run.cpython-37.pyc b/__pycache__/run.cpython-37.pyc index 0d0359d..c474586 100644 Binary files a/__pycache__/run.cpython-37.pyc and b/__pycache__/run.cpython-37.pyc differ diff --git a/cachedir/joblib/run/randomSearch/15c1a1c6505bfd383b2231a984466199/output.pkl b/cachedir/joblib/run/randomSearch/15c1a1c6505bfd383b2231a984466199/output.pkl new file mode 100644 index 0000000..b7cea4b Binary files /dev/null and b/cachedir/joblib/run/randomSearch/15c1a1c6505bfd383b2231a984466199/output.pkl differ diff --git a/cachedir/joblib/run/randomSearch/9d85ea1f37edb91533a828737a6caa01/metadata.json b/cachedir/joblib/run/randomSearch/9d85ea1f37edb91533a828737a6caa01/metadata.json new file mode 100644 index 0000000..c8b395d --- /dev/null +++ b/cachedir/joblib/run/randomSearch/9d85ea1f37edb91533a828737a6caa01/metadata.json @@ -0,0 +1 @@ +{"duration": 12.543240070343018, "input_args": {"XData": " sepal_l sepal_w petal_l petal_w\n0 6.3 3.3 6.0 2.5\n1 7.1 3.0 5.9 2.1\n2 5.8 2.7 5.1 1.9\n3 6.3 2.9 5.6 1.8\n4 7.6 3.0 6.6 2.1\n.. ... ... ... ...\n145 5.1 3.8 1.6 0.2\n146 5.0 3.5 1.6 0.6\n147 5.1 3.4 1.5 0.2\n148 4.6 3.2 1.4 0.2\n149 4.8 3.0 1.4 0.3\n\n[150 rows x 4 columns]", "yData": "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2]", "clf": "KNeighborsClassifier(algorithm='ball_tree', leaf_size=30, metric='minkowski',\n metric_params=None, n_jobs=None, n_neighbors=82, p=2,\n weights='uniform')", "params": "{'n_neighbors': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], 'metric': ['chebyshev', 'manhattan', 'euclidean', 'minkowski'], 'algorithm': ['brute', 'kd_tree', 'ball_tree'], 'weights': ['uniform', 'distance']}", "eachAlgor": "'KNN'", "AlgorithmsIDsEnd": "0"}} \ No newline at end of file diff --git a/cachedir/joblib/run/randomSearch/b05bc4dd718bb370a35dbc60bdff86aa/output.pkl b/cachedir/joblib/run/randomSearch/b05bc4dd718bb370a35dbc60bdff86aa/output.pkl new file mode 100644 index 0000000..3fef668 Binary files /dev/null and b/cachedir/joblib/run/randomSearch/b05bc4dd718bb370a35dbc60bdff86aa/output.pkl differ diff --git a/cachedir/joblib/run/randomSearch/eb45ad56de8e367dade6cb77617a3d36/metadata.json b/cachedir/joblib/run/randomSearch/eb45ad56de8e367dade6cb77617a3d36/metadata.json new file mode 100644 index 0000000..5cc0868 --- /dev/null +++ b/cachedir/joblib/run/randomSearch/eb45ad56de8e367dade6cb77617a3d36/metadata.json @@ -0,0 +1 @@ +{"duration": 19.771310806274414, "input_args": {"XData": " sepal_l sepal_w petal_l petal_w\n0 6.3 3.3 6.0 2.5\n1 7.1 3.0 5.9 2.1\n2 5.8 2.7 5.1 1.9\n3 6.3 2.9 5.6 1.8\n4 7.6 3.0 6.6 2.1\n.. ... ... ... ...\n145 5.1 3.8 1.6 0.2\n146 5.0 3.5 1.6 0.6\n147 5.1 3.4 1.5 0.2\n148 4.6 3.2 1.4 0.2\n149 4.8 3.0 1.4 0.3\n\n[150 rows x 4 columns]", "yData": "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2]", "clf": "LogisticRegression(C=64, class_weight=None, dual=False, fit_intercept=True,\n intercept_scaling=1, l1_ratio=None, max_iter=300,\n multi_class='auto', n_jobs=None, penalty='none',\n random_state=42, solver='newton-cg', tol=0.0001, verbose=0,\n warm_start=False)", "params": "{'C': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], 'max_iter': [50, 100, 150, 200, 250, 300, 350, 400, 450], 'solver': ['lbfgs', 'newton-cg', 'sag', 'saga'], 'penalty': ['l2', 'none']}", "eachAlgor": "'LR'", "AlgorithmsIDsEnd": "100"}} \ No newline at end of file diff --git a/frontend/src/components/CrossoverMutationSpace.vue b/frontend/src/components/Ensemble.vue similarity index 88% rename from frontend/src/components/CrossoverMutationSpace.vue rename to frontend/src/components/Ensemble.vue index 3d5d43e..a6e2fc0 100644 --- a/frontend/src/components/CrossoverMutationSpace.vue +++ b/frontend/src/components/Ensemble.vue @@ -10,7 +10,7 @@ Action: @@ -28,13 +28,14 @@ import { EventBus } from '../main.js' const d3 = Object.assign(d3Base) export default { - name: 'CrossoverMutationSpace', + name: 'Ensemble', data () { return { - CrossoverMutateText: 'Unselected points\' crossover & mutation', + CrossoverMutateText: 'Remove unselected points from ensemble', WH: [], ScatterPlotResults: '', representationDef: 'mdsCM', + storeEnsembleLoc: [], } }, methods: { @@ -66,6 +67,21 @@ export default { var TSNEData = JSON.parse(this.ScatterPlotResults[10]) var UMAPData = JSON.parse(this.ScatterPlotResults[11]) + var mergedStoreEnsembleLoc = [].concat.apply([], this.storeEnsembleLoc) + var mergedStoreEnsembleLocFormatted = [] + for (let i = 0; i < mergedStoreEnsembleLoc.length; i++) { + mergedStoreEnsembleLocFormatted.push(parseInt(mergedStoreEnsembleLoc[i].replace(/\D/g,''))) + } + + modelId = mergedStoreEnsembleLocFormatted.map((item) => modelId[item]) + colorsforScatterPlot = mergedStoreEnsembleLocFormatted.map((item) => colorsforScatterPlot[item]) + parameters = mergedStoreEnsembleLocFormatted.map((item) => parameters[item]) + MDSData[0] = mergedStoreEnsembleLocFormatted.map((item) => MDSData[0][item]) + MDSData[1] = mergedStoreEnsembleLocFormatted.map((item) => MDSData[1][item]) + TSNEData = mergedStoreEnsembleLocFormatted.map((item) => TSNEData[item]) + UMAPData[0] = mergedStoreEnsembleLocFormatted.map((item) => UMAPData[0][item]) + UMAPData[1] = mergedStoreEnsembleLocFormatted.map((item) => UMAPData[1][item]) + EventBus.$emit('sendPointsNumberCM', modelId.length) var stringParameters = [] @@ -295,6 +311,8 @@ export default { }, }, mounted() { + EventBus.$on('SendStoredEnsemble', data => { this.storeEnsembleLoc = data }) + EventBus.$on('emittedEventCallingCrossoverMutation', data => { this.ScatterPlotResults = data}) EventBus.$on('emittedEventCallingCrossoverMutation', this.ScatterPlotView) diff --git a/frontend/src/components/HyperParameterSpace.vue b/frontend/src/components/HyperParameterSpace.vue index 0c598de..8659a71 100644 --- a/frontend/src/components/HyperParameterSpace.vue +++ b/frontend/src/components/HyperParameterSpace.vue @@ -31,7 +31,7 @@ export default { name: 'HyperParameterSpace', data () { return { - CrossoverMutateText: 'Unselected points\' crossover & mutation', + CrossoverMutateText: 'Crossover and mutate unselected points', WH: [], ScatterPlotResults: '', representationDef: 'mds', @@ -287,9 +287,9 @@ export default { pushModelsRemainingTemp.push(allModels[i]) } } - EventBus.$emit('RemainingPoints', pushModelsRemainingTemp) - EventBus.$emit('SendSelectedPointsUpdateIndicator', ClassifierIDsList) - EventBus.$emit('SendSelectedPointsToServerEvent', ClassifierIDsList) + EventBus.$emit('RemainingPoints', pushModelsRemainingTemp) + EventBus.$emit('SendSelectedPointsUpdateIndicator', ClassifierIDsList) + EventBus.$emit('SendSelectedPointsToServerEvent', ClassifierIDsList) } }) }, diff --git a/frontend/src/components/Main.vue b/frontend/src/components/Main.vue index 49889c2..43d33c5 100755 --- a/frontend/src/components/Main.vue +++ b/frontend/src/components/Main.vue @@ -26,7 +26,7 @@ - Majority Voting Results + Majority-Voting Results @@ -118,33 +118,33 @@ - Hyper-parameters' Space + Hyper-Parameters' Space [Sel: {{OverSelLength}} / All: {{OverAllLength}}] - - - - - - - - - - - Crossover and Mutation - [Sel: {{OverSelLengthCM}} / All: {{OverAllLengthCM}}] - + + + + Majority-Voting Ensemble + [Sel: {{OverSelLengthCM}} / All: {{OverAllLengthCM}}] + + + + + + + + - + - Predictions' Space + Hyper-Parameters Predictions @@ -153,9 +153,18 @@ + + + Majority-Voting Ensemble Predictions + + + + + + + + - - @@ -168,10 +177,11 @@ import PerformanceMetrics from './PerformanceMetrics.vue' import Algorithms from './Algorithms.vue' import AlgorithmHyperParam from './AlgorithmHyperParam.vue' import HyperParameterSpace from './HyperParameterSpace.vue' -import CrossoverMutationSpace from './CrossoverMutationSpace.vue' +import Ensemble from './Ensemble.vue' import VotingResults from './VotingResults.vue' import Parameters from './Parameters.vue' import Predictions from './Predictions.vue' +import PredictionsCM from './PredictionsCM.vue' import axios from 'axios' import { loadProgressBar } from 'axios-progress-bar' import 'axios-progress-bar/dist/nprogress.css' @@ -194,9 +204,10 @@ export default Vue.extend({ Algorithms, AlgorithmHyperParam, HyperParameterSpace, - CrossoverMutationSpace, + Ensemble, Parameters, Predictions, + PredictionsCM, VotingResults, mdbCard, mdbCardBody, @@ -205,6 +216,8 @@ export default Vue.extend({ }, data () { return { + storeEnsemble: [], + firstTimeExec: true, unselectedRemainingPoints: [], Collection: 0, OverviewResults: 0, @@ -302,10 +315,17 @@ export default Vue.extend({ .then(response => { this.OverviewResults = response.data.OverviewResults console.log('Server successfully sent all the data related to visualizations!') - EventBus.$emit('emittedEventCallingScatterPlot', this.OverviewResults) - EventBus.$emit('emittedEventCallingGrid', this.OverviewResults) - EventBus.$emit('emittedEventCallingGridSelection', this.OverviewResults) - //this.getFinalResults() + if (this.firstTimeExec) { + EventBus.$emit('emittedEventCallingScatterPlot', this.OverviewResults) + EventBus.$emit('emittedEventCallingGrid', this.OverviewResults) + EventBus.$emit('emittedEventCallingGridSelection', this.OverviewResults) + this.firstTimeExec = false + } else { + EventBus.$emit('emittedEventCallingCrossoverMutation', this.OverviewResults) + EventBus.$emit('emittedEventCallingGridCrossoverMutation', this.OverviewResults) + EventBus.$emit('emittedEventCallingGridSelectionGridCrossoverMutation', this.OverviewResults) + //this.getFinalResults() + } }) .catch(error => { console.log(error) @@ -326,7 +346,9 @@ export default Vue.extend({ .then(response => { this.OverviewResultsCM = response.data.OverviewResultsCM console.log('Server successfully sent all the data related to visualizations!') - EventBus.$emit('emittedEventCallingCrossoverMutation', this.OverviewResultsCM) + EventBus.$emit('emittedEventCallingScatterPlot', this.OverviewResultsCM) + EventBus.$emit('emittedEventCallingGrid', this.OverviewResultsCM) + EventBus.$emit('emittedEventCallingGridSelection', this.OverviewResultsCM) //this.getFinalResults() }) .catch(error => { @@ -795,7 +817,9 @@ export default Vue.extend({ }, sendPointsCrossMutat () { const path = `http://127.0.0.1:5000/data/CrossoverMutation` - + + EventBus.$emit('SendStoredEnsemble', this.storeEnsemble) + const postData = { RemainingPoints: this.unselectedRemainingPoints } @@ -863,7 +887,7 @@ export default Vue.extend({ EventBus.$on('InitializeCrossoverMutation', this.sendPointsCrossMutat) EventBus.$on('ChangeKey', data => { this.keyNow = data }) - EventBus.$on('SendSelectedPointsUpdateIndicator', data => { this.ClassifierIDsList = data }) + EventBus.$on('SendSelectedPointsUpdateIndicator', data => { this.ClassifierIDsList = data; this.storeEnsemble.push(this.ClassifierIDsList)}) EventBus.$on('SendSelectedPointsUpdateIndicator', this.SelectedPoints) EventBus.$on('sendToServerSelectedScatter', this.SendSelectedPointsToServer) diff --git a/frontend/src/components/Predictions.vue b/frontend/src/components/Predictions.vue index 248e02c..5747f07 100644 --- a/frontend/src/components/Predictions.vue +++ b/frontend/src/components/Predictions.vue @@ -127,7 +127,7 @@ export default { // === Set up canvas === // - var width = 2500, + var width = 1200, height = 125; var colourScale; @@ -147,7 +147,7 @@ export default { // settings for a grid with 40 cells in a row and 2x5 cells in a group var groupSpacing = 60; var cellSpacing = 2; - var cellSize = Math.floor((width - 11 * groupSpacing) / (15.2*sqrtSize)) - cellSpacing; + var cellSize = Math.floor((width - 1 * groupSpacing) / (10 * sqrtSize)) - cellSpacing; // === First call === // databind(classStore, size, sqrtSize); // ...then update the databind function @@ -327,7 +327,7 @@ export default { var classStore = [].concat.apply([], classArray); // === Set up canvas === // - var width = 2500, + var width = 1200, height = 125; var colourScale; @@ -347,7 +347,7 @@ export default { // settings for a grid with 40 cells in a row and 2x5 cells in a group var groupSpacing = 60; var cellSpacing = 2; - var cellSize = Math.floor((width - 11 * groupSpacing) / (15.2*sqrtSize)) - cellSpacing; + var cellSize = Math.floor((width - 1 * groupSpacing) / (10 * sqrtSize)) - cellSpacing; // === First call === // databind(classStore, size, sqrtSize); // ...then update the databind function diff --git a/frontend/src/components/PredictionsCM.vue b/frontend/src/components/PredictionsCM.vue new file mode 100644 index 0000000..3a40f80 --- /dev/null +++ b/frontend/src/components/PredictionsCM.vue @@ -0,0 +1,455 @@ + + + + + + \ No newline at end of file diff --git a/frontend/src/main.js b/frontend/src/main.js index 922450f..65716fb 100755 --- a/frontend/src/main.js +++ b/frontend/src/main.js @@ -6,10 +6,10 @@ import 'bootstrap-vue/dist/bootstrap-vue.css' import router from './router' import { library } from '@fortawesome/fontawesome-svg-core' import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome' -import { faDna, faSearch, faTrash} from '@fortawesome/free-solid-svg-icons' +import { faDna, faEraser, faSearch, faTrash} from '@fortawesome/free-solid-svg-icons' import bFormSlider from 'vue-bootstrap-slider' -library.add(faDna, faSearch, faTrash) +library.add(faDna, faEraser, faSearch, faTrash) Vue.component('font-awesome-icon', FontAwesomeIcon) diff --git a/run.py b/run.py index 268e583..a23f385 100644 --- a/run.py +++ b/run.py @@ -788,6 +788,7 @@ def returnResults(ModelSpaceMDS,ModelSpaceTSNE,ModelSpaceUMAP,PredictionProbSel) Results.append(json.dumps(ModelSpaceTSNE)) Results.append(json.dumps(ModelSpaceUMAP)) Results.append(json.dumps(PredictionProbSel)) + print('mpike') return Results @@ -816,7 +817,7 @@ def CrossoverMutateFun(): countKNN = 0 countLR = 0 - setMaxLoopValue = 50 + setMaxLoopValue = 5 paramAllAlgs = PreprocessingParam() KNNIntIndex = [] LRIntIndex = [] @@ -887,7 +888,7 @@ def CrossoverMutateFun(): 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 = 250 + countKNN + AlgorithmsIDsEnd = 205 + countKNN localCrossMutr = crossoverMutation(XData, yData, clf, params, 'KNN', AlgorithmsIDsEnd) countKNN += 1 crossoverDF = pd.DataFrame() @@ -926,7 +927,7 @@ def CrossoverMutateFun(): 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 = 300 + countLR + AlgorithmsIDsEnd = 210 + countLR localCrossMutr = crossoverMutation(XData, yData, clf, params, 'LR', AlgorithmsIDsEnd) countLR += 1 crossoverDF = pd.DataFrame() @@ -971,7 +972,7 @@ def CrossoverMutateFun(): 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 = 350 + countLR + AlgorithmsIDsEnd = 215 + countLR localCrossMutr = crossoverMutation(XData, yData, clf, params, 'LR', AlgorithmsIDsEnd) countLR += 1 crossoverDF = pd.DataFrame() @@ -991,23 +992,48 @@ def CrossoverMutateFun(): allParametersPerfCrossMutr = allParametersPerfCrossMutrKNNC + allParametersPerfCrossMutrKNNM + allParametersPerfCrossMutrLRC + allParametersPerfCrossMutrLRM - KNNIntIndex = [] - for dr in KNNIDs: - KNNIntIndex.append(int(re.findall('\d+', dr)[0])) + 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) + + 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[0] = [j for i, j in enumerate(allParametersPerformancePerModel[0]) if i not in KNNIntIndex] - allParametersPerformancePerModel[1].drop(allParametersPerformancePerModel[1].index[KNNIntIndex], inplace=True) - allParametersPerformancePerModel[2].drop(allParametersPerformancePerModel[2].index[KNNIntIndex], inplace=True) - allParametersPerformancePerModel[3].drop(allParametersPerformancePerModel[3].index[KNNIntIndex], inplace=True) + print(allParametersPerformancePerModel[7]) - LRIntIndex = [] - for dr in LRIDs: - LRIntIndex.append(int(re.findall('\d+', dr)[0]) - 100) + # KNNIntIndex = [] + # for dr in KNNIDs: + # KNNIntIndex.append(int(re.findall('\d+', dr)[0])) + + # allParametersPerformancePerModel[0] = [j for i, j in enumerate(allParametersPerformancePerModel[0]) if i not in KNNIntIndex] + # allParametersPerformancePerModel[1].drop(allParametersPerformancePerModel[1].index[KNNIntIndex], inplace=True) + # allParametersPerformancePerModel[2].drop(allParametersPerformancePerModel[2].index[KNNIntIndex], inplace=True) + # allParametersPerformancePerModel[3].drop(allParametersPerformancePerModel[3].index[KNNIntIndex], inplace=True) + + # LRIntIndex = [] + # for dr in LRIDs: + # LRIntIndex.append(int(re.findall('\d+', dr)[0]) - 100) - allParametersPerformancePerModel[4] = [j for i, j in enumerate(allParametersPerformancePerModel[4]) if i not in LRIntIndex] - allParametersPerformancePerModel[5].drop(allParametersPerformancePerModel[5].index[LRIntIndex], inplace=True) - allParametersPerformancePerModel[6].drop(allParametersPerformancePerModel[6].index[LRIntIndex], inplace=True) - allParametersPerformancePerModel[7].drop(allParametersPerformancePerModel[7].index[LRIntIndex], inplace=True) + # allParametersPerformancePerModel[4] = [j for i, j in enumerate(allParametersPerformancePerModel[4]) if i not in LRIntIndex] + # allParametersPerformancePerModel[5].drop(allParametersPerformancePerModel[5].index[LRIntIndex], inplace=True) + # allParametersPerformancePerModel[6].drop(allParametersPerformancePerModel[6].index[LRIntIndex], inplace=True) + # allParametersPerformancePerModel[7].drop(allParametersPerformancePerModel[7].index[LRIntIndex], inplace=True) return 'Everything Okay'