diff --git a/__pycache__/run.cpython-37.pyc b/__pycache__/run.cpython-37.pyc index d683824..a50003b 100644 Binary files a/__pycache__/run.cpython-37.pyc and b/__pycache__/run.cpython-37.pyc differ diff --git a/cachedir/joblib/run/randomSearch/131a748ed0f5d243f0ea93c7de3fa285/output.pkl b/cachedir/joblib/run/randomSearch/131a748ed0f5d243f0ea93c7de3fa285/output.pkl deleted file mode 100644 index 3e05881..0000000 Binary files a/cachedir/joblib/run/randomSearch/131a748ed0f5d243f0ea93c7de3fa285/output.pkl and /dev/null differ diff --git a/cachedir/joblib/run/randomSearch/1c55d588f2a725cacd0db75efbba66db/output.pkl b/cachedir/joblib/run/randomSearch/1c55d588f2a725cacd0db75efbba66db/output.pkl index 9e4eed3..79883cb 100644 Binary files a/cachedir/joblib/run/randomSearch/1c55d588f2a725cacd0db75efbba66db/output.pkl and b/cachedir/joblib/run/randomSearch/1c55d588f2a725cacd0db75efbba66db/output.pkl differ diff --git a/cachedir/joblib/run/randomSearch/2352a49cf5a0ab5a678f59beb67dccd8/metadata.json b/cachedir/joblib/run/randomSearch/2352a49cf5a0ab5a678f59beb67dccd8/metadata.json deleted file mode 100644 index da4030e..0000000 --- a/cachedir/joblib/run/randomSearch/2352a49cf5a0ab5a678f59beb67dccd8/metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"duration": 236.167307138443, "input_args": {"XData": " Fbs Slope Trestbps Exang Thalach Age Chol Sex Oldpeak Restecg Cp Ca Thal\n0 1 0 145 0 150 63 233 1 2.3 0 3 0 1\n1 0 0 130 0 187 37 250 1 3.5 1 2 0 2\n2 0 2 130 0 172 41 204 0 1.4 0 1 0 2\n3 0 2 120 0 178 56 236 1 0.8 1 1 0 2\n4 0 2 120 1 163 57 354 0 0.6 1 0 0 2\n.. ... ... ... ... ... ... ... ... ... ... .. .. ...\n298 0 1 140 1 123 57 241 0 0.2 1 0 0 3\n299 0 1 110 0 132 45 264 1 1.2 1 3 0 3\n300 1 1 144 0 141 68 193 1 3.4 1 0 2 3\n301 0 1 130 1 115 57 131 1 1.2 1 0 1 3\n302 0 1 130 0 174 57 236 0 0.0 0 1 1 2\n\n[303 rows x 13 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, 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, 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, 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, 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, 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]", "clf": "MLPClassifier(alpha=0.00021, hidden_layer_sizes=(113, 2), max_iter=100,\n random_state=42, solver='sgd', tol=0.00041000000000000005)", "params": "{'hidden_layer_sizes': [(60, 2), (61, 1), (62, 2), (63, 3), (64, 3), (65, 1), (66, 2), (67, 2), (68, 1), (69, 2), (70, 2), (71, 3), (72, 2), (73, 3), (74, 2), (75, 1), (76, 2), (77, 2), (78, 1), (79, 3), (80, 1), (81, 3), (82, 3), (83, 1), (84, 2), (85, 1), (86, 1), (87, 2), (88, 3), (89, 2), (90, 2), (91, 3), (92, 1), (93, 1), (94, 1), (95, 1), (96, 2), (97, 1), (98, 3), (99, 2), (100, 1), (101, 3), (102, 1), (103, 3), (104, 3), (105, 1), (106, 1), (107, 1), (108, 3), (109, 1), (110, 1), (111, 3), (112, 2), (113, 2), (114, 1), (115, 2), (116, 2), (117, 3), (118, 3), (119, 2)], 'alpha': [1e-05, 0.00021, 0.00041000000000000005, 0.0006100000000000001, 0.0008100000000000001], 'tol': [1e-05, 0.00041000000000000005, 0.0008100000000000001], 'max_iter': [100], 'activation': ['relu', 'identity', 'logistic', 'tanh'], 'solver': ['adam', 'sgd']}", "eachAlgor": "'MLP'", "AlgorithmsIDsEnd": "200"}} \ No newline at end of file diff --git a/cachedir/joblib/run/randomSearch/5b038325dd2fce24b03707e069cb9fec/output.pkl b/cachedir/joblib/run/randomSearch/5b038325dd2fce24b03707e069cb9fec/output.pkl index 2f2f517..d7a2493 100644 Binary files a/cachedir/joblib/run/randomSearch/5b038325dd2fce24b03707e069cb9fec/output.pkl and b/cachedir/joblib/run/randomSearch/5b038325dd2fce24b03707e069cb9fec/output.pkl differ diff --git a/cachedir/joblib/run/randomSearch/b98f265999a3c97fed12501473ee4ad9/metadata.json b/cachedir/joblib/run/randomSearch/72f7fa02379dfc92d4c664b6c36e5abb/metadata.json similarity index 69% rename from cachedir/joblib/run/randomSearch/b98f265999a3c97fed12501473ee4ad9/metadata.json rename to cachedir/joblib/run/randomSearch/72f7fa02379dfc92d4c664b6c36e5abb/metadata.json index c18314c..7986275 100644 --- a/cachedir/joblib/run/randomSearch/b98f265999a3c97fed12501473ee4ad9/metadata.json +++ b/cachedir/joblib/run/randomSearch/72f7fa02379dfc92d4c664b6c36e5abb/metadata.json @@ -1 +1 @@ -{"duration": 23.21109628677368, "input_args": {"XData": " Fbs Slope Trestbps Exang Thalach Age Chol Sex Oldpeak Restecg Cp Ca Thal\n0 1 0 145 0 150 63 233 1 2.3 0 3 0 1\n1 0 0 130 0 187 37 250 1 3.5 1 2 0 2\n2 0 2 130 0 172 41 204 0 1.4 0 1 0 2\n3 0 2 120 0 178 56 236 1 0.8 1 1 0 2\n4 0 2 120 1 163 57 354 0 0.6 1 0 0 2\n.. ... ... ... ... ... ... ... ... ... ... .. .. ...\n298 0 1 140 1 123 57 241 0 0.2 1 0 0 3\n299 0 1 110 0 132 45 264 1 1.2 1 3 0 3\n300 1 1 144 0 141 68 193 1 3.4 1 0 2 3\n301 0 1 130 1 115 57 131 1 1.2 1 0 1 3\n302 0 1 130 0 174 57 236 0 0.0 0 1 1 2\n\n[303 rows x 13 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, 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, 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, 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, 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, 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]", "clf": "KNeighborsClassifier(algorithm='ball_tree', metric='manhattan', n_neighbors=57,\n weights='distance')", "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 +{"duration": 329.0160319805145, "input_args": {"XData": " Fbs Slope Trestbps Exang Thalach Age Chol Sex Oldpeak Restecg Cp Ca Thal\n0 1 0 145 0 150 63 233 1 2.3 0 3 0 1\n1 0 0 130 0 187 37 250 1 3.5 1 2 0 2\n2 0 2 130 0 172 41 204 0 1.4 0 1 0 2\n3 0 2 120 0 178 56 236 1 0.8 1 1 0 2\n4 0 2 120 1 163 57 354 0 0.6 1 0 0 2\n.. ... ... ... ... ... ... ... ... ... ... .. .. ...\n298 0 1 140 1 123 57 241 0 0.2 1 0 0 3\n299 0 1 110 0 132 45 264 1 1.2 1 3 0 3\n300 1 1 144 0 141 68 193 1 3.4 1 0 2 3\n301 0 1 130 1 115 57 131 1 1.2 1 0 1 3\n302 0 1 130 0 174 57 236 0 0.0 0 1 1 2\n\n[303 rows x 13 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, 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, 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, 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, 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, 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]", "clf": "GradientBoostingClassifier(criterion='mse', learning_rate=0.01, n_estimators=82,\n random_state=42)", "params": "{'n_estimators': [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], 'learning_rate': [0.01, 0.12], 'criterion': ['friedman_mse', 'mse', 'mae']}", "eachAlgor": "'GradB'", "AlgorithmsIDsEnd": "400"}} \ No newline at end of file diff --git a/cachedir/joblib/run/randomSearch/7b7c4f46bd8bbecee35ec82369081165/metadata.json b/cachedir/joblib/run/randomSearch/7b7c4f46bd8bbecee35ec82369081165/metadata.json new file mode 100644 index 0000000..9d67ee4 --- /dev/null +++ b/cachedir/joblib/run/randomSearch/7b7c4f46bd8bbecee35ec82369081165/metadata.json @@ -0,0 +1 @@ +{"duration": 262.5104908943176, "input_args": {"XData": " Fbs Slope Trestbps Exang Thalach Age Chol Sex Oldpeak Restecg Cp Ca Thal\n0 1 0 145 0 150 63 233 1 2.3 0 3 0 1\n1 0 0 130 0 187 37 250 1 3.5 1 2 0 2\n2 0 2 130 0 172 41 204 0 1.4 0 1 0 2\n3 0 2 120 0 178 56 236 1 0.8 1 1 0 2\n4 0 2 120 1 163 57 354 0 0.6 1 0 0 2\n.. ... ... ... ... ... ... ... ... ... ... .. .. ...\n298 0 1 140 1 123 57 241 0 0.2 1 0 0 3\n299 0 1 110 0 132 45 264 1 1.2 1 3 0 3\n300 1 1 144 0 141 68 193 1 3.4 1 0 2 3\n301 0 1 130 1 115 57 131 1 1.2 1 0 1 3\n302 0 1 130 0 174 57 236 0 0.0 0 1 1 2\n\n[303 rows x 13 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, 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, 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, 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, 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, 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]", "clf": "RandomForestClassifier(criterion='entropy', n_estimators=96, random_state=42)", "params": "{'n_estimators': [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], 'criterion': ['gini', 'entropy']}", "eachAlgor": "'RF'", "AlgorithmsIDsEnd": "300"}} \ No newline at end of file diff --git a/cachedir/joblib/run/randomSearch/3bfe6241c2282886a18ee92b0a21e56a/metadata.json b/cachedir/joblib/run/randomSearch/9536a6cfa3884d632815dbf101fc6cc0/metadata.json similarity index 70% rename from cachedir/joblib/run/randomSearch/3bfe6241c2282886a18ee92b0a21e56a/metadata.json rename to cachedir/joblib/run/randomSearch/9536a6cfa3884d632815dbf101fc6cc0/metadata.json index f6cf5cf..a9feff5 100644 --- a/cachedir/joblib/run/randomSearch/3bfe6241c2282886a18ee92b0a21e56a/metadata.json +++ b/cachedir/joblib/run/randomSearch/9536a6cfa3884d632815dbf101fc6cc0/metadata.json @@ -1 +1 @@ -{"duration": 167.10102701187134, "input_args": {"XData": " Fbs Slope Trestbps Exang Thalach Age Chol Sex Oldpeak Restecg Cp Ca Thal\n0 1 0 145 0 150 63 233 1 2.3 0 3 0 1\n1 0 0 130 0 187 37 250 1 3.5 1 2 0 2\n2 0 2 130 0 172 41 204 0 1.4 0 1 0 2\n3 0 2 120 0 178 56 236 1 0.8 1 1 0 2\n4 0 2 120 1 163 57 354 0 0.6 1 0 0 2\n.. ... ... ... ... ... ... ... ... ... ... .. .. ...\n298 0 1 140 1 123 57 241 0 0.2 1 0 0 3\n299 0 1 110 0 132 45 264 1 1.2 1 3 0 3\n300 1 1 144 0 141 68 193 1 3.4 1 0 2 3\n301 0 1 130 1 115 57 131 1 1.2 1 0 1 3\n302 0 1 130 0 174 57 236 0 0.0 0 1 1 2\n\n[303 rows x 13 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, 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, 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, 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, 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, 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]", "clf": "GradientBoostingClassifier(criterion='mse', learning_rate=0.12, n_estimators=80,\n random_state=42)", "params": "{'n_estimators': [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], 'learning_rate': [0.01, 0.12], 'criterion': ['friedman_mse', 'mse', 'mae']}", "eachAlgor": "'GradB'", "AlgorithmsIDsEnd": "400"}} \ No newline at end of file +{"duration": 22.592421054840088, "input_args": {"XData": " Fbs Slope Trestbps Exang Thalach Age Chol Sex Oldpeak Restecg Cp Ca Thal\n0 1 0 145 0 150 63 233 1 2.3 0 3 0 1\n1 0 0 130 0 187 37 250 1 3.5 1 2 0 2\n2 0 2 130 0 172 41 204 0 1.4 0 1 0 2\n3 0 2 120 0 178 56 236 1 0.8 1 1 0 2\n4 0 2 120 1 163 57 354 0 0.6 1 0 0 2\n.. ... ... ... ... ... ... ... ... ... ... .. .. ...\n298 0 1 140 1 123 57 241 0 0.2 1 0 0 3\n299 0 1 110 0 132 45 264 1 1.2 1 3 0 3\n300 1 1 144 0 141 68 193 1 3.4 1 0 2 3\n301 0 1 130 1 115 57 131 1 1.2 1 0 1 3\n302 0 1 130 0 174 57 236 0 0.0 0 1 1 2\n\n[303 rows x 13 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, 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, 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, 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, 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, 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]", "clf": "KNeighborsClassifier(algorithm='ball_tree', metric='chebyshev', n_neighbors=66)", "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/91850793f313e4662612999c3cc3d96d/metadata.json b/cachedir/joblib/run/randomSearch/a72b281c2de36e337e70607faf20f922/metadata.json similarity index 63% rename from cachedir/joblib/run/randomSearch/91850793f313e4662612999c3cc3d96d/metadata.json rename to cachedir/joblib/run/randomSearch/a72b281c2de36e337e70607faf20f922/metadata.json index 0f8795c..1baa9e3 100644 --- a/cachedir/joblib/run/randomSearch/91850793f313e4662612999c3cc3d96d/metadata.json +++ b/cachedir/joblib/run/randomSearch/a72b281c2de36e337e70607faf20f922/metadata.json @@ -1 +1 @@ -{"duration": 175.59277415275574, "input_args": {"XData": " Fbs Slope Trestbps Exang Thalach Age Chol Sex Oldpeak Restecg Cp Ca Thal\n0 1 0 145 0 150 63 233 1 2.3 0 3 0 1\n1 0 0 130 0 187 37 250 1 3.5 1 2 0 2\n2 0 2 130 0 172 41 204 0 1.4 0 1 0 2\n3 0 2 120 0 178 56 236 1 0.8 1 1 0 2\n4 0 2 120 1 163 57 354 0 0.6 1 0 0 2\n.. ... ... ... ... ... ... ... ... ... ... .. .. ...\n298 0 1 140 1 123 57 241 0 0.2 1 0 0 3\n299 0 1 110 0 132 45 264 1 1.2 1 3 0 3\n300 1 1 144 0 141 68 193 1 3.4 1 0 2 3\n301 0 1 130 1 115 57 131 1 1.2 1 0 1 3\n302 0 1 130 0 174 57 236 0 0.0 0 1 1 2\n\n[303 rows x 13 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, 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, 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, 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, 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, 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]", "clf": "RandomForestClassifier(criterion='entropy', n_estimators=67, random_state=42)", "params": "{'n_estimators': [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], 'criterion': ['gini', 'entropy']}", "eachAlgor": "'RF'", "AlgorithmsIDsEnd": "300"}} \ No newline at end of file +{"duration": 224.38773703575134, "input_args": {"XData": " Fbs Slope Trestbps Exang Thalach Age Chol Sex Oldpeak Restecg Cp Ca Thal\n0 1 0 145 0 150 63 233 1 2.3 0 3 0 1\n1 0 0 130 0 187 37 250 1 3.5 1 2 0 2\n2 0 2 130 0 172 41 204 0 1.4 0 1 0 2\n3 0 2 120 0 178 56 236 1 0.8 1 1 0 2\n4 0 2 120 1 163 57 354 0 0.6 1 0 0 2\n.. ... ... ... ... ... ... ... ... ... ... .. .. ...\n298 0 1 140 1 123 57 241 0 0.2 1 0 0 3\n299 0 1 110 0 132 45 264 1 1.2 1 3 0 3\n300 1 1 144 0 141 68 193 1 3.4 1 0 2 3\n301 0 1 130 1 115 57 131 1 1.2 1 0 1 3\n302 0 1 130 0 174 57 236 0 0.0 0 1 1 2\n\n[303 rows x 13 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, 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, 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, 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, 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, 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]", "clf": "MLPClassifier(alpha=0.00021, hidden_layer_sizes=(90, 2), max_iter=100,\n random_state=42, tol=0.0008100000000000001)", "params": "{'hidden_layer_sizes': [(60, 3), (61, 1), (62, 1), (63, 3), (64, 2), (65, 1), (66, 1), (67, 1), (68, 3), (69, 1), (70, 3), (71, 3), (72, 3), (73, 1), (74, 3), (75, 2), (76, 1), (77, 1), (78, 1), (79, 1), (80, 1), (81, 3), (82, 3), (83, 1), (84, 3), (85, 1), (86, 3), (87, 3), (88, 3), (89, 3), (90, 2), (91, 1), (92, 2), (93, 3), (94, 2), (95, 1), (96, 1), (97, 3), (98, 2), (99, 2), (100, 2), (101, 1), (102, 1), (103, 2), (104, 1), (105, 1), (106, 2), (107, 1), (108, 2), (109, 2), (110, 3), (111, 2), (112, 1), (113, 3), (114, 2), (115, 3), (116, 1), (117, 2), (118, 1), (119, 3)], 'alpha': [1e-05, 0.00021, 0.00041000000000000005, 0.0006100000000000001, 0.0008100000000000001], 'tol': [1e-05, 0.00041000000000000005, 0.0008100000000000001], 'max_iter': [100], 'activation': ['relu', 'identity', 'logistic', 'tanh'], 'solver': ['adam', 'sgd']}", "eachAlgor": "'MLP'", "AlgorithmsIDsEnd": "200"}} \ No newline at end of file diff --git a/cachedir/joblib/run/randomSearch/b2eaebae0c8bac1326b354c9349fb8fc/output.pkl b/cachedir/joblib/run/randomSearch/b2eaebae0c8bac1326b354c9349fb8fc/output.pkl new file mode 100644 index 0000000..74a6ee2 Binary files /dev/null and b/cachedir/joblib/run/randomSearch/b2eaebae0c8bac1326b354c9349fb8fc/output.pkl differ diff --git a/cachedir/joblib/run/randomSearch/bc948e5112c7458861cc66c261433272/output.pkl b/cachedir/joblib/run/randomSearch/bc948e5112c7458861cc66c261433272/output.pkl index 2ca18c2..f45996a 100644 Binary files a/cachedir/joblib/run/randomSearch/bc948e5112c7458861cc66c261433272/output.pkl and b/cachedir/joblib/run/randomSearch/bc948e5112c7458861cc66c261433272/output.pkl differ diff --git a/cachedir/joblib/run/randomSearch/f2dc1dfd6f43b37cdcbd71a6de0ceb80/metadata.json b/cachedir/joblib/run/randomSearch/f2dc1dfd6f43b37cdcbd71a6de0ceb80/metadata.json new file mode 100644 index 0000000..e65848f --- /dev/null +++ b/cachedir/joblib/run/randomSearch/f2dc1dfd6f43b37cdcbd71a6de0ceb80/metadata.json @@ -0,0 +1 @@ +{"duration": 72.83721280097961, "input_args": {"XData": " Fbs Slope Trestbps Exang Thalach Age Chol Sex Oldpeak Restecg Cp Ca Thal\n0 1 0 145 0 150 63 233 1 2.3 0 3 0 1\n1 0 0 130 0 187 37 250 1 3.5 1 2 0 2\n2 0 2 130 0 172 41 204 0 1.4 0 1 0 2\n3 0 2 120 0 178 56 236 1 0.8 1 1 0 2\n4 0 2 120 1 163 57 354 0 0.6 1 0 0 2\n.. ... ... ... ... ... ... ... ... ... ... .. .. ...\n298 0 1 140 1 123 57 241 0 0.2 1 0 0 3\n299 0 1 110 0 132 45 264 1 1.2 1 3 0 3\n300 1 1 144 0 141 68 193 1 3.4 1 0 2 3\n301 0 1 130 1 115 57 131 1 1.2 1 0 1 3\n302 0 1 130 0 174 57 236 0 0.0 0 1 1 2\n\n[303 rows x 13 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, 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, 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, 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, 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, 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]", "clf": "LogisticRegression(C=28, max_iter=350, penalty='none', random_state=42,\n solver='saga')", "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/cachedir/joblib/run/randomSearch/f94f6f45ec13ac95464d12dacae2049a/output.pkl b/cachedir/joblib/run/randomSearch/f94f6f45ec13ac95464d12dacae2049a/output.pkl index 4d35299..71dfaec 100644 Binary files a/cachedir/joblib/run/randomSearch/f94f6f45ec13ac95464d12dacae2049a/output.pkl and b/cachedir/joblib/run/randomSearch/f94f6f45ec13ac95464d12dacae2049a/output.pkl differ diff --git a/cachedir/joblib/run/randomSearch/fb4e2f9b18c63f6d1b0b6bc39f3853cb/metadata.json b/cachedir/joblib/run/randomSearch/fb4e2f9b18c63f6d1b0b6bc39f3853cb/metadata.json deleted file mode 100644 index 3a069dc..0000000 --- a/cachedir/joblib/run/randomSearch/fb4e2f9b18c63f6d1b0b6bc39f3853cb/metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"duration": 93.8413097858429, "input_args": {"XData": " Fbs Slope Trestbps Exang Thalach Age Chol Sex Oldpeak Restecg Cp Ca Thal\n0 1 0 145 0 150 63 233 1 2.3 0 3 0 1\n1 0 0 130 0 187 37 250 1 3.5 1 2 0 2\n2 0 2 130 0 172 41 204 0 1.4 0 1 0 2\n3 0 2 120 0 178 56 236 1 0.8 1 1 0 2\n4 0 2 120 1 163 57 354 0 0.6 1 0 0 2\n.. ... ... ... ... ... ... ... ... ... ... .. .. ...\n298 0 1 140 1 123 57 241 0 0.2 1 0 0 3\n299 0 1 110 0 132 45 264 1 1.2 1 3 0 3\n300 1 1 144 0 141 68 193 1 3.4 1 0 2 3\n301 0 1 130 1 115 57 131 1 1.2 1 0 1 3\n302 0 1 130 0 174 57 236 0 0.0 0 1 1 2\n\n[303 rows x 13 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, 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, 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, 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, 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, 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]", "clf": "LogisticRegression(C=15, max_iter=400, random_state=42)", "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/cachedir/joblib/run/randomSearch/func_code.py b/cachedir/joblib/run/randomSearch/func_code.py index 568f0c1..8425152 100644 --- a/cachedir/joblib/run/randomSearch/func_code.py +++ b/cachedir/joblib/run/randomSearch/func_code.py @@ -1,9 +1,7 @@ -# first line: 547 +# first line: 548 @memory.cache def randomSearch(XData, yData, clf, params, eachAlgor, AlgorithmsIDsEnd): - print('inside') - search = RandomizedSearchCV( estimator=clf, param_distributions=params, n_iter=100, cv=crossValidation, refit='accuracy', scoring=scoring, diff --git a/frontend/package-lock.json b/frontend/package-lock.json index f031819..950a87f 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -9418,6 +9418,28 @@ "d3-path": "1" } }, + "d3-simple-slider": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/d3-simple-slider/-/d3-simple-slider-1.9.0.tgz", + "integrity": "sha512-gshuzXjoX5mpeuMfAMcHc86/XTL3lvKpepVKwnwozRrnPvM0Zw8uE+VQeIfLbxbtxiC424DXeEWtchO8hpPJ1w==", + "requires": { + "d3-array": "^1.0.0", + "d3-axis": "^1.0.8", + "d3-dispatch": "^1.0.0", + "d3-drag": "^1.0.0", + "d3-ease": "^1.0.0", + "d3-scale": "^2.0.0", + "d3-selection": "^1.0.0", + "d3-transition": "^1.0.0" + }, + "dependencies": { + "d3-array": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz", + "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==" + } + } + }, "d3-svg-legend": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/d3-svg-legend/-/d3-svg-legend-1.13.0.tgz", diff --git a/frontend/package.json b/frontend/package.json index a668fad..3de86d7 100755 --- a/frontend/package.json +++ b/frontend/package.json @@ -43,6 +43,7 @@ "d3-loom": "^1.0.2", "d3-selection": "^1.4.1", "d3-selection-multi": "^1.0.1", + "d3-simple-slider": "^1.9.0", "d3-svg-legend": "^1.13.0", "d3_exploding_boxplot": "^0.2.1", "file-saver": "^2.0.2", diff --git a/frontend/src/components/DataSetExecController.vue b/frontend/src/components/DataSetExecController.vue index 0b19f40..f8df378 100644 --- a/frontend/src/components/DataSetExecController.vue +++ b/frontend/src/components/DataSetExecController.vue @@ -1,10 +1,9 @@ <template> - <div> + <div class="text-center"> <label id="data" for="param-dataset" data-toggle="tooltip" data-placement="right" title="Tip: use one of the data sets already provided or upload a new file.">{{ dataset }}</label> <select id="selectFile" @change="selectDataSet()"> <option value="HeartC.csv" selected>Heart Disease</option> - <option value="IrisC.csv">Iris</option> - <option value="local">Upload New File</option> + <option value="local">Upload File</option> </select> <button class="btn-outline-success" id="initializeID" @@ -37,7 +36,7 @@ export default { defaultDataSet: 'HeartC', // default value for the first data set searchText: 'Hyper-parameter search', resetText: 'Reset', - dataset: 'Data set' + dataset: 'Data set:' } }, methods: { @@ -46,7 +45,7 @@ export default { this.defaultDataSet = fileName.options[fileName.selectedIndex].value this.defaultDataSet = this.defaultDataSet.split('.')[0] - if (this.defaultDataSet == "DiabetesC" || this.defaultDataSet == "HeartC" || this.defaultDataSet == "IrisC" || this.defaultDataSet == "StanceC") { // This is a function that handles a new file, which users can upload. + if (this.defaultDataSet == "HeartC") { // This is a function that handles a new file, which users can upload. this.dataset = "Data set" d3.select("#data").select("input").remove(); // Remove the selection field. EventBus.$emit('SendToServerDataSetConfirmation', this.defaultDataSet) diff --git a/frontend/src/components/Ensemble.vue b/frontend/src/components/Ensemble.vue index 1012603..cb449e4 100644 --- a/frontend/src/components/Ensemble.vue +++ b/frontend/src/components/Ensemble.vue @@ -40,6 +40,8 @@ export default { }, methods: { reset () { + this.ScatterPlotResults = '' + this.storeEnsembleLoc = [] Plotly.purge('OverviewPlotlyCM') }, selectVisualRepresentationCM () { diff --git a/frontend/src/components/GlobalParamController.vue b/frontend/src/components/GlobalParamController.vue new file mode 100644 index 0000000..7e9b9df --- /dev/null +++ b/frontend/src/components/GlobalParamController.vue @@ -0,0 +1,99 @@ +<template> + <div style="margin: -20px 0 -20px 0 !important"> + <div class="row align-items-center" style="margin: 0 0 -25px 0 !important"> + <div class="col-lg-4"><p>Random search:</p></div> + <div class="col-lg-6"><div id="slider-stepPos"></div></div> + <div class="col-lg-2"><p id="value-stepPos"></p></div> + </div> + <div class="row align-items-center" style="margin: 0 0 -25px 0 !important"> + <div class="col-lg-4"><p>Cross validation:</p></div> + <div class="col-lg-6"><div id="slider-stepNeg"></div></div> + <div class="col-lg-2"><p id="value-stepNeg"></p></div> + </div> + </div> +</template> + +<script> +import { EventBus } from '../main.js' +import { sliderBottom } from 'd3-simple-slider' +import * as d3Base from 'd3' + +// attach all d3 plugins to the d3 library +const d3 = Object.assign(d3Base, { sliderBottom }) + +export default { + name: 'GlobalParamController', + data () { + return { + } + }, + methods: { + InitSliders () { + var svg = d3.select("#slider-stepPos"); + svg.selectAll("*").remove(); + + var svg = d3.select("#slider-stepNeg"); + svg.selectAll("*").remove(); + + var dataCorrect = [50.0, 100.0, 150.0, 200.0, 250.0, 300.0]; + var dataWrong = [5.0, 10.0, 15.0]; + + var sliderStepPos = d3 + .sliderBottom() + .min(d3.min(dataCorrect)) + .max(d3.max(dataCorrect)) + .width(200) + .tickFormat(d3.format(".0f")) + .ticks(6) + .step(50) + .default(100.0) + .on('onchange', val => { + d3.select('p#value-stepPos').text(d3.format(".0f")(val)); + EventBus.$emit('SendtheChangeinRangePos', d3.format(".0f")(val)) + }); + + var gStepPos = d3 + .select('div#slider-stepPos') + .append('svg') + .attr('width', 500) + .attr('height', 100) + .append('g') + .attr('transform', 'translate(30,30)'); + + gStepPos.call(sliderStepPos); + + d3.select('p#value-stepPos').text(d3.format(".0f")(sliderStepPos.value())); + + var sliderStepNeg = d3 + .sliderBottom() + .min(d3.min(dataWrong)) + .max(d3.max(dataWrong)) + .width(200) + .tickFormat(d3.format(".0f")) + .ticks(3) + .step(5) + .default(5.0) + .on('onchange', val => { + d3.select('p#value-stepNeg').text(d3.format(".0f")(val)); + EventBus.$emit('SendtheChangeinRangeNeg', d3.format(".0f")(val)) + }); + + var gStepNeg = d3 + .select('div#slider-stepNeg') + .append('svg') + .attr('width', 500) + .attr('height', 100) + .append('g') + .attr('transform', 'translate(30,30)'); + + gStepNeg.call(sliderStepNeg); + + d3.select('p#value-stepNeg').text(d3.format(".0f")(sliderStepNeg.value())); + }, + }, + mounted () { + this.InitSliders() + EventBus.$on('reset', this.InitSliders) + }, +} +</script> diff --git a/frontend/src/components/HyperParameterSpace.vue b/frontend/src/components/HyperParameterSpace.vue index 6662f55..58479f1 100644 --- a/frontend/src/components/HyperParameterSpace.vue +++ b/frontend/src/components/HyperParameterSpace.vue @@ -39,6 +39,7 @@ export default { }, methods: { reset () { + this.ScatterPlotResults = '' Plotly.purge('OverviewPlotly') }, clean(obj) { @@ -59,6 +60,7 @@ export default { Plotly.purge('OverviewPlotly') var modelId = JSON.parse(this.ScatterPlotResults[0]) + var colorsforScatterPlot = JSON.parse(this.ScatterPlotResults[1]) var parametersLoc = JSON.parse(this.ScatterPlotResults[2]) var parameters = JSON.parse(parametersLoc) diff --git a/frontend/src/components/Main.vue b/frontend/src/components/Main.vue index 8bc2889..d865a36 100755 --- a/frontend/src/components/Main.vue +++ b/frontend/src/components/Main.vue @@ -10,6 +10,7 @@ <mdb-card-body> <mdb-card-text class="text-left" style="font-size: 18.5px;"> <PerformanceMetrics/> + <GlobalParamController/> <DataSetExecController/> </mdb-card-text> </mdb-card-body> @@ -19,7 +20,7 @@ <mdb-card> <mdb-card-header color="primary-color" tag="h5" class="text-center">Provenance</mdb-card-header> <mdb-card-body> - <mdb-card-text class="text-left" style="font-size: 18.5px; min-height: 230px"> + <mdb-card-text class="text-left" style="font-size: 18.5px; min-height: 359px"> </mdb-card-text> </mdb-card-body> </mdb-card> @@ -28,7 +29,7 @@ <mdb-card > <mdb-card-header color="primary-color" tag="h5" class="text-center">Majority-Voting Ensemble's Results</mdb-card-header> <mdb-card-body> - <mdb-card-text class="text-left" style="font-size: 18.5px; min-height: 230px"> + <mdb-card-text class="text-left" style="font-size: 18.5px; min-height: 359px"> </mdb-card-text> </mdb-card-body> </mdb-card> @@ -119,7 +120,7 @@ <b-col cols="6"> <mdb-card style="margin-top: 15px;"> <mdb-card-header color="primary-color" tag="h5" class="text-center">Hyper-Parameters' Space - [Sel: {{OverSelLength}} / All: {{OverAllLength}}]<small class="float-right"><active-scatter/></small> + [Sel: {{OverSelLength}} / All: {{OverAllLength}}]<small class="float-right"><active-scatter/></small><span class="badge badge-info badge-pill float-right">Projection<span class="badge badge-light" style="margin-left:4px; margin-bottom:1px">1</span></span> </mdb-card-header> <mdb-card-body> <mdb-card-text class="text-center" style="min-height: 600px"> @@ -130,8 +131,8 @@ </b-col> <b-col cols="6"> <mdb-card style="margin-top: 15px;"> - <mdb-card-header color="primary-color" tag="h5" class="text-center">Models Included in the Majority-Voting Ensemble - [Sel: {{OverSelLengthCM}} / All: {{OverAllLengthCM}}]<small class="float-right"><active-scatter/></small> + <mdb-card-header color="primary-color" tag="h5" class="text-center">Majority-Voting Ensemble + [Sel: {{OverSelLengthCM}} / All: {{OverAllLengthCM}}]<small class="float-right"><active-scatter/></small><span class="badge badge-info badge-pill float-right">Projection<span class="badge badge-light" style="margin-left:4px; margin-bottom:1px">2</span></span> </mdb-card-header> <mdb-card-body> <mdb-card-text class="text-center" style="min-height: 600px"> @@ -144,7 +145,7 @@ <b-row class="md-3"> <b-col cols="3"> <mdb-card style="margin-top: 15px;"> - <mdb-card-header color="primary-color" tag="h5" class="text-center">Manipulation of Algorithms + <mdb-card-header color="primary-color" tag="h5" class="text-center">Manipulation of Algorithms<span class="badge badge-primary badge-pill float-right">Active<span class="badge badge-light" style="margin-left:4px; margin-bottom:1px">1&2</span></span> </mdb-card-header> <mdb-card-body> <mdb-card-text class="text-center" style="min-height: 270px"> @@ -155,7 +156,7 @@ </b-col> <b-col cols="6"> <mdb-card style="margin-top: 15px;"> - <mdb-card-header color="primary-color" tag="h5" class="text-center">Predictive Results for Each Data Instance + <mdb-card-header color="primary-color" tag="h5" class="text-center">Predictive Results for Each Data Instance<span class="badge badge-primary badge-pill float-right">Active<span class="badge badge-light" style="margin-left:4px; margin-bottom:1px">{{projectionID_A}}</span></span> </mdb-card-header> <mdb-card-body> <mdb-card-text class="text-center" style="min-height: 270px"> @@ -166,7 +167,7 @@ </b-col> <b-col cols="3"> <mdb-card style="margin-top: 15px;"> - <mdb-card-header color="primary-color" tag="h5" class="text-center">Performance for Each Validation Metric + <mdb-card-header color="primary-color" tag="h5" class="text-center">Performance for Each Validation Metric<span class="badge badge-primary badge-pill float-right">Active<span class="badge badge-light" style="margin-left:4px; margin-bottom:1px">{{projectionID_B}}</span></span> </mdb-card-header> <mdb-card-body> <mdb-card-text class="text-center" style="min-height: 270px"> @@ -189,6 +190,7 @@ import Algorithms from './Algorithms.vue' import AlgorithmsController from './AlgorithmsController.vue' import AlgorithmHyperParam from './AlgorithmHyperParam.vue' import HyperParameterSpace from './HyperParameterSpace.vue' +import GlobalParamController from './GlobalParamController' import Ensemble from './Ensemble.vue' import VotingResults from './VotingResults.vue' import Parameters from './Parameters.vue' @@ -216,6 +218,7 @@ export default Vue.extend({ AlgorithmsController, AlgorithmHyperParam, HyperParameterSpace, + GlobalParamController, Ensemble, Parameters, Predictions, @@ -227,6 +230,8 @@ export default Vue.extend({ }, data () { return { + projectionID_A: 1, + projectionID_B: 1, storeEnsemble: [], PredictSelEnsem: [], firstTimeExec: true, @@ -281,6 +286,8 @@ export default Vue.extend({ ClassifierIDsListRemaining: [], PredictSel: [], storeBothEnsCM: [], + crossVal: '5', + RandomSear: '100', } }, methods: { @@ -673,8 +680,12 @@ export default Vue.extend({ }, fileNameSend () { const path = `http://127.0.0.1:5000/data/ServerRequest` + const postData = { fileName: this.RetrieveValueFile, + RandomSearch: this.RandomSear, + CrossValidation: this.crossVal, + Factors: this.basicValuesFact } const axiosConfig = { headers: { @@ -773,6 +784,11 @@ export default Vue.extend({ Reset () { const path = `http://127.0.0.1:5000/data/Reset` this.reset = true + this.firstTimeExec = true + this.OverSelLength = 0 + this.OverAllLength = 0 + this.OverSelLengthCM = 0 + this.OverAllLengthCM = 0 const postData = { ClassifiersList: this.reset } @@ -909,6 +925,14 @@ export default Vue.extend({ .catch(error => { console.log(error) }) + }, + changeActiveTo1 () { + this.projectionID_A = 1 + this.projectionID_B = 1 + }, + changeActiveTo2 () { + this.projectionID_A = 2 + this.projectionID_B = 2 } }, created () { @@ -948,13 +972,17 @@ export default Vue.extend({ EventBus.$on('ReturningBrushedPointsIDs', data => { this.modelsUpdate = data }) //EventBus.$on('ReturningBrushedPointsIDs', this.UpdateBarChartFeatures ) EventBus.$on('ConfirmDataSet', this.fileNameSend) + EventBus.$on('reset', this.changeActiveTo1) EventBus.$on('reset', this.Reset) EventBus.$on('ReturningAlgorithms', data => { this.selectedAlgorithms = data }) EventBus.$on('ReturningBrushedPointsParams', data => { this.parametersofModels = data; }) + EventBus.$on('RemainingPoints', this.changeActiveTo1) EventBus.$on('RemainingPoints', data => { this.unselectedRemainingPoints = data }) + EventBus.$on('InitializeCrossoverMutation', this.changeActiveTo2) EventBus.$on('InitializeCrossoverMutation', this.sendPointsCrossMutat) + EventBus.$on('RemainingPointsCM', this.changeActiveTo2) EventBus.$on('RemainingPointsCM', data => { this.unselectedRemainingPointsEnsem = data }) EventBus.$on('ChangeKey', data => { this.keyNow = data }) @@ -1015,6 +1043,10 @@ export default Vue.extend({ EventBus.$on('toggleDeep', data => {this.toggleDeepMain = data}) + EventBus.$on('SendtheChangeinRangePos', data => { this.RandomSear = data }) + EventBus.$on('SendtheChangeinRangeNeg', data => { this.crossVal = data }) + EventBus.$on('factorsChanged', data => { this.basicValuesFact = data }) + //Prevent double click to search for a word. document.addEventListener('mousedown', function (event) { if (event.detail > 1) { diff --git a/frontend/src/components/PerformanceMetrics.vue b/frontend/src/components/PerformanceMetrics.vue index 64c5ff9..1c818f6 100644 --- a/frontend/src/components/PerformanceMetrics.vue +++ b/frontend/src/components/PerformanceMetrics.vue @@ -14,7 +14,7 @@ <b-form-checkbox id="checkboxAcc" v-model="checkedAcc" - @click="clickAcc" + @change="clickAcc()" > </b-form-checkbox> </td> @@ -23,7 +23,7 @@ <b-form-checkbox id="checkboxGM" v-model="checkedGM" - @click="clickGM" + @change="clickGM()" > </b-form-checkbox> </td> @@ -34,7 +34,7 @@ <b-form-checkbox id="checkboxPrec" v-model="checkedPrec" - @click="clickPrec" + @change="clickPrec()" > </b-form-checkbox> </td> @@ -43,7 +43,7 @@ <b-form-checkbox id="checkboxRA" v-model="checkedRA" - @click="clickRA" + @change="clickRA()" > </b-form-checkbox> </td> @@ -54,7 +54,7 @@ <b-form-checkbox id="checkboxRec" v-model="checkedRec" - @click="clickRec" + @change="clickRec()" > </b-form-checkbox> </td> @@ -63,7 +63,7 @@ <b-form-checkbox id="checkboxLog" v-model="checkedLog" - @click="clickLog" + @change="clickLog()" > </b-form-checkbox> </td> @@ -74,7 +74,7 @@ <b-form-checkbox id="checkboxF1" v-model="checkedF1" - @click="clickF1" + @change="clickF1()" > </b-form-checkbox> </td> @@ -83,7 +83,7 @@ <b-form-checkbox id="checkboxMCC" v-model="checkedMCC" - @click="clickMCC" + @change="clickMCC()" > </b-form-checkbox> </td> @@ -97,6 +97,7 @@ <script> import { EventBus } from '../main.js' + import $ from 'jquery' export default { name: 'PerformanceMetrics', @@ -110,36 +111,67 @@ checkedRA: false, checkedLog: false, checkedMCC: false, + factorsLocal: [1,1,1,1,0,0,0,0] } }, methods: { clickAcc () { this.checkedAcc = !this.checkedAcc + console.log(this.checkedAcc) + this.factorsRegisterChange(0,this.checkedAcc) }, clickPrec () { this.checkedPrec = !this.checkedPrec + this.factorsRegisterChange(1,this.checkedPrec) }, clickRec () { - this.checkedRec = !this.checkedRec + this.checkedRec = !this.checkedRec + this.factorsRegisterChange(2,this.checkedRec) }, clickF1 () { - this.checkedF1 = !this.checkedF1 + this.checkedF1 = !this.checkedF1 + this.factorsRegisterChange(3,this.checkedF1) }, clickGM () { this.checkedGM = !this.checkedGM + this.factorsRegisterChange(4,this.checkedGM) }, clickRA () { this.checkedRA = !this.checkedRA + this.factorsRegisterChange(5,this.checkedRA) }, clickLog () { this.checkedLog = !this.checkedLog + this.factorsRegisterChange(6,this.checkedLog) }, clickMCC () { this.checkedMCC = !this.checkedMCC + this.factorsRegisterChange(7,this.checkedMCC) }, + factorsRegisterChange (position,value) { + if (value == true) { + this.factorsLocal[position] = 1 + } else { + this.factorsLocal[position] = 0 + } + EventBus.$emit('factorsChanged', this.factorsLocal) + }, + resetBoxes () { + this.checkedAcc = true + this.checkedPrec = true + this.checkedRec = true + this.checkedF1 = true + this.checkedGM = false + this.checkedRA = false + this.checkedLog = false + this.checkedMCC = false + + this.factorsLocal = [1,1,1,1,0,0,0,0] + EventBus.$emit('factorsChanged', this.factorsLocal) + } }, mounted () { - + EventBus.$on('reset', this.resetBoxes) } } </script> diff --git a/frontend/src/components/Predictions.vue b/frontend/src/components/Predictions.vue index 3d715ab..1fcc4bc 100644 --- a/frontend/src/components/Predictions.vue +++ b/frontend/src/components/Predictions.vue @@ -32,6 +32,10 @@ export default { svg.selectAll("*").remove(); var svg = d3.select("#containerSelection"); svg.selectAll("*").remove(); + this.GetResultsAll = [] + this.GetResultsSelection = [] + this.predictSelection = [] + this.StoreIndices = [] }, Grid () { @@ -60,13 +64,22 @@ export default { var predictions = JSON.parse(this.GetResultsAll[12]) var KNNPred = predictions[0] var LRPred = predictions[1] - var PredAver = predictions[2] + var MLPPred = predictions[2] + var RFPred = predictions[3] + var GradBPred = predictions[4] + var PredAver = predictions[5] var dataAver = [] var dataAverGetResults = [] var dataKNN = [] var dataKNNResults = [] var dataLR = [] var dataLRResults = [] + var dataMLP = [] + var dataMLPResults = [] + var dataRF = [] + var dataRFResults = [] + var dataGradB = [] + var dataGradBResults = [] var max = 0 for (let i = 0; i < targetNames.length; i++) { @@ -79,26 +92,41 @@ export default { var size = sqrtSize * sqrtSize for (let i = 0; i < targetNames.length; i++) { - dataAver = []; + dataAver = [] dataKNN = [] dataLR = [] + dataMLP = [] + dataRF = [] + dataGradB = [] getIndices[targetNames[i]].forEach(element => { dataAver.push({ id: element, value: PredAver[element][targetNames[i]] }) dataKNN.push({ id: element, value: KNNPred[element][targetNames[i]] }) dataLR.push({ id: element, value: LRPred[element][targetNames[i]] }) + dataMLP.push({ id: element, value: MLPPred[element][targetNames[i]] }) + dataRF.push({ id: element, value: RFPred[element][targetNames[i]] }) + dataGradB.push({ id: element, value: GradBPred[element][targetNames[i]] }) }); for (let j = 0; j < size - getIndices[targetNames[i]].length; j++) { dataAver.push({ id: null, value: 1.0 }) dataKNN.push({ id: null, value: 1.0 }) dataLR.push({ id: null, value: 1.0 }) + dataMLP.push({ id: null, value: 1.0 }) + dataRF.push({ id: null, value: 1.0 }) + dataGradB.push({ id: null, value: 1.0 }) } dataAverGetResults.push(dataAver) dataKNNResults.push(dataKNN) dataLRResults.push(dataLR) + dataMLPResults.push(dataMLP) + dataRFResults.push(dataRF) + dataGradBResults.push(dataGradB) } dataAverGetResults.reverse() dataKNNResults.reverse() dataLRResults.reverse() + dataMLPResults.reverse() + dataRFResults.reverse() + dataGradBResults.reverse() var classArray = [] this.StoreIndices = [] @@ -119,15 +147,27 @@ export default { return indices.indexOf(a.id) - indices.indexOf(b.id) }); - classArray.push(dataAverGetResults[i].concat(dataKNNResults[i], dataLRResults[i])); + dataMLPResults[i].sort(function(a, b){ + return indices.indexOf(a.id) - indices.indexOf(b.id) + }); + + dataRFResults[i].sort(function(a, b){ + return indices.indexOf(a.id) - indices.indexOf(b.id) + }); + + dataGradBResults[i].sort(function(a, b){ + return indices.indexOf(a.id) - indices.indexOf(b.id) + }); + + classArray.push(dataAverGetResults[i].concat(dataKNNResults[i], dataLRResults[i],dataMLPResults[i],dataRFResults[i],dataGradBResults[i])); } - + var classStore = [].concat.apply([], classArray); // === Set up canvas === // var width = 1200, - height = 125; + height = 85; var colourScale; @@ -144,9 +184,9 @@ export default { var custom = d3.select(customBase); // this is our svg replacement // settings for a grid with 40 cells in a row and 2x5 cells in a group - var groupSpacing = 60; + var groupSpacing = 40; var cellSpacing = 2; - var cellSize = Math.floor((width - 1 * groupSpacing) / (10 * sqrtSize)) - cellSpacing; + var cellSize = Math.floor((width - 1 * groupSpacing) / (13 * sqrtSize)) - cellSpacing; // === First call === // databind(classStore, size, sqrtSize); // ...then update the databind function @@ -187,6 +227,13 @@ export default { .attr('width', cellSize) .attr('height', cellSize) .attr('fillStyle', function(d) { return colourScale(d.value); }) + .attr('fill-opacity', function(d) { + if (d.id == null) { + return "0.0"; + } else { + return "1.0"; + } + }); var exitSel = join.exit() .transition() @@ -240,21 +287,29 @@ export default { svg.selectAll("*").remove(); var predictionsAll = JSON.parse(this.GetResultsAll[12]) - console.log(predictionsAll) if (this.predictSelection.length != 0) { var predictions = this.predictSelection var KNNPred = predictions[0] var LRPred = predictions[1] - var PredAver = predictions[2] + var MLPPred = predictions[2] + var RFPred = predictions[3] + var GradBPred = predictions[4] + var PredAver = predictions[5] } else { var KNNPred = predictionsAll[0] var LRPred = predictionsAll[1] - var PredAver = predictionsAll[2] + var MLPPred = predictionsAll[2] + var RFPred = predictionsAll[3] + var GradBPred = predictionsAll[4] + var PredAver = predictionsAll[5] } var KNNPredAll = predictionsAll[0] var LRPredAll = predictionsAll[1] - var PredAverAll = predictionsAll[2] + var MLPPredAll = predictionsAll[2] + var RFPredAll = predictionsAll[3] + var GradBPredAll = predictionsAll[4] + var PredAverAll = predictionsAll[5] var yValues = JSON.parse(this.GetResultsSelection[6]) var targetNames = JSON.parse(this.GetResultsSelection[7]) @@ -271,6 +326,12 @@ export default { var dataKNNResults = [] var dataLR = [] var dataLRResults = [] + var dataMLP = [] + var dataMLPResults = [] + var dataRF = [] + var dataRFResults = [] + var dataGradB = [] + var dataGradBResults = [] var max = 0 for (let i = 0; i < targetNames.length; i++) { @@ -283,27 +344,42 @@ export default { var size = sqrtSize * sqrtSize for (let i = 0; i < targetNames.length; i++) { - dataAver = []; + dataAver = [] dataKNN = [] dataLR = [] + dataMLP = [] + dataRF = [] + dataGradB = [] getIndices[targetNames[i]].forEach(element => { dataAver.push({ id: element, value: PredAver[element][targetNames[i]] - PredAverAll[element][targetNames[i]] }) dataKNN.push({ id: element, value: KNNPred[element][targetNames[i]] - KNNPredAll[element][targetNames[i]] }) dataLR.push({ id: element, value: LRPred[element][targetNames[i]] - LRPredAll[element][targetNames[i]] }) + dataMLP.push({ id: element, value: MLPPred[element][targetNames[i]] - MLPPredAll[element][targetNames[i]] }) + dataRF.push({ id: element, value: RFPred[element][targetNames[i]] - RFPredAll[element][targetNames[i]] }) + dataGradB.push({ id: element, value: GradBPred[element][targetNames[i]] - GradBPredAll[element][targetNames[i]] }) }); for (let j = 0; j < size - getIndices[targetNames[i]].length; j++) { dataAver.push({ id: null, value: 0 }) dataKNN.push({ id: null, value: 0 }) dataLR.push({ id: null, value: 0 }) + dataMLP.push({ id: null, value: 0 }) + dataRF.push({ id: null, value: 0 }) + dataGradB.push({ id: null, value: 0 }) } dataAverGetResults.push(dataAver) dataKNNResults.push(dataKNN) dataLRResults.push(dataLR) + dataMLPResults.push(dataMLP) + dataRFResults.push(dataRF) + dataGradBResults.push(dataGradB) } dataAverGetResults.reverse() dataKNNResults.reverse() dataLRResults.reverse() - + dataMLPResults.reverse() + dataRFResults.reverse() + dataGradBResults.reverse() + var classArray = [] for (let i = 0; i < dataAverGetResults.length; i++) { @@ -321,14 +397,27 @@ export default { return indices.indexOf(a.id) - indices.indexOf(b.id) }); - classArray.push(dataAverGetResults[i].concat(dataKNNResults[i], dataLRResults[i])); + dataMLPResults[i].sort(function(a, b){ + return indices.indexOf(a.id) - indices.indexOf(b.id) + }); + + dataRFResults[i].sort(function(a, b){ + return indices.indexOf(a.id) - indices.indexOf(b.id) + }); + + dataGradBResults[i].sort(function(a, b){ + return indices.indexOf(a.id) - indices.indexOf(b.id) + }); + + classArray.push(dataAverGetResults[i].concat(dataKNNResults[i], dataLRResults[i], dataMLPResults[i], dataRFResults[i], dataGradBResults[i])); } var classStore = [].concat.apply([], classArray); + // === Set up canvas === // var width = 1200, - height = 125; + height = 85; var colourScale; @@ -345,9 +434,9 @@ export default { var custom = d3.select(customBase); // this is our svg replacement // settings for a grid with 40 cells in a row and 2x5 cells in a group - var groupSpacing = 60; + var groupSpacing = 40; var cellSpacing = 2; - var cellSize = Math.floor((width - 1 * groupSpacing) / (10 * sqrtSize)) - cellSpacing; + var cellSize = Math.floor((width - 1 * groupSpacing) / (13 * sqrtSize)) - cellSpacing; // === First call === // databind(classStore, size, sqrtSize); // ...then update the databind function @@ -388,6 +477,13 @@ export default { .attr('width', cellSize) .attr('height', cellSize) .attr('fillStyle', function(d) { return colourScale(d.value); }) + .attr('fill-opacity', function(d) { + if (d.id == null) { + return "0.0"; + } else { + return "1.0"; + } + }); var exitSel = join.exit() .transition() diff --git a/run.py b/run.py index 765649f..4cac914 100644 --- a/run.py +++ b/run.py @@ -42,6 +42,12 @@ cors = CORS(app, resources={r"/data/*": {"origins": "*"}}) @cross_origin(origin='localhost',headers=['Content-Type','Authorization']) @app.route('/data/Reset', methods=["GET", "POST"]) def reset(): + + global Results + Results = [] + global ResultsCM + ResultsCM = [] + global DataRawLength global DataResultsRaw global previousState @@ -68,11 +74,20 @@ def reset(): global factors factors = [1,1,1,1,0,0,0,0] + global crossValidation + crossValidation = 5 + + global randomSearchVar + randomSearchVar = 100 + global keyData keyData = 0 KNNModelsCount = 0 - LRModelsCount = 100 + LRModelsCount = KNNModelsCount+randomSearchVar + MLPModelsCount = LRModelsCount+randomSearchVar + RFModelsCount = MLPModelsCount+randomSearchVar + GradBModelsCount = RFModelsCount+randomSearchVar global XData XData = [] @@ -86,7 +101,16 @@ def reset(): addKNN = 0 global addLR - addLR = 100 + addLR = addKNN+randomSearchVar + + global addMLP + addMLP = addLR+randomSearchVar + + global addRF + addRF = addMLP+randomSearchVar + + global addGradB + addGradB = addRF+randomSearchVar global countAllModels countAllModels = 0 @@ -124,9 +148,6 @@ def reset(): global all_classifiers all_classifiers = [] - - global crossValidation - crossValidation = 5 # models global KNNModels @@ -166,6 +187,7 @@ def retrieveFileName(): global DataRawLengthTest fileName = request.get_data().decode('utf8').replace("'", '"') + data = json.loads(fileName) global keySpecInternal keySpecInternal = 1 @@ -182,6 +204,27 @@ def retrieveFileName(): global keyData keyData = 0 + global KNNModelsCount + global LRModelsCount + global MLPModelsCount + global RFModelsCount + global GradBModelsCount + + global factors + factors = data['Factors'] + + global crossValidation + crossValidation = int(data['CrossValidation']) + + global randomSearchVar + randomSearchVar = int(data['RandomSearch']) + + KNNModelsCount = 0 + LRModelsCount = KNNModelsCount+randomSearchVar + MLPModelsCount = LRModelsCount+randomSearchVar + RFModelsCount = MLPModelsCount+randomSearchVar + GradBModelsCount = RFModelsCount+randomSearchVar + global XData XData = [] @@ -219,7 +262,16 @@ def retrieveFileName(): addKNN = 0 global addLR - addLR = 100 + addLR = addKNN+randomSearchVar + + global addMLP + addMLP = addLR+randomSearchVar + + global addRF + addRF = addMLP+randomSearchVar + + global addGradB + addGradB = addRF+randomSearchVar # Initializing models @@ -241,9 +293,6 @@ def retrieveFileName(): global all_classifiers all_classifiers = [] - global crossValidation - crossValidation = 5 - global scoring scoring = {'accuracy': 'accuracy', 'precision_weighted': 'precision_weighted', 'recall_weighted': 'recall_weighted', 'f1_weighted': 'f1_weighted', 'roc_auc_ovo_weighted': 'roc_auc_ovo_weighted'} @@ -297,7 +346,7 @@ def retrieveFileName(): DataRawLength = -1 DataRawLengthTest = -1 - data = json.loads(fileName) + if data['fileName'] == 'HeartC': CollectionDB = mongo.db.HeartC.find() elif data['fileName'] == 'StanceC': @@ -514,26 +563,27 @@ def retrieveModel(): elif (eachAlgor) == 'LR': 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 + 100 + 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 + 100 + countAllModels = countAllModels + randomSearchVar AlgorithmsIDsEnd = countAllModels elif (eachAlgor) == 'RF': clf = RandomForestClassifier(random_state=RANDOM_SEED) params = {'n_estimators': list(range(20, 100)), 'criterion': ['gini', 'entropy']} - countAllModels = countAllModels + 100 + countAllModels = countAllModels + randomSearchVar AlgorithmsIDsEnd = countAllModels else: clf = GradientBoostingClassifier(random_state=RANDOM_SEED) params = {'n_estimators': list(range(20, 100)), 'learning_rate': list(np.arange(0.01,0.23,0.11)), 'criterion': ['friedman_mse', 'mse', 'mae']} - countAllModels = countAllModels + 100 + countAllModels = countAllModels + randomSearchVar AlgorithmsIDsEnd = countAllModels allParametersPerformancePerModel = randomSearch(XData, yData, clf, params, eachAlgor, AlgorithmsIDsEnd) HistoryPreservation = allParametersPerformancePerModel.copy() @@ -547,8 +597,6 @@ memory = Memory(location, verbose=0) @memory.cache def randomSearch(XData, yData, clf, params, eachAlgor, AlgorithmsIDsEnd): - print('inside') - search = RandomizedSearchCV( estimator=clf, param_distributions=params, n_iter=100, cv=crossValidation, refit='accuracy', scoring=scoring, @@ -640,30 +688,45 @@ def randomSearch(XData, yData, clf, params, eachAlgor, AlgorithmsIDsEnd): def PreprocessingIDs(): dicKNN = allParametersPerformancePerModel[0] dicLR = allParametersPerformancePerModel[4] + dicMLP = allParametersPerformancePerModel[8] + dicRF = allParametersPerformancePerModel[12] + dicGradB = allParametersPerformancePerModel[16] - df_concatIDs = dicKNN + dicLR + df_concatIDs = dicKNN + dicLR + dicMLP + dicRF + dicGradB return df_concatIDs def PreprocessingMetrics(): dicKNN = allParametersPerformancePerModel[2] dicLR = allParametersPerformancePerModel[6] + dicMLP = allParametersPerformancePerModel[10] + dicRF = allParametersPerformancePerModel[14] + dicGradB = allParametersPerformancePerModel[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]) + df_concatMetrics = pd.concat([dfKNN, dfLR, dfMLP, dfRF, dfGradB]) df_concatMetrics = df_concatMetrics.reset_index(drop=True) return df_concatMetrics def PreprocessingPred(): dicKNN = allParametersPerformancePerModel[3] dicLR = allParametersPerformancePerModel[7] + dicMLP = allParametersPerformancePerModel[11] + dicRF = allParametersPerformancePerModel[15] + dicGradB = allParametersPerformancePerModel[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]) + df_concatProbs = pd.concat([dfKNN, dfLR, dfMLP, dfRF, dfGradB]) df_concatProbs.reset_index(drop=True, inplace=True) predictionsKNN = [] @@ -675,13 +738,28 @@ def PreprocessingPred(): 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) - return [predictionsKNN, predictionsLR, predictions] + return [predictionsKNN, predictionsLR, predictionsMLP, predictionsRF, predictionsGradB, predictions] def PreprocessingPredEnsemble(): @@ -689,29 +767,49 @@ def PreprocessingPredEnsemble(): numberIDKNN = [] numberIDLR = [] + numberIDMLP = [] + numberIDRF = [] + numberIDGradB = [] + for el in EnsembleActive: match = re.match(r"([a-z]+)([0-9]+)", el, re.I) if match: items = match.groups() if (items[0] == 'KNN'): numberIDKNN.append(int(items[1])) - else: + elif (items[0] == 'LR'): numberIDLR.append(int(items[1])) + elif (items[0] == 'MLP'): + numberIDMLP.append(int(items[1])) + elif (items[0] == 'RF'): + numberIDRF.append(int(items[1])) + else: + numberIDGradB.append(int(items[1])) dicKNN = allParametersPerformancePerModel[3] dicLR = allParametersPerformancePerModel[7] + dicMLP = allParametersPerformancePerModel[11] + dicRF = allParametersPerformancePerModel[15] + dicGradB = allParametersPerformancePerModel[19] dfKNN = pd.DataFrame.from_dict(dicKNN) dfLR = pd.DataFrame.from_dict(dicLR) - df_concatProbs = pd.concat([dfKNN, dfLR]) + 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]) + df_concatProbs = pd.concat([dfKNN, dfLR, dfMLP, dfRF, dfGradB]) predictionsKNN = [] for column, content in dfKNN.items(): @@ -723,50 +821,95 @@ def PreprocessingPredEnsemble(): 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) - return [predictionsKNN, predictionsLR, predictions] + return [predictionsKNN, predictionsLR, predictionsMLP, predictionsRF, predictionsGradB, predictions] def PreprocessingParam(): dicKNN = allParametersPerformancePerModel[1] dicLR = allParametersPerformancePerModel[5] + dicMLP = allParametersPerformancePerModel[9] + dicRF = allParametersPerformancePerModel[13] + dicGradB = allParametersPerformancePerModel[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]) + df_params = pd.concat([dfKNN, dfLR, dfMLP, dfRF, dfGradB]) df_params = df_params.reset_index(drop=True) return df_params def PreprocessingParamSep(): dicKNN = allParametersPerformancePerModel[1] dicLR = allParametersPerformancePerModel[5] + dicMLP = allParametersPerformancePerModel[9] + dicRF = allParametersPerformancePerModel[13] + dicGradB = allParametersPerformancePerModel[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 - return [dfKNN, dfLR] + return [dfKNN, dfLR, dfMLP, dfRF, dfGradB] # remove that maybe! def preProcsumPerMetric(factors): @@ -1463,28 +1606,61 @@ def PreprocessingPredSel(SelectedIDs): global addKNN global addLR + global addMLP + global addRF + global addGradB numberIDKNN = [] numberIDLR = [] + numberIDMLP = [] + numberIDRF = [] + numberIDGradB = [] + for el in SelectedIDs: match = re.match(r"([a-z]+)([0-9]+)", el, re.I) if match: items = match.groups() if (items[0] == 'KNN'): - numberIDKNN.append(int(items[1]) -addKNN) - else: + numberIDKNN.append(int(items[1]) - addKNN) + elif (items[0] == 'LR'): numberIDLR.append(int(items[1]) - addLR) + elif (items[0] == 'MLP'): + numberIDMLP.append(int(items[1]) - addMLP) + elif (items[0] == 'RF'): + 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) - dfKNN = dfKNN.loc[numberIDKNN] + dfLR = pd.DataFrame.from_dict(dicLR) dfLR = dfLR.loc[numberIDLR] + dfLR.index += addKNN - df_concatProbs = pd.concat([dfKNN, dfLR]) + + dfMLP = pd.DataFrame.from_dict(dicMLP) + dfMLP = dfMLP.loc[numberIDMLP] + + dfMLP.index += addKNN + addLR + + dfRF = pd.DataFrame.from_dict(dicRF) + dfRF = dfRF.loc[numberIDRF] + + dfRF.index += addKNN + addLR + addMLP + + dfGradB = pd.DataFrame.from_dict(dicGradB) + dfGradB = dfGradB.loc[numberIDGradB] + + dfGradB.index += addKNN + addLR + addMLP + addRF + + df_concatProbs = pd.concat([dfKNN, dfLR, dfMLP, dfRF, dfGradB]) predictionsKNN = [] for column, content in dfKNN.items(): @@ -1496,12 +1672,27 @@ def PreprocessingPredSel(SelectedIDs): 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) - return [predictionsKNN, predictionsLR, predictions] + return [predictionsKNN, predictionsLR, predictionsMLP, predictionsRF, predictionsGradB, predictions] @cross_origin(origin='localhost',headers=['Content-Type','Authorization']) @app.route('/data/SendtoSeverSelIDs', methods=["GET", "POST"]) @@ -1528,30 +1719,49 @@ def PreprocessingPredSelEnsem(SelectedIDsEnsem): numberIDKNN = [] numberIDLR = [] + numberIDMLP = [] + numberIDRF = [] + numberIDGradB = [] + for el in SelectedIDsEnsem: match = re.match(r"([a-z]+)([0-9]+)", el, re.I) if match: items = match.groups() if (items[0] == 'KNN'): numberIDKNN.append(int(items[1])) + elif (items[0] == 'LR'): + numberIDLR.append(int(items[1])) + elif (items[0] == 'MLP'): + numberIDLR.append(int(items[1])) + elif (items[0] == 'RF'): + numberIDLR.append(int(items[1])) else: numberIDLR.append(int(items[1])) dicKNN = allParametersPerformancePerModel[3] dicLR = allParametersPerformancePerModel[7] + dicMLP = allParametersPerformancePerModel[11] + dicRF = allParametersPerformancePerModel[15] + dicGradB = allParametersPerformancePerModel[19] dfKNN = pd.DataFrame.from_dict(dicKNN) dfLR = pd.DataFrame.from_dict(dicLR) - df_concatProbs = pd.concat([dfKNN, dfLR]) + 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]) + df_concatProbs = pd.concat([dfKNN, dfLR, dfMLP, dfRF, dfGradB]) predictionsKNN = [] for column, content in dfKNN.items(): @@ -1563,12 +1773,27 @@ def PreprocessingPredSelEnsem(SelectedIDsEnsem): 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) - return [predictionsKNN, predictionsLR, predictions] + return [predictionsKNN, predictionsLR, predictionsMLP, predictionsRF, predictionsGradB, predictions] @cross_origin(origin='localhost',headers=['Content-Type','Authorization']) @app.route('/data/SendtoSeverSelIDsEnsem', methods=["GET", "POST"])