Former-commit-id: c6393c0e6f
master
parent 434da12d3c
commit 1203796056
  1. BIN
      __pycache__/run.cpython-37.pyc
  2. BIN
      cachedir/joblib/run/GridSearchForModels/080d2e54a0c82b08dc590fe8fd0c0e50/output.pkl
  3. 1
      cachedir/joblib/run/GridSearchForModels/0c5f8a1f4bea8be6ae4682e53eda9c9a/metadata.json
  4. 1
      cachedir/joblib/run/GridSearchForModels/2272bf2f2eb73a7efc74074ee6a6c15e/metadata.json
  5. BIN
      cachedir/joblib/run/GridSearchForModels/2f69ba23eb822696a3dd502d57a69769/output.pkl
  6. 1
      cachedir/joblib/run/GridSearchForModels/3c35980bb4ff691ea900ae01dc4c390e/metadata.json
  7. 1
      cachedir/joblib/run/GridSearchForModels/3f6d2dbb8c264332ed46e83725cce2c3/output.pkl.REMOVED.git-id
  8. 1
      cachedir/joblib/run/GridSearchForModels/417c9d3ca719ab50ac2ab97fbfb5069b/metadata.json
  9. BIN
      cachedir/joblib/run/GridSearchForModels/443876fb4ee9a745a5e0263d22d18b6c/output.pkl
  10. 1
      cachedir/joblib/run/GridSearchForModels/44d3d205fa9d07df22e30c0613c63437/output.pkl.REMOVED.git-id
  11. BIN
      cachedir/joblib/run/GridSearchForModels/47d9815571b6615686b51643ff74edde/output.pkl
  12. 1
      cachedir/joblib/run/GridSearchForModels/60fac8b7832dab843ebf74c2ef6176fa/output.pkl.REMOVED.git-id
  13. 1
      cachedir/joblib/run/GridSearchForModels/655a6eaba76ddf35cbc9b77dd123f6d1/metadata.json
  14. BIN
      cachedir/joblib/run/GridSearchForModels/6af4a60c3ab79f2a59a2c852d99a7740/output.pkl
  15. 1
      cachedir/joblib/run/GridSearchForModels/720be86fddd302411e0948780014d505/metadata.json
  16. 1
      cachedir/joblib/run/GridSearchForModels/72ee0dae832b932164fbb238cdd167cb/metadata.json
  17. 1
      cachedir/joblib/run/GridSearchForModels/7987784bb00482e6d734e7418e8e7825/metadata.json
  18. 1
      cachedir/joblib/run/GridSearchForModels/84c9e65e096b72223ec9394ef6c77677/metadata.json
  19. 1
      cachedir/joblib/run/GridSearchForModels/857a30e45af06f6a78691a05559ad386/output.pkl.REMOVED.git-id
  20. 1
      cachedir/joblib/run/GridSearchForModels/86bbdf5857df4fd69c1a7640e32eb954/output.pkl.REMOVED.git-id
  21. 1
      cachedir/joblib/run/GridSearchForModels/8eb6d31b2f7dfdeafa1c9fbf54862bb3/metadata.json
  22. BIN
      cachedir/joblib/run/GridSearchForModels/8fb98ea4bff0c958c4784d68664d2f05/output.pkl
  23. 1
      cachedir/joblib/run/GridSearchForModels/90003ee6cd1c752ef075aa0a52f23492/metadata.json
  24. 1
      cachedir/joblib/run/GridSearchForModels/90f4ec7056539ba8f1ae91d2ce378613/metadata.json
  25. 1
      cachedir/joblib/run/GridSearchForModels/9147dc03a27d188e71203f91522c7d50/metadata.json
  26. BIN
      cachedir/joblib/run/GridSearchForModels/9484a1ead07b43a733fa1662bd133fff/output.pkl
  27. 1
      cachedir/joblib/run/GridSearchForModels/95a22676f7ad60c99edc19898693b276/output.pkl.REMOVED.git-id
  28. 1
      cachedir/joblib/run/GridSearchForModels/99bebc535b9dc39e3b7a912db6db2091/metadata.json
  29. BIN
      cachedir/joblib/run/GridSearchForModels/a25b1cee38ae9366c3ea6de77a25f3b7/output.pkl
  30. 1
      cachedir/joblib/run/GridSearchForModels/a4f545a4898d1485cfb4ed50c0d2a913/metadata.json
  31. 1
      cachedir/joblib/run/GridSearchForModels/aa7b669072217a30f580f31b1f22c109/metadata.json
  32. BIN
      cachedir/joblib/run/GridSearchForModels/b3db96391ec83e1a8547f6958c50d7fb/output.pkl
  33. 1
      cachedir/joblib/run/GridSearchForModels/bcd3d48e754a86963f67344f00056fa2/metadata.json
  34. 1
      cachedir/joblib/run/GridSearchForModels/c9f7ad12fbeadc6012d9b5d28fd5d889/metadata.json
  35. BIN
      cachedir/joblib/run/GridSearchForModels/ce3deef62fcdb9a13275d0d7a193fdfa/output.pkl
  36. 1
      cachedir/joblib/run/GridSearchForModels/d47cb434b4b20b0c82fcf3a60162c740/metadata.json
  37. 1
      cachedir/joblib/run/GridSearchForModels/da0b6483b461b61b7f4703390b9d52a4/output.pkl.REMOVED.git-id
  38. 1
      cachedir/joblib/run/GridSearchForModels/e20db815e97d599adf98f06c37ea0d88/metadata.json
  39. BIN
      cachedir/joblib/run/GridSearchForModels/e8cc5471eed484384e9281c824bce22c/output.pkl
  40. 1
      cachedir/joblib/run/GridSearchForModels/f4d33884dc001f572bf3782e5bcfc337/metadata.json
  41. 1
      cachedir/joblib/run/GridSearchForModels/fae571cb8275aa179fbc88d44e722bdf/output.pkl.REMOVED.git-id
  42. 1
      cachedir/joblib/run/GridSearchForModels/fb36bc13646b59fa075cbef1b5f8c47e/metadata.json
  43. 1
      cachedir/joblib/run/GridSearchForModels/fb3815bf3f2bf82cd75faa5a3a9cbe4b/metadata.json
  44. 1
      cachedir/joblib/run/GridSearchForModels/fee66581911cfa2324cc40a9d0b5d65a/output.pkl.REMOVED.git-id
  45. BIN
      cachedir/joblib/run/GridSearchForModels/feff3eb388078b3f79cf8488ff40a745/output.pkl
  46. 16
      cachedir/joblib/run/GridSearchForModels/func_code.py
  47. 27
      frontend/src/components/Active.vue
  48. 2
      frontend/src/components/AlgorithmHyperParam.vue
  49. 184
      frontend/src/components/Algorithms.vue
  50. 51
      frontend/src/components/BarChart.vue
  51. 2
      frontend/src/components/Controller.vue
  52. 4
      frontend/src/components/DataSetExecController.vue
  53. 53
      frontend/src/components/DataSpace.vue
  54. 110
      frontend/src/components/FinalResultsLinePlot.vue
  55. 1
      frontend/src/components/Heatmap.vue
  56. 63
      frontend/src/components/Main.vue
  57. 100
      frontend/src/components/Parameters.vue
  58. 3
      frontend/src/components/PerMetricBarChart.vue
  59. 29
      frontend/src/components/PredictionsSpace.vue
  60. 119
      frontend/src/components/Provenance.vue
  61. 85
      frontend/src/components/SlidersController.vue
  62. 4
      frontend/src/main.js
  63. 134
      run.py
  64. 3559
      stance.csv

Binary file not shown.

@ -0,0 +1 @@
{"duration": 808.1316039562225, "input_args": {"XData": " Age Sex Cp Trestbps Chol Fbs Restecg Thalach Exang Oldpeak Slope Ca Thal\n0 63 1 3 145 233 1 0 150 0 2.3 0 0 1\n1 37 1 2 130 250 0 1 187 0 3.5 0 0 2\n2 41 0 1 130 204 0 0 172 0 1.4 2 0 2\n3 56 1 1 120 236 0 1 178 0 0.8 2 0 2\n4 57 0 0 120 354 0 1 163 1 0.6 2 0 2\n.. ... ... .. ... ... ... ... ... ... ... ... .. ...\n298 57 0 0 140 241 0 1 123 1 0.2 1 0 3\n299 45 1 3 110 264 0 1 132 0 1.2 1 0 3\n300 68 1 0 144 193 1 1 141 0 3.4 1 2 3\n301 57 1 0 130 131 0 1 115 1 1.2 1 1 3\n302 57 0 1 130 236 0 0 174 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(ccp_alpha=0.0, criterion='mae', init=None,\n learning_rate=0.12, loss='deviance', max_depth=3,\n max_features=None, max_leaf_nodes=None,\n min_impurity_decrease=0.0, min_impurity_split=None,\n min_samples_leaf=1, min_samples_split=2,\n min_weight_fraction_leaf=0.0, n_estimators=114,\n n_iter_no_change=None, presort='deprecated',\n random_state=42, subsample=1.0, tol=0.0001,\n validation_fraction=0.1, verbose=0,\n warm_start=False)", "params": "{'n_estimators': [85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114], 'learning_rate': [0.01, 0.12], 'criterion': ['friedman_mse', 'mse', 'mae']}", "eachAlgor": "'GradB'", "AlgorithmsIDsEnd": "2926", "toggle": "1"}}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
{"duration": 82.00885820388794, "input_args": {"XData": " Age Sex Cp Trestbps Chol Fbs Restecg Thalach Exang Oldpeak Slope Ca Thal\n0 63 1 3 145 233 1 0 150 0 2.3 0 0 1\n1 37 1 2 130 250 0 1 187 0 3.5 0 0 2\n2 41 0 1 130 204 0 0 172 0 1.4 2 0 2\n3 56 1 1 120 236 0 1 178 0 0.8 2 0 2\n4 57 0 0 120 354 0 1 163 1 0.6 2 0 2\n.. ... ... .. ... ... ... ... ... ... ... ... .. ...\n298 57 0 0 140 241 0 1 123 1 0.2 1 0 3\n299 45 1 3 110 264 0 1 132 0 1.2 1 0 3\n300 68 1 0 144 193 1 1 141 0 3.4 1 2 3\n301 57 1 0 130 131 0 1 115 1 1.2 1 1 3\n302 57 0 1 130 236 0 0 174 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', leaf_size=30, metric='minkowski',\n metric_params=None, n_jobs=None, n_neighbors=24, p=2,\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], 'metric': ['chebyshev', 'manhattan', 'euclidean', 'minkowski'], 'algorithm': ['brute', 'kd_tree', 'ball_tree'], 'weights': ['uniform', 'distance']}", "eachAlgor": "'KNN'", "AlgorithmsIDsEnd": "0", "toggle": "0"}}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
{"duration": 1185.2191259860992, "input_args": {"XData": " Age Sex Cp Trestbps Chol Fbs Restecg Thalach Exang Oldpeak Slope Ca Thal\n0 63 1 3 145 233 1 0 150 0 2.3 0 0 1\n1 37 1 2 130 250 0 1 187 0 3.5 0 0 2\n2 41 0 1 130 204 0 0 172 0 1.4 2 0 2\n3 56 1 1 120 236 0 1 178 0 0.8 2 0 2\n4 57 0 0 120 354 0 1 163 1 0.6 2 0 2\n.. ... ... .. ... ... ... ... ... ... ... ... .. ...\n298 57 0 0 140 241 0 1 123 1 0.2 1 0 3\n299 45 1 3 110 264 0 1 132 0 1.2 1 0 3\n300 68 1 0 144 193 1 1 141 0 3.4 1 2 3\n301 57 1 0 130 131 0 1 115 1 1.2 1 1 3\n302 57 0 1 130 236 0 0 174 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": "AdaBoostClassifier(algorithm='SAMME', base_estimator=None, learning_rate=1.2,\n n_estimators=79, random_state=42)", "params": "{'n_estimators': [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], 'learning_rate': [0.1, 1.2000000000000002], 'algorithm': ['SAMME.R', 'SAMME']}", "eachAlgor": "'AdaB'", "AlgorithmsIDsEnd": "2766", "toggle": "1"}}

@ -0,0 +1 @@
{"duration": 421.42440700531006, "input_args": {"XData": " Age Sex Cp Trestbps Chol Fbs Restecg Thalach Exang Oldpeak Slope Ca Thal\n0 63 1 3 145 233 1 0 150 0 2.3 0 0 1\n1 37 1 2 130 250 0 1 187 0 3.5 0 0 2\n2 41 0 1 130 204 0 0 172 0 1.4 2 0 2\n3 56 1 1 120 236 0 1 178 0 0.8 2 0 2\n4 57 0 0 120 354 0 1 163 1 0.6 2 0 2\n.. ... ... .. ... ... ... ... ... ... ... ... .. ...\n298 57 0 0 140 241 0 1 123 1 0.2 1 0 3\n299 45 1 3 110 264 0 1 132 0 1.2 1 0 3\n300 68 1 0 144 193 1 1 141 0 3.4 1 2 3\n301 57 1 0 130 131 0 1 115 1 1.2 1 1 3\n302 57 0 1 130 236 0 0 174 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=1.925, class_weight=None, dual=False, fit_intercept=True,\n intercept_scaling=1, l1_ratio=None, max_iter=200,\n multi_class='auto', n_jobs=None, penalty='none',\n random_state=42, solver='saga', tol=0.0001, verbose=0,\n warm_start=False)", "params": "{'C': [0.5, 0.575, 0.6499999999999999, 0.7249999999999999, 0.7999999999999998, 0.8749999999999998, 0.9499999999999997, 1.0249999999999997, 1.0999999999999996, 1.1749999999999996, 1.2499999999999996, 1.3249999999999995, 1.3999999999999995, 1.4749999999999994, 1.5499999999999994, 1.6249999999999993, 1.6999999999999993, 1.7749999999999992, 1.8499999999999992, 1.9249999999999992], 'max_iter': [50, 100, 150, 200], 'solver': ['lbfgs', 'newton-cg', 'sag', 'saga'], 'penalty': ['l2', 'none']}", "eachAlgor": "'LR'", "AlgorithmsIDsEnd": "1356", "toggle": "1"}}

@ -0,0 +1 @@
{"duration": 126.82636213302612, "input_args": {"XData": " Age Sex Cp Trestbps Chol Fbs Restecg Thalach Exang Oldpeak Slope Ca Thal\n0 63 1 3 145 233 1 0 150 0 2.3 0 0 1\n1 37 1 2 130 250 0 1 187 0 3.5 0 0 2\n2 41 0 1 130 204 0 0 172 0 1.4 2 0 2\n3 56 1 1 120 236 0 1 178 0 0.8 2 0 2\n4 57 0 0 120 354 0 1 163 1 0.6 2 0 2\n.. ... ... .. ... ... ... ... ... ... ... ... .. ...\n298 57 0 0 140 241 0 1 123 1 0.2 1 0 3\n299 45 1 3 110 264 0 1 132 0 1.2 1 0 3\n300 68 1 0 144 193 1 1 141 0 3.4 1 2 3\n301 57 1 0 130 131 0 1 115 1 1.2 1 1 3\n302 57 0 1 130 236 0 0 174 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": "QuadraticDiscriminantAnalysis(priors=None, reg_param=0.98,\n store_covariance=False, tol=0.00081)", "params": "{'reg_param': [0.0, 0.02, 0.04, 0.06, 0.08, 0.1, 0.12, 0.14, 0.16, 0.18, 0.2, 0.22, 0.24, 0.26, 0.28, 0.3, 0.32, 0.34, 0.36, 0.38, 0.4, 0.42, 0.44, 0.46, 0.48, 0.5, 0.52, 0.54, 0.56, 0.58, 0.6, 0.62, 0.64, 0.66, 0.68, 0.7000000000000001, 0.72, 0.74, 0.76, 0.78, 0.8, 0.8200000000000001, 0.84, 0.86, 0.88, 0.9, 0.92, 0.9400000000000001, 0.96, 0.98], 'tol': [1e-05, 0.00021, 0.00041000000000000005, 0.0006100000000000001, 0.0008100000000000001]}", "eachAlgor": "'QDA'", "AlgorithmsIDsEnd": "2196", "toggle": "1"}}

@ -0,0 +1 @@
{"duration": 1975.5374217033386, "input_args": {"XData": " Age Sex Cp Trestbps Chol Fbs Restecg Thalach Exang Oldpeak Slope Ca Thal\n0 63 1 3 145 233 1 0 150 0 2.3 0 0 1\n1 37 1 2 130 250 0 1 187 0 3.5 0 0 2\n2 41 0 1 130 204 0 0 172 0 1.4 2 0 2\n3 56 1 1 120 236 0 1 178 0 0.8 2 0 2\n4 57 0 0 120 354 0 1 163 1 0.6 2 0 2\n.. ... ... .. ... ... ... ... ... ... ... ... .. ...\n298 57 0 0 140 241 0 1 123 1 0.2 1 0 3\n299 45 1 3 110 264 0 1 132 0 1.2 1 0 3\n300 68 1 0 144 193 1 1 141 0 3.4 1 2 3\n301 57 1 0 130 131 0 1 115 1 1.2 1 1 3\n302 57 0 1 130 236 0 0 174 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(bootstrap=True, ccp_alpha=0.0, class_weight=None,\n criterion='entropy', max_depth=None, max_features='auto',\n max_leaf_nodes=None, max_samples=None,\n min_impurity_decrease=0.0, min_impurity_split=None,\n min_samples_leaf=1, min_samples_split=2,\n min_weight_fraction_leaf=0.0, n_estimators=139,\n n_jobs=None, oob_score=False, random_state=42, verbose=0,\n warm_start=False)", "params": "{'n_estimators': [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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139], 'criterion': ['gini', 'entropy']}", "eachAlgor": "'RF'", "AlgorithmsIDsEnd": "2446", "toggle": "1"}}

@ -0,0 +1 @@
{"duration": 1522.8265852928162, "input_args": {"XData": " Age Sex Cp Trestbps Chol Fbs Restecg Thalach Exang Oldpeak Slope Ca Thal\n0 63 1 3 145 233 1 0 150 0 2.3 0 0 1\n1 37 1 2 130 250 0 1 187 0 3.5 0 0 2\n2 41 0 1 130 204 0 0 172 0 1.4 2 0 2\n3 56 1 1 120 236 0 1 178 0 0.8 2 0 2\n4 57 0 0 120 354 0 1 163 1 0.6 2 0 2\n.. ... ... .. ... ... ... ... ... ... ... ... .. ...\n298 57 0 0 140 241 0 1 123 1 0.2 1 0 3\n299 45 1 3 110 264 0 1 132 0 1.2 1 0 3\n300 68 1 0 144 193 1 1 141 0 3.4 1 2 3\n301 57 1 0 130 131 0 1 115 1 1.2 1 1 3\n302 57 0 1 130 236 0 0 174 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', leaf_size=30, metric='minkowski',\n metric_params=None, n_jobs=None, n_neighbors=24, p=2,\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], 'metric': ['chebyshev', 'manhattan', 'euclidean', 'minkowski'], 'algorithm': ['brute', 'kd_tree', 'ball_tree'], 'weights': ['uniform', 'distance']}", "eachAlgor": "'KNN'", "AlgorithmsIDsEnd": "0", "toggle": "1"}}

@ -0,0 +1 @@
{"duration": 102.67770314216614, "input_args": {"XData": " Age Sex Cp Trestbps Chol Fbs Restecg Thalach Exang Oldpeak Slope Ca Thal\n0 63 1 3 145 233 1 0 150 0 2.3 0 0 1\n1 37 1 2 130 250 0 1 187 0 3.5 0 0 2\n2 41 0 1 130 204 0 0 172 0 1.4 2 0 2\n3 56 1 1 120 236 0 1 178 0 0.8 2 0 2\n4 57 0 0 120 354 0 1 163 1 0.6 2 0 2\n.. ... ... .. ... ... ... ... ... ... ... ... .. ...\n298 57 0 0 140 241 0 1 123 1 0.2 1 0 3\n299 45 1 3 110 264 0 1 132 0 1.2 1 0 3\n300 68 1 0 144 193 1 1 141 0 3.4 1 2 3\n301 57 1 0 130 131 0 1 115 1 1.2 1 1 3\n302 57 0 1 130 236 0 0 174 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": "LinearDiscriminantAnalysis(n_components=None, priors=None, shrinkage=0.99,\n solver='eigen', store_covariance=False, tol=0.0001)", "params": "{'shrinkage': [0.0, 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1, 0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19, 0.2, 0.21, 0.22, 0.23, 0.24, 0.25, 0.26, 0.27, 0.28, 0.29, 0.3, 0.31, 0.32, 0.33, 0.34, 0.35000000000000003, 0.36, 0.37, 0.38, 0.39, 0.4, 0.41000000000000003, 0.42, 0.43, 0.44, 0.45, 0.46, 0.47000000000000003, 0.48, 0.49, 0.5, 0.51, 0.52, 0.53, 0.54, 0.55, 0.56, 0.5700000000000001, 0.58, 0.59, 0.6, 0.61, 0.62, 0.63, 0.64, 0.65, 0.66, 0.67, 0.68, 0.6900000000000001, 0.7000000000000001, 0.71, 0.72, 0.73, 0.74, 0.75, 0.76, 0.77, 0.78, 0.79, 0.8, 0.81, 0.8200000000000001, 0.8300000000000001, 0.84, 0.85, 0.86, 0.87, 0.88, 0.89, 0.9, 0.91, 0.92, 0.93, 0.9400000000000001, 0.9500000000000001, 0.96, 0.97, 0.98, 0.99], 'solver': ['lsqr', 'eigen']}", "eachAlgor": "'LDA'", "AlgorithmsIDsEnd": "1996", "toggle": "1"}}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
{"duration": 9443.513182163239, "input_args": {"XData": " Age Sex Cp Trestbps Chol Fbs Restecg Thalach Exang Oldpeak Slope Ca Thal\n0 63 1 3 145 233 1 0 150 0 2.3 0 0 1\n1 37 1 2 130 250 0 1 187 0 3.5 0 0 2\n2 41 0 1 130 204 0 0 172 0 1.4 2 0 2\n3 56 1 1 120 236 0 1 178 0 0.8 2 0 2\n4 57 0 0 120 354 0 1 163 1 0.6 2 0 2\n.. ... ... .. ... ... ... ... ... ... ... ... .. ...\n298 57 0 0 140 241 0 1 123 1 0.2 1 0 3\n299 45 1 3 110 264 0 1 132 0 1.2 1 0 3\n300 68 1 0 144 193 1 1 141 0 3.4 1 2 3\n301 57 1 0 130 131 0 1 115 1 1.2 1 1 3\n302 57 0 1 130 236 0 0 174 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": "SVC(C=4.39, break_ties=False, cache_size=200, class_weight=None, coef0=0.0,\n decision_function_shape='ovr', degree=3, gamma='scale', kernel='sigmoid',\n max_iter=-1, probability=True, random_state=42, shrinking=True, tol=0.001,\n verbose=False)", "params": "{'C': [0.1, 0.21000000000000002, 0.32000000000000006, 0.43000000000000005, 0.54, 0.65, 0.7600000000000001, 0.8700000000000001, 0.9800000000000001, 1.09, 1.2000000000000002, 1.3100000000000003, 1.4200000000000004, 1.5300000000000002, 1.6400000000000003, 1.7500000000000002, 1.8600000000000003, 1.9700000000000004, 2.08, 2.1900000000000004, 2.3000000000000003, 2.4100000000000006, 2.5200000000000005, 2.6300000000000003, 2.7400000000000007, 2.8500000000000005, 2.9600000000000004, 3.0700000000000003, 3.1800000000000006, 3.2900000000000005, 3.4000000000000004, 3.5100000000000007, 3.6200000000000006, 3.7300000000000004, 3.8400000000000007, 3.9500000000000006, 4.0600000000000005, 4.17, 4.28, 4.390000000000001], 'kernel': ['rbf', 'linear', 'poly', 'sigmoid']}", "eachAlgor": "'SVC'", "AlgorithmsIDsEnd": "576", "toggle": "1"}}

@ -0,0 +1 @@
{"duration": 517.1162519454956, "input_args": {"XData": " Age Sex Cp Trestbps Chol Fbs Restecg Thalach Exang Oldpeak Slope Ca Thal\n0 63 1 3 145 233 1 0 150 0 2.3 0 0 1\n1 37 1 2 130 250 0 1 187 0 3.5 0 0 2\n2 41 0 1 130 204 0 0 172 0 1.4 2 0 2\n3 56 1 1 120 236 0 1 178 0 0.8 2 0 2\n4 57 0 0 120 354 0 1 163 1 0.6 2 0 2\n.. ... ... .. ... ... ... ... ... ... ... ... .. ...\n298 57 0 0 140 241 0 1 123 1 0.2 1 0 3\n299 45 1 3 110 264 0 1 132 0 1.2 1 0 3\n300 68 1 0 144 193 1 1 141 0 3.4 1 2 3\n301 57 1 0 130 131 0 1 115 1 1.2 1 1 3\n302 57 0 1 130 236 0 0 174 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(activation='tanh', alpha=0.00081, batch_size='auto', beta_1=0.9,\n beta_2=0.999, early_stopping=False, epsilon=1e-08,\n hidden_layer_sizes=(100,), learning_rate='constant',\n learning_rate_init=0.001, max_fun=15000, max_iter=100,\n momentum=0.9, n_iter_no_change=10, nesterovs_momentum=True,\n power_t=0.5, random_state=42, shuffle=True, solver='sgd',\n tol=0.00081, validation_fraction=0.1, verbose=False,\n warm_start=False)", "params": "{'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": "1236", "toggle": "1"}}

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
{"duration": 1597.3868968486786, "input_args": {"XData": " Age Sex Cp Trestbps Chol Fbs Restecg Thalach Exang Oldpeak Slope Ca Thal\n0 63 1 3 145 233 1 0 150 0 2.3 0 0 1\n1 37 1 2 130 250 0 1 187 0 3.5 0 0 2\n2 41 0 1 130 204 0 0 172 0 1.4 2 0 2\n3 56 1 1 120 236 0 1 178 0 0.8 2 0 2\n4 57 0 0 120 354 0 1 163 1 0.6 2 0 2\n.. ... ... .. ... ... ... ... ... ... ... ... .. ...\n298 57 0 0 140 241 0 1 123 1 0.2 1 0 3\n299 45 1 3 110 264 0 1 132 0 1.2 1 0 3\n300 68 1 0 144 193 1 1 141 0 3.4 1 2 3\n301 57 1 0 130 131 0 1 115 1 1.2 1 1 3\n302 57 0 1 130 236 0 0 174 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": "ExtraTreesClassifier(bootstrap=False, ccp_alpha=0.0, class_weight=None,\n criterion='entropy', max_depth=None, max_features='auto',\n max_leaf_nodes=None, max_samples=None,\n min_impurity_decrease=0.0, min_impurity_split=None,\n min_samples_leaf=1, min_samples_split=2,\n min_weight_fraction_leaf=0.0, n_estimators=139,\n n_jobs=None, oob_score=False, random_state=42, verbose=0,\n warm_start=False)", "params": "{'n_estimators': [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, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139], 'criterion': ['gini', 'entropy']}", "eachAlgor": "'ExtraT'", "AlgorithmsIDsEnd": "2606", "toggle": "1"}}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1,4 +1,4 @@
# first line: 559
# first line: 552
@memory.cache
def GridSearchForModels(XData, yData, clf, params, eachAlgor, AlgorithmsIDsEnd, toggle):
# instantiate spark session
@ -63,6 +63,8 @@ def GridSearchForModels(XData, yData, clf, params, eachAlgor, AlgorithmsIDsEnd,
PerFeatureAccuracyAll = []
PerClassMetric = []
perModelProb = []
perModelPrediction = []
resultsMicro = []
resultsMacro = []
resultsWeighted = []
@ -85,7 +87,8 @@ def GridSearchForModels(XData, yData, clf, params, eachAlgor, AlgorithmsIDsEnd,
inputs = range(len(XData))
num_cores = multiprocessing.cpu_count()
impDataInst = Parallel(n_jobs=num_cores)(delayed(processInput)(i,XData,yData,crossValidation,clf) for i in inputs)
#impDataInst = Parallel(n_jobs=num_cores)(delayed(processInput)(i,XData,yData,crossValidation,clf) for i in inputs)
for eachModelParameters in parametersLocalNew:
clf.set_params(**eachModelParameters)
if (toggle == 1):
@ -103,6 +106,7 @@ def GridSearchForModels(XData, yData, clf, params, eachAlgor, AlgorithmsIDsEnd,
clf.fit(XData, yData)
yPredict = clf.predict(XData)
yPredict = np.nan_to_num(yPredict)
perModelPrediction.append(yPredict)
# retrieve target names (class names)
PerClassMetric.append(classification_report(yData, yPredict, target_names=target_names, digits=2, output_dict=True))
yPredictProb = clf.predict_proba(XData)
@ -128,7 +132,7 @@ def GridSearchForModels(XData, yData, clf, params, eachAlgor, AlgorithmsIDsEnd,
resultsWeightedBeta2.append(fbeta_score(yData, yPredict, average='weighted', beta=2))
resultsLogLoss.append(log_loss(yData, yPredictProb, normalize=True))
print('perase')
maxLog = max(resultsLogLoss)
minLog = min(resultsLogLoss)
for each in resultsLogLoss:
@ -154,6 +158,10 @@ def GridSearchForModels(XData, yData, clf, params, eachAlgor, AlgorithmsIDsEnd,
metrics.insert(loop+13,'log_loss',resultsLogLossFinal)
perModelPredPandas = pd.DataFrame(perModelPrediction)
print(perModelPredPandas)
perModelPredPandas = perModelPredPandas.to_json()
perModelProbPandas = pd.DataFrame(perModelProb)
perModelProbPandas = perModelProbPandas.to_json()
@ -189,6 +197,6 @@ def GridSearchForModels(XData, yData, clf, params, eachAlgor, AlgorithmsIDsEnd,
metrics = metrics.to_json()
results.append(metrics) # Position: 6 and so on
results.append(perModelProbPandas) # Position: 7 and so on
results.append(json.dumps(impDataInst)) # Position: 8 and so on
results.append(json.dumps(perModelPredPandas)) # Position: 8 and so on
return results

@ -0,0 +1,27 @@
<template>
<button style="float: right;"
id="updateActive"
v-on:click="sendUpdateActive">
<font-awesome-icon icon="calculator" />
{{ valueActive }}
</button>
</template>
<script>
import { EventBus } from '../main.js'
export default {
name: 'Active',
data () {
return {
valueActive: 'Compute Active Metamodel\'s Performance'
}
},
methods: {
sendUpdateActive () {
EventBus.$emit('OpenModal')
}
}
}
</script>

@ -1,5 +1,5 @@
<template>
<div id="PCP" class="parcoords" style="min-height: 307px;"></div>
<div id="PCP" class="parcoords" style="min-height: 285px;"></div>
</template>
<script>

@ -1,6 +1,6 @@
<template>
<div>
<div id="exploding_boxplot" class="exploding_boxplot" style="min-height: 430px;"></div>
<div id="exploding_boxplot" class="exploding_boxplot" style="min-height: 450px;"></div>
</div>
</template>
@ -22,7 +22,7 @@ export default {
brushedBoxPl: [],
previousColor: 0,
selectedAlgorithm: 0,
AllAlgorithms: ['KNN','SVC','GausNB','MLP','LR','LDA','QDA','RF','ExtraT','AdaB','GradB'],
AllAlgorithms: ['KNN','SVC','GauNB','MLP','LR','LDA','QDA','RF','ExtraT','AdaB','GradB'],
SVCModels: 576,
GausNBModels: 736,
MLPModels: 1236,
@ -232,92 +232,92 @@ export default {
this.parameters = []
if (this.keyAllOrClass) {
for (var j = 0; j < Object.keys(PerformAlgorKNN['params']).length; j++) {
this.algorithmKNN.push({'# Performance (%) #': McKNN[j],Algorithm:'K-Nearest Neighbors',Model:'Model ID: ' + AlgorKNNIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorKNN['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorKNNIDs[j]})
this.algorithmKNN.push({'# Performance (%) #': McKNN[j],Algorithm:'KNN',Model:'Model ID: ' + AlgorKNNIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorKNN['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorKNNIDs[j]})
this.parameters.push(JSON.stringify(Object.values(PerformAlgorKNN['params'])[j]))
}
for (let j = 0; j < Object.keys(PerformAlgorSVC['params']).length; j++) {
this.algorithmSVC.push({'# Performance (%) #': McSVC[j],Algorithm:'C-Support Vector Classif',Model:'Model ID: ' + AlgorSVCIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorSVC['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorSVCIDs[j]})
this.algorithmSVC.push({'# Performance (%) #': McSVC[j],Algorithm:'SVC',Model:'Model ID: ' + AlgorSVCIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorSVC['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorSVCIDs[j]})
this.parameters.push(JSON.stringify(Object.values(PerformAlgorSVC['params'])[j]))
}
for (let j = 0; j < Object.keys(PerformAlgorGausNB['params']).length; j++) {
this.algorithmGausNB.push({'# Performance (%) #': McGausNB[j],Algorithm:'Gaussian Naive Bayes',Model:'Model ID: ' + AlgorGausNBIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorGausNB['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorGausNBIDs[j]})
this.algorithmGausNB.push({'# Performance (%) #': McGausNB[j],Algorithm:'GauNB',Model:'Model ID: ' + AlgorGausNBIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorGausNB['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorGausNBIDs[j]})
this.parameters.push(JSON.stringify(Object.values(PerformAlgorGausNB['params'])[j]))
}
for (let j = 0; j < Object.keys(PerformAlgorMLP['params']).length; j++) {
this.algorithmMLP.push({'# Performance (%) #': McMLP[j],Algorithm:'Multilayer Perceptron',Model:'Model ID: ' + AlgorMLPIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorMLP['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorMLPIDs[j]})
this.algorithmMLP.push({'# Performance (%) #': McMLP[j],Algorithm:'MLP',Model:'Model ID: ' + AlgorMLPIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorMLP['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorMLPIDs[j]})
this.parameters.push(JSON.stringify(Object.values(PerformAlgorMLP['params'])[j]))
}
for (let j = 0; j < Object.keys(PerformAlgorLR['params']).length; j++) {
this.algorithmLR.push({'# Performance (%) #': McLR[j],Algorithm:'Logistic Regression',Model:'Model ID: ' + AlgorLRIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorLR['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorLRIDs[j]})
this.algorithmLR.push({'# Performance (%) #': McLR[j],Algorithm:'LR',Model:'Model ID: ' + AlgorLRIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorLR['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorLRIDs[j]})
this.parameters.push(JSON.stringify(Object.values(PerformAlgorLR['params'])[j]))
}
for (let j = 0; j < Object.keys(PerformAlgorLDA['params']).length; j++) {
this.algorithmLDA.push({'# Performance (%) #': McLDA[j],Algorithm:'Linear Discrim Analysis',Model:'Model ID: ' + AlgorLDAIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorLDA['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorLDAIDs[j]})
this.algorithmLDA.push({'# Performance (%) #': McLDA[j],Algorithm:'LDA',Model:'Model ID: ' + AlgorLDAIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorLDA['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorLDAIDs[j]})
this.parameters.push(JSON.stringify(Object.values(PerformAlgorLDA['params'])[j]))
}
for (let j = 0; j < Object.keys(PerformAlgorQDA['params']).length; j++) {
this.algorithmQDA.push({'# Performance (%) #': McQDA[j],Algorithm:'Quadratic Discrim Analysis',Model:'Model ID: ' + AlgorQDAIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorQDA['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorQDAIDs[j]})
this.algorithmQDA.push({'# Performance (%) #': McQDA[j],Algorithm:'QDA',Model:'Model ID: ' + AlgorQDAIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorQDA['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorQDAIDs[j]})
this.parameters.push(JSON.stringify(Object.values(PerformAlgorQDA['params'])[j]))
}
for (let j = 0; j < Object.keys(PerformAlgorRF['params']).length; j++) {
this.algorithmRF.push({'# Performance (%) #': McRF[j],Algorithm:'Random Forest',Model:'Model ID: ' + AlgorRFIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorRF['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorRFIDs[j]})
this.algorithmRF.push({'# Performance (%) #': McRF[j],Algorithm:'RF',Model:'Model ID: ' + AlgorRFIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorRF['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorRFIDs[j]})
this.parameters.push(JSON.stringify(Object.values(PerformAlgorRF['params'])[j]))
}
for (let j = 0; j < Object.keys(PerformAlgorExtraT['params']).length; j++) {
this.algorithmExtraT.push({'# Performance (%) #': McExtraT[j],Algorithm:'Extra Trees',Model:'Model ID: ' + AlgorExtraTIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorExtraT['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorExtraTIDs[j]})
this.algorithmExtraT.push({'# Performance (%) #': McExtraT[j],Algorithm:'ExtraT',Model:'Model ID: ' + AlgorExtraTIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorExtraT['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorExtraTIDs[j]})
this.parameters.push(JSON.stringify(Object.values(PerformAlgorExtraT['params'])[j]))
}
for (let j = 0; j < Object.keys(PerformAlgorAdaB['params']).length; j++) {
this.algorithmAdaB.push({'# Performance (%) #': McAdaB[j],Algorithm:'AdaBoost',Model:'Model ID: ' + AlgorAdaBIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorAdaB['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorAdaBIDs[j]})
this.algorithmAdaB.push({'# Performance (%) #': McAdaB[j],Algorithm:'AdaB',Model:'Model ID: ' + AlgorAdaBIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorAdaB['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorAdaBIDs[j]})
this.parameters.push(JSON.stringify(Object.values(PerformAlgorAdaB['params'])[j]))
}
for (let j = 0; j < Object.keys(PerformAlgorGradB['params']).length; j++) {
this.algorithmGradB.push({'# Performance (%) #': McGradB[j],Algorithm:'Gradient Boosting',Model:'Model ID: ' + AlgorGradBIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorGradB['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorGradBIDs[j]})
this.algorithmGradB.push({'# Performance (%) #': McGradB[j],Algorithm:'GradB',Model:'Model ID: ' + AlgorGradBIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorGradB['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorGradBIDs[j]})
this.parameters.push(JSON.stringify(Object.values(PerformAlgorGradB['params'])[j]))
}
} else {
for (var j = 0; j < Object.keys(PerformAlgorKNN['params']).length; j++) {
this.algorithmKNN.push({'# Performance (%) #': this.listClassPerf[0][j],Algorithm:'K-Nearest Neighbors',Model:'Model ID: ' + AlgorKNNIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorKNN['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorKNNIDs[j]})
this.algorithmKNN.push({'# Performance (%) #': this.listClassPerf[0][j],Algorithm:'KNN',Model:'Model ID: ' + AlgorKNNIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorKNN['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorKNNIDs[j]})
this.parameters.push(JSON.stringify(Object.values(PerformAlgorKNN['params'])[j]))
}
for (let j = 0; j < Object.keys(PerformAlgorSVC['params']).length; j++) {
this.algorithmSVC.push({'# Performance (%) #': this.listClassPerf[1][j],Algorithm:'C-Support Vector Classif',Model:'Model ID: ' + AlgorSVCIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorSVC['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorSVCIDs[j]})
this.algorithmSVC.push({'# Performance (%) #': this.listClassPerf[1][j],Algorithm:'SVC',Model:'Model ID: ' + AlgorSVCIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorSVC['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorSVCIDs[j]})
this.parameters.push(JSON.stringify(Object.values(PerformAlgorSVC['params'])[j]))
}
for (let j = 0; j < Object.keys(PerformAlgorGausNB['params']).length; j++) {
this.algorithmGausNB.push({'# Performance (%) #': this.listClassPerf[2][j],Algorithm:'Gaussian Naive Bayes',Model:'Model ID: ' + AlgorGausNBIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorGausNB['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorGausNBIDs[j]})
this.algorithmGausNB.push({'# Performance (%) #': this.listClassPerf[2][j],Algorithm:'GauNB',Model:'Model ID: ' + AlgorGausNBIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorGausNB['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorGausNBIDs[j]})
this.parameters.push(JSON.stringify(Object.values(PerformAlgorGausNB['params'])[j]))
}
for (let j = 0; j < Object.keys(PerformAlgorMLP['params']).length; j++) {
this.algorithmMLP.push({'# Performance (%) #': this.listClassPerf[3][j],Algorithm:'Multilayer Perceptron',Model:'Model ID: ' + AlgorMLPIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorMLP['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorMLPIDs[j]})
this.algorithmMLP.push({'# Performance (%) #': this.listClassPerf[3][j],Algorithm:'MLP',Model:'Model ID: ' + AlgorMLPIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorMLP['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorMLPIDs[j]})
this.parameters.push(JSON.stringify(Object.values(PerformAlgorMLP['params'])[j]))
}
for (let j = 0; j < Object.keys(PerformAlgorLR['params']).length; j++) {
this.algorithmLR.push({'# Performance (%) #': this.listClassPerf[4][j],Algorithm:'Logistic Regression',Model:'Model ID: ' + AlgorLRIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorLR['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorLRIDs[j]})
this.algorithmLR.push({'# Performance (%) #': this.listClassPerf[4][j],Algorithm:'LR',Model:'Model ID: ' + AlgorLRIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorLR['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorLRIDs[j]})
this.parameters.push(JSON.stringify(Object.values(PerformAlgorLR['params'])[j]))
}
for (let j = 0; j < Object.keys(PerformAlgorLDA['params']).length; j++) {
this.algorithmLDA.push({'# Performance (%) #': this.listClassPerf[5][j],Algorithm:'Linear Discrim Analysis',Model:'Model ID: ' + AlgorLDAIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorLDA['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorLDAIDs[j]})
this.algorithmLDA.push({'# Performance (%) #': this.listClassPerf[5][j],Algorithm:'LDA',Model:'Model ID: ' + AlgorLDAIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorLDA['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorLDAIDs[j]})
this.parameters.push(JSON.stringify(Object.values(PerformAlgorLDA['params'])[j]))
}
for (let j = 0; j < Object.keys(PerformAlgorQDA['params']).length; j++) {
this.algorithmQDA.push({'# Performance (%) #': this.listClassPerf[6][j],Algorithm:'Quadratic Discrim Analysis',Model:'Model ID: ' + AlgorQDAIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorQDA['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorQDAIDs[j]})
this.algorithmQDA.push({'# Performance (%) #': this.listClassPerf[6][j],Algorithm:'QDA',Model:'Model ID: ' + AlgorQDAIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorQDA['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorQDAIDs[j]})
this.parameters.push(JSON.stringify(Object.values(PerformAlgorQDA['params'])[j]))
}
for (let j = 0; j < Object.keys(PerformAlgorRF['params']).length; j++) {
this.algorithmRF.push({'# Performance (%) #': this.listClassPerf[7][j],Algorithm:'Random Forest',Model:'Model ID: ' + AlgorRFIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorRF['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorRFIDs[j]})
this.algorithmRF.push({'# Performance (%) #': this.listClassPerf[7][j],Algorithm:'RF',Model:'Model ID: ' + AlgorRFIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorRF['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorRFIDs[j]})
this.parameters.push(JSON.stringify(Object.values(PerformAlgorRF['params'])[j]))
}
for (let j = 0; j < Object.keys(PerformAlgorExtraT['params']).length; j++) {
this.algorithmExtraT.push({'# Performance (%) #': this.listClassPerf[8][j],Algorithm:'Extra Trees',Model:'Model ID: ' + AlgorExtraTIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorExtraT['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorExtraTIDs[j]})
this.algorithmExtraT.push({'# Performance (%) #': this.listClassPerf[8][j],Algorithm:'ExtraT',Model:'Model ID: ' + AlgorExtraTIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorExtraT['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorExtraTIDs[j]})
this.parameters.push(JSON.stringify(Object.values(PerformAlgorExtraT['params'])[j]))
}
for (let j = 0; j < Object.keys(PerformAlgorAdaB['params']).length; j++) {
this.algorithmAdaB.push({'# Performance (%) #': this.listClassPerf[9][j],Algorithm:'AdaBoost',Model:'Model ID: ' + AlgorAdaBIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorAdaB['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorAdaBIDs[j]})
this.algorithmAdaB.push({'# Performance (%) #': this.listClassPerf[9][j],Algorithm:'AdaB',Model:'Model ID: ' + AlgorAdaBIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorAdaB['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorAdaBIDs[j]})
this.parameters.push(JSON.stringify(Object.values(PerformAlgorAdaB['params'])[j]))
}
for (let j = 0; j < Object.keys(PerformAlgorGradB['params']).length; j++) {
this.algorithmGradB.push({'# Performance (%) #': this.listClassPerf[10][j],Algorithm:'Gradient Boosting',Model:'Model ID: ' + AlgorGradBIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorGradB['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorGradBIDs[j]})
this.algorithmGradB.push({'# Performance (%) #': this.listClassPerf[10][j],Algorithm:'GradB',Model:'Model ID: ' + AlgorGradBIDs[j] + '<br> Parameters: '+JSON.stringify(Object.values(PerformAlgorGradB['params'])[j])+'<br> # Performance (%) #',ModelID:AlgorGradBIDs[j]})
this.parameters.push(JSON.stringify(Object.values(PerformAlgorGradB['params'])[j]))
}
}
@ -340,8 +340,8 @@ export default {
// color : color of the point / boxplot
// label : displayed text in toolbox
this.chart = exploding_boxplot(data, {y:'# Performance (%) #',group:'Algorithm',color:'Algorithm',label:'Model'})
this.chart.width(this.WH[0]*10) // interactive visualization
this.chart.height(this.WH[1]*0.9) // interactive visualization
this.chart.width(this.WH[0]*10.225) // interactive visualization
this.chart.height(this.WH[1]*0.95) // interactive visualization
//call chart on a div
this.chart('#exploding_boxplot')
@ -366,7 +366,7 @@ export default {
var flagEmptyGradB = 0
el[0].onclick = function() {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point K-Nearest Neighbors')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point KNN')
for (let i = 0; i < allPoints.length; i++) {
allPoints[i].style.fill = previousColor[0]
allPoints[i].style.opacity = '1.0'
@ -386,7 +386,7 @@ export default {
EventBus.$emit('updateBarChart', [])
}
el[1].onclick = function() {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point C-Support Vector Classif')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point SVC')
for (let i = 0; i < allPoints.length; i++) {
allPoints[i].style.fill = previousColor[1]
allPoints[i].style.opacity = '1.0'
@ -406,7 +406,7 @@ export default {
EventBus.$emit('updateBarChart', [])
}
el[2].onclick = function() {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point Gaussian Naive Bayes')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point GauNB')
for (let i = 0; i < allPoints.length; i++) {
allPoints[i].style.fill = previousColor[2]
allPoints[i].style.opacity = '1.0'
@ -419,14 +419,14 @@ export default {
}
EventBus.$emit('clearPCP')
EventBus.$emit('updateFlagGausNB', flagEmptyGausNB)
EventBus.$emit('updateFlagGauNB', flagEmptyGausNB)
if (flagEmptyGausNB == 1) {
EventBus.$emit('PCPCall', 'GausNB')
EventBus.$emit('PCPCall', 'GauNB')
}
EventBus.$emit('updateBarChart', [])
}
el[3].onclick = function() {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point Multilayer Perceptron')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point MLP')
for (let i = 0; i < allPoints.length; i++) {
allPoints[i].style.fill = previousColor[3]
allPoints[i].style.opacity = '1.0'
@ -446,7 +446,7 @@ export default {
EventBus.$emit('updateBarChart', [])
}
el[4].onclick = function() {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point Logistic Regression')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point LR')
for (let i = 0; i < allPoints.length; i++) {
allPoints[i].style.fill = previousColor[4]
allPoints[i].style.opacity = '1.0'
@ -466,7 +466,7 @@ export default {
EventBus.$emit('updateBarChart', [])
}
el[5].onclick = function() {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point Linear Discrim Analysis')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point LDA')
for (let i = 0; i < allPoints.length; i++) {
allPoints[i].style.fill = previousColor[5]
allPoints[i].style.opacity = '1.0'
@ -486,7 +486,7 @@ export default {
EventBus.$emit('updateBarChart', [])
}
el[6].onclick = function() {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point Quadratic Discrim Analysis')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point QDA')
for (let i = 0; i < allPoints.length; i++) {
allPoints[i].style.fill = previousColor[6]
allPoints[i].style.opacity = '1.0'
@ -506,7 +506,7 @@ export default {
EventBus.$emit('updateBarChart', [])
}
el[7].onclick = function() {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point Random Forest')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point RF')
for (let i = 0; i < allPoints.length; i++) {
allPoints[i].style.fill = previousColor[7]
allPoints[i].style.opacity = '1.0'
@ -526,7 +526,7 @@ export default {
EventBus.$emit('updateBarChart', [])
}
el[8].onclick = function() {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point Extra Trees')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point ExtraT')
for (let i = 0; i < allPoints.length; i++) {
allPoints[i].style.fill = previousColor[8]
allPoints[i].style.opacity = '1.0'
@ -546,7 +546,7 @@ export default {
EventBus.$emit('updateBarChart', [])
}
el[9].onclick = function() {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point AdaBoost')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point AdaB')
for (let i = 0; i < allPoints.length; i++) {
allPoints[i].style.fill = previousColor[9]
allPoints[i].style.opacity = '1.0'
@ -566,7 +566,7 @@ export default {
EventBus.$emit('updateBarChart', [])
}
el[10].onclick = function() {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point Gradient Boosting')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point GradB')
for (let i = 0; i < allPoints.length; i++) {
allPoints[i].style.fill = previousColor[10]
allPoints[i].style.opacity = '1.0'
@ -620,37 +620,37 @@ export default {
for (var j = 0; j < this.AllAlgorithms.length; j++) {
algorithm = []
if (this.AllAlgorithms[j] === 'KNN') {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point K-Nearest Neighbors')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point KNN')
algorithm = this.algorithmKNN
} else if (this.AllAlgorithms[j] === 'SVC') {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point C-Support Vector Classif')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point SVC')
algorithm = this.algorithmSVC
} else if (this.AllAlgorithms[j] === 'GausNB') {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point Gaussian Naive Bayes')
} else if (this.AllAlgorithms[j] === 'GauNB') {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point GauNB')
algorithm = this.algorithmGausNB
} else if (this.AllAlgorithms[j] === 'MLP') {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point Multilayer Perceptron')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point MLP')
algorithm = this.algorithmMLP
} else if (this.AllAlgorithms[j] === 'LR') {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point Logistic Regression')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point LR')
algorithm = this.algorithmLR
} else if (this.AllAlgorithms[j] === 'LDA') {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point Linear Discrim Analysis')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point LDA')
algorithm = this.algorithmLDA
} else if (this.AllAlgorithms[j] === 'QDA') {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point Quadratic Discrim Analysis')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point QDA')
algorithm = this.algorithmQDA
} else if (this.AllAlgorithms[j] === 'RF') {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point Random Forest')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point RF')
algorithm = this.algorithmRF
} else if (this.AllAlgorithms[j] === 'ExtraT') {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point Extra Trees')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point ExtraT')
algorithm = this.algorithmExtraT
} else if (this.AllAlgorithms[j] === 'AdaB') {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point AdaBoost')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point AdaB')
algorithm = this.algorithmAdaB
} else {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point Gradient Boosting')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point GradB')
algorithm = this.algorithmGradB
}
for (let k = 0; k < allPoints.length; k++) {
@ -663,7 +663,7 @@ export default {
allPoints[i].style.fill = previousColor[0]
} else if (this.AllAlgorithms[j] === 'SVC') {
allPoints[i].style.fill = previousColor[1]
} else if (this.AllAlgorithms[j] === 'GausNB') {
} else if (this.AllAlgorithms[j] === 'GauNB') {
allPoints[i].style.fill = previousColor[2]
} else if (this.AllAlgorithms[j] === 'MLP') {
allPoints[i].style.fill = previousColor[3]
@ -698,7 +698,7 @@ export default {
} else if (this.AllAlgorithms[j] === 'SVC') {
allPoints[i].style.fill = previousColor[1]
allPoints[i].style.opacity = '1.0'
} else if (this.AllAlgorithms[j] === 'GausNB') {
} else if (this.AllAlgorithms[j] === 'GauNB') {
allPoints[i].style.fill = previousColor[2]
allPoints[i].style.opacity = '1.0'
} else if (this.AllAlgorithms[j] === 'MLP') {
@ -740,7 +740,7 @@ export default {
allPoints[i].style.fill = "#d3d3d3"
allPoints[i].style.opacity = '0.4'
}
} else if (this.AllAlgorithms[j] === 'GausNB') {
} else if (this.AllAlgorithms[j] === 'GauNB') {
if (modelsActive.indexOf(i+this.GausNBModels) == -1) {
allPoints[i].style.fill = "#d3d3d3"
allPoints[i].style.opacity = '0.4'
@ -796,27 +796,27 @@ export default {
},
brushed () {
if (this.selectedAlgorithm === 'KNN') {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point K-Nearest Neighbors')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point KNN')
} else if (this.selectedAlgorithm === 'SVC') {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point C-Support Vector Classif')
} else if (this.selectedAlgorithm === 'GausNB') {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point Gaussian Naive Bayes')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point SVC')
} else if (this.selectedAlgorithm === 'GauNB') {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point GauNB')
} else if (this.selectedAlgorithm === 'MLP') {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point Multilayer Perceptron')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point MLP')
} else if (this.selectedAlgorithm === 'LR') {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point Logistic Regression')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point LR')
} else if (this.selectedAlgorithm === 'LDA') {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point Linear Discrim Analysis')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point LDA')
} else if (this.selectedAlgorithm === 'QDA') {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point Quadratic Discrim Analysis')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point QDA')
} else if (this.selectedAlgorithm === 'RF') {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point Random Forest')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point RF')
} else if (this.selectedAlgorithm === 'ExtraT') {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point Extra Trees')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point ExtraT')
} else if (this.selectedAlgorithm === 'AdaB') {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point AdaBoost')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point AdaB')
} else {
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point Gradient Boosting')
var allPoints = document.getElementsByClassName('d3-exploding-boxplot point GradB')
}
const previousColor = ['#a6cee3','#1f78b4','#b2df8a','#33a02c','#fb9a99','#e31a1c','#fdbf6f','#ff7f00','#cab2d6','#6a3d9a','#b15928']
var modelsActive = []
@ -828,7 +828,7 @@ export default {
allPoints[i].style.fill = previousColor[0]
} else if (this.selectedAlgorithm === 'SVC') {
allPoints[i].style.fill = previousColor[1]
} else if (this.selectedAlgorithm === 'GausNB') {
} else if (this.selectedAlgorithm === 'GauNB') {
allPoints[i].style.fill = previousColor[2]
} else if (this.selectedAlgorithm === 'MLP') {
allPoints[i].style.fill = previousColor[3]
@ -863,7 +863,7 @@ export default {
} else if (this.selectedAlgorithm === 'SVC') {
allPoints[i].style.fill = previousColor[1]
allPoints[i].style.opacity = '1.0'
} else if (this.selectedAlgorithm === 'GausNB') {
} else if (this.selectedAlgorithm === 'GauNB') {
allPoints[i].style.fill = previousColor[2]
allPoints[i].style.opacity = '1.0'
} else if (this.selectedAlgorithm === 'MLP') {
@ -905,7 +905,7 @@ export default {
allPoints[i].style.fill = "#d3d3d3"
allPoints[i].style.opacity = '0.4'
}
} else if (this.selectedAlgorithm === 'GausNB') {
} else if (this.selectedAlgorithm === 'GauNB') {
if (modelsActive.indexOf(i+this.GausNBModels) == -1) {
allPoints[i].style.fill = "#d3d3d3"
allPoints[i].style.opacity = '0.4'
@ -966,25 +966,25 @@ export default {
for (let i = 0; i < allPoints.length; i++) {
if (allPoints[i].style.fill != "rgb(211, 211, 211)") {
activeModels.push(allPoints[i].__data__.Model)
if (allPoints[i].__data__.Algorithm === 'K-Nearest Neighbors') {
if (allPoints[i].__data__.Algorithm === 'KNN') {
algorithmsSelected.push('KNN')
} else if (allPoints[i].__data__.Algorithm === 'C-Support Vector Classif') {
} else if (allPoints[i].__data__.Algorithm === 'SVC') {
algorithmsSelected.push('SVC')
} else if (allPoints[i].__data__.Algorithm === 'Gaussian Naive Bayes') {
algorithmsSelected.push('GausNB')
} else if (allPoints[i].__data__.Algorithm === 'Multilayer Perceptron') {
} else if (allPoints[i].__data__.Algorithm === 'GauNB') {
algorithmsSelected.push('GauNB')
} else if (allPoints[i].__data__.Algorithm === 'MLP') {
algorithmsSelected.push('MLP')
} else if (allPoints[i].__data__.Algorithm === 'Logistic Regression') {
} else if (allPoints[i].__data__.Algorithm === 'LR') {
algorithmsSelected.push('LR')
} else if (allPoints[i].__data__.Algorithm === 'Linear Discrim Analysis') {
} else if (allPoints[i].__data__.Algorithm === 'LDA') {
algorithmsSelected.push('LDA')
} else if (allPoints[i].__data__.Algorithm === 'Quadratic Discrim Analysis') {
} else if (allPoints[i].__data__.Algorithm === 'QDA') {
algorithmsSelected.push('QDA')
} else if (allPoints[i].__data__.Algorithm === 'Random Forest') {
} else if (allPoints[i].__data__.Algorithm === 'RF') {
algorithmsSelected.push('RF')
} else if (allPoints[i].__data__.Algorithm === 'Extra Trees') {
} else if (allPoints[i].__data__.Algorithm === 'ExtraT') {
algorithmsSelected.push('ExtraT')
} else if (allPoints[i].__data__.Algorithm === 'AdaBoost') {
} else if (allPoints[i].__data__.Algorithm === 'AdaB') {
algorithmsSelected.push('AdaB')
} else {
algorithmsSelected.push('GradB')
@ -1010,25 +1010,25 @@ export default {
for (let i = 0; i < allPoints.length; i++) {
if (allPoints[i].style.fill != "rgb(211, 211, 211)") {
activeModels.push(allPoints[i].__data__.Model)
if (allPoints[i].__data__.Algorithm === 'K-Nearest Neighbors') {
if (allPoints[i].__data__.Algorithm === 'KNN') {
algorithmsSelected.push('KNN')
} else if (allPoints[i].__data__.Algorithm === 'C-Support Vector Classif') {
} else if (allPoints[i].__data__.Algorithm === 'SVC') {
algorithmsSelected.push('SVC')
} else if (allPoints[i].__data__.Algorithm === 'Gaussian Naive Bayes') {
algorithmsSelected.push('GausNB')
} else if (allPoints[i].__data__.Algorithm === 'Multilayer Perceptron') {
} else if (allPoints[i].__data__.Algorithm === 'GauNB') {
algorithmsSelected.push('GauNB')
} else if (allPoints[i].__data__.Algorithm === 'MLP') {
algorithmsSelected.push('MLP')
} else if (allPoints[i].__data__.Algorithm === 'Logistic Regression') {
} else if (allPoints[i].__data__.Algorithm === 'LR') {
algorithmsSelected.push('LR')
} else if (allPoints[i].__data__.Algorithm === 'Linear Discrim Analysis') {
} else if (allPoints[i].__data__.Algorithm === 'LDA') {
algorithmsSelected.push('LDA')
} else if (allPoints[i].__data__.Algorithm === 'Quadratic Discrim Analysis') {
} else if (allPoints[i].__data__.Algorithm === 'QDA') {
algorithmsSelected.push('QDA')
} else if (allPoints[i].__data__.Algorithm === 'Random Forest') {
} else if (allPoints[i].__data__.Algorithm === 'RF') {
algorithmsSelected.push('RF')
} else if (allPoints[i].__data__.Algorithm === 'Extra Trees') {
} else if (allPoints[i].__data__.Algorithm === 'ExtraT') {
algorithmsSelected.push('ExtraT')
} else if (allPoints[i].__data__.Algorithm === 'AdaBoost') {
} else if (allPoints[i].__data__.Algorithm === 'AdaB') {
algorithmsSelected.push('AdaB')
} else {
algorithmsSelected.push('GradB')
@ -1056,7 +1056,7 @@ export default {
$(el)[0].dispatchEvent(new Event('click'))
} else if (this.selectedAlgorithm == 'SVC') {
$(el)[1].dispatchEvent(new Event('click'))
} else if (this.selectedAlgorithm == 'GausNB') {
} else if (this.selectedAlgorithm == 'GauNB') {
$(el)[2].dispatchEvent(new Event('click'))
} else if (this.selectedAlgorithm == 'MLP') {
$(el)[3].dispatchEvent(new Event('click'))

@ -1,7 +1,7 @@
<template>
<b-row>
<b-col cols="12">
<div id="barChart" class="barChart" style="min-height: 307px;"></div>
<div id="barChart" class="barChart" style="min-height: 285px;"></div>
</b-col>
</b-row>
</template>
@ -36,7 +36,8 @@ export default {
AdaBModels: 2766,
GradBModels: 2926,
colorsValues: ['#808000','#008080','#bebada','#fccde5','#d9d9d9','#bc80bd','#ccebc5'],
WH: []
WH: [],
RetrieveDataSet: 'HeartC'
}
},
methods: {
@ -104,7 +105,7 @@ export default {
KNNModels.push(JSON.parse(this.modelsSelectedinBar[i]))
} else if (this.algorithmsinBar[i] === "SVC") {
SVCModels.push(JSON.parse(this.modelsSelectedinBar[i]) - this.SVCModels)
} else if (this.algorithmsinBar[i] === "GausNB") {
} else if (this.algorithmsinBar[i] === "GauNB") {
GausNBModels.push(JSON.parse(this.modelsSelectedinBar[i] - this.GausNBModels))
} else if (this.algorithmsinBar[i] === "MLP") {
MLPModels.push(JSON.parse(this.modelsSelectedinBar[i]) - this.MLPModels)
@ -404,11 +405,11 @@ export default {
}
Plotly.purge('barChart')
var layout = {font: { family: 'Helvetica', size: 16, color: '#000000' },
var layout = {font: { family: 'Helvetica', size: 14, color: '#000000' },
autosize: true,
barmode: 'group',
width: this.WH[0]*10,
height: this.WH[1]*0.635,
width: this.WH[0]*10.21,
height: this.WH[1]*0.59,
xaxis: {
title: 'Algorithm',
type:"category",
@ -433,9 +434,9 @@ export default {
bargap:0.1,
bargroupgap: 0.2,
margin: {
l: 50,
l: 40,
r: 0,
b: 30,
b: 0,
t: 40,
pad: 0
},
@ -460,13 +461,27 @@ export default {
sumList[i] = keepSum
sumLineList[i] = keepSumLine
}
var beautifyLabels = []
if (this.RetrieveDataSet == 'StanceC') {
beautifyLabels.push('Absence of Hypotheticality')
beautifyLabels.push('Presence of Hypotheticality')
}
else if (this.RetrieveDataSet == 'HeartC') {
beautifyLabels.push('< 50% diameter narrowing / Healthy')
beautifyLabels.push('> 50% diameter narrowing / Diseased')
} else {
target_names.forEach(element => {
beautifyLabels.push(element)
});
}
for (var i = 0; i < target_names.length; i++) {
if (this.tNameAll == target_names[i]) {
traces[i] = {
x: ['K-Nearest Neighbors','C-Support Vector Classif','Gaussian Naive Bayes','Multilayer Perceptron','Logistic Regression','Linear Discrim Analysis','Quadratic Discrim Analysis','Random Forest','Extra Trees','AdaBoost','Gradient Boosting'],
x: ['KNN','SVC','GauNB','MLP','LR','LDA','QDA','RF','ExtraT','AdaB','GradB'],
y: sumList[i],
name: '<b>'+target_names[i]+'</b>',
name: '<b>'+beautifyLabels[i]+'</b>',
opacity: 0.5,
marker: {
opacity: 0.5,
@ -476,9 +491,9 @@ export default {
};
tracesSel[i] = {
type: 'bar',
x: ['K-Nearest Neighbors','C-Support Vector Classif','Gaussian Naive Bayes','Multilayer Perceptron','Logistic Regression','Linear Discrim Analysis','Quadratic Discrim Analysis','Random Forest','Extra Trees','AdaBoost','Gradient Boosting'],
x: ['KNN','SVC','GauNB','MLP','LR','LDA','QDA','RF','ExtraT','AdaB','GradB'],
y: sumLineList[i],
name: '<b>'+target_names[i]+' (Sel)</b>',
name: '<b>'+beautifyLabels[i]+' (Sel)</b>',
xaxis: 'x2',
mode: 'markers',
marker: {
@ -491,9 +506,9 @@ export default {
data.push(tracesSel[i])
} else {
traces[i] = {
x: ['K-Nearest Neighbors','C-Support Vector Classif','Gaussian Naive Bayes','Multilayer Perceptron','Logistic Regression','Linear Discrim Analysis','Quadratic Discrim Analysis','Random Forest','Extra Trees','AdaBoost','Gradient Boosting'],
x: ['KNN','SVC','GauNB','MLP','LR','LDA','QDA','RF','ExtraT','AdaB','GradB'],
y: sumList[i],
name: target_names[i],
name: beautifyLabels[i],
opacity: 0.5,
marker: {
opacity: 0.5,
@ -503,9 +518,9 @@ export default {
};
tracesSel[i] = {
type: 'bar',
x: ['K-Nearest Neighbors','C-Support Vector Classif','Gaussian Naive Bayes','Multilayer Perceptron','Logistic Regression','Linear Discrim Analysis','Quadratic Discrim Analysis','Random Forest','Extra Trees','AdaBoost','Gradient Boosting'],
x: ['KNN','SVC','GauNB','MLP','LR','LDA','QDA','RF','ExtraT','AdaB','GradB'],
y: sumLineList[i],
name: target_names[i]+' (Sel)',
name: beautifyLabels[i]+' (Sel)',
xaxis: 'x2',
mode: 'markers',
marker: {
@ -564,6 +579,8 @@ export default {
// reset view
EventBus.$on('resetViews', this.reset)
EventBus.$on('SendToServerDataSetConfirmation', data => { this.RetrieveDataSet = data })
}
}
</script>

@ -1,5 +1,5 @@
<template>
<button style="float: right;"
<button class="btn-outline-success" style="float: right;"
id="Execute"
v-on:click="execute">
<font-awesome-icon icon="play" />

@ -9,13 +9,13 @@
<option value="local">Upload New File</option>
</select>
<button
<button class="btn-outline-primary"
id="Confirm"
v-on:click="confirm">
<font-awesome-icon icon="check" />
{{ value }}
</button>
<button
<button class="btn-outline-danger"
id="Reset"
v-on:click="reset">
<font-awesome-icon icon="trash" />

@ -72,6 +72,7 @@ export default {
restoreData: 'Restore Step',
userSelectedFilter: 'mean',
responsiveWidthHeight: [],
RetrieveDataSet: 'HeartC',
colorsValues: ['#808000','#008080','#bebada','#fccde5','#d9d9d9','#bc80bd','#ccebc5'],
}
},
@ -134,17 +135,19 @@ export default {
const XandYCoordinatesTSNE = JSON.parse(this.dataPoints[5])
const XandYCoordinatesUMAP = JSON.parse(this.dataPoints[6])
const impSizeArray = JSON.parse(this.dataPoints[7])
const KNNSize = JSON.parse(impSizeArray[8])
const SVCSize = JSON.parse(impSizeArray[17])
const GausNBSize = JSON.parse(impSizeArray[26])
const MLPSize = JSON.parse(impSizeArray[35])
const LRSize = JSON.parse(impSizeArray[44])
const LDASize = JSON.parse(impSizeArray[53])
const QDASize = JSON.parse(impSizeArray[62])
const RFSize = JSON.parse(impSizeArray[71])
const ExtraTSize = JSON.parse(impSizeArray[80])
const AdaBSize = JSON.parse(impSizeArray[89])
const GradBSize = JSON.parse(impSizeArray[98])
const KNNSize = JSON.parse(impSizeArray[7])
const SVCSize = JSON.parse(impSizeArray[16])
const GausNBSize = JSON.parse(impSizeArray[25])
const MLPSize = JSON.parse(impSizeArray[34])
const LRSize = JSON.parse(impSizeArray[43])
const LDASize = JSON.parse(impSizeArray[52])
const QDASize = JSON.parse(impSizeArray[61])
const RFSize = JSON.parse(impSizeArray[70])
const ExtraTSize = JSON.parse(impSizeArray[79])
const AdaBSize = JSON.parse(impSizeArray[88])
const GradBSize = JSON.parse(impSizeArray[97])
console.log(KNNSize)
var sizeScatterplot = []
var scale = d3.scaleLinear()
@ -182,6 +185,20 @@ export default {
var traces = []
var layout = []
var beautifyLabels = []
if (this.RetrieveDataSet == 'StanceC') {
beautifyLabels.push('Absence of Hypotheticality')
beautifyLabels.push('Presence of Hypotheticality')
}
else if (this.RetrieveDataSet == 'HeartC') {
beautifyLabels.push('< 50% diameter narrowing / Healthy')
beautifyLabels.push('> 50% diameter narrowing / Diseased')
} else {
target_names.forEach(element => {
beautifyLabels.push(element)
});
}
for (let i = 0; i < target_names.length; i++) {
const aux_X = result.Xax.filter((item, index) => originalDataLabels[index] == target_names[i]);
@ -210,7 +227,7 @@ export default {
x: aux_X,
y: aux_Y,
mode: 'markers',
name: target_names[i],
name: beautifyLabels[i],
marker: { color: this.colorsValues[i], line: { color: 'rgb(0, 0, 0)', width: 2 }, opacity: Opacity, size: sizeScatterplot },
hovertemplate:
"<b>%{text}</b><br><br>" +
@ -219,7 +236,7 @@ export default {
})
}
layout = {font: { family: 'Helvetica', size: 16, color: '#000000' },
layout = {font: { family: 'Helvetica', size: 14, color: '#000000' },
title: 'MDS Projection',
xaxis: {
visible: false
@ -289,7 +306,7 @@ export default {
x: aux_X,
y: aux_Y,
mode: 'markers',
name: target_names[i],
name: beautifyLabels[i],
marker: { color: this.colorsValues[i], line: { color: 'rgb(0, 0, 0)', width: 2 }, opacity: Opacity, size: sizeScatterplot },
hovertemplate:
"<b>%{text}</b><br><br>" +
@ -298,7 +315,7 @@ export default {
})
}
layout = {font: { family: 'Helvetica', size: 16, color: '#000000' },
layout = {font: { family: 'Helvetica', size: 14, color: '#000000' },
title: 't-SNE Projection',
xaxis: {
visible: false
@ -358,7 +375,7 @@ export default {
x: aux_X,
y: aux_Y,
mode: 'markers',
name: target_names[i],
name: beautifyLabels[i],
marker: { color: this.colorsValues[i], line: { color: 'rgb(0, 0, 0)', width: 2 }, opacity: Opacity, size: sizeScatterplot },
hovertemplate:
"<b>%{text}</b><br><br>" +
@ -367,7 +384,7 @@ export default {
})
}
layout = {font: { family: 'Helvetica', size: 16, color: '#000000' },
layout = {font: { family: 'Helvetica', size: 14, color: '#000000' },
title: 'UMAP Projection',
xaxis: {
visible: false
@ -445,6 +462,8 @@ export default {
// reset view
EventBus.$on('resetViews', this.reset)
EventBus.$on('SendToServerDataSetConfirmation', data => { this.RetrieveDataSet = data })
}
}
</script>

@ -1,5 +1,5 @@
<template>
<div id="LinePlot" style="min-height: 306px;"></div>
<div id="LinePlot" style="min-height: 365px;"></div>
</template>
<script>
@ -24,6 +24,10 @@ export default {
scoresSTD3: [],
scoresPositive3: [],
scoresNegative3: [],
scoresMean4: [],
scoresSTD4: [],
scoresPositive4: [],
scoresNegative4: [],
Stack_scoresMean: [],
Stack_scoresSTD: [],
Stack_scoresPositive: [],
@ -36,6 +40,10 @@ export default {
Stack_scoresSTD3: [],
Stack_scoresPositive3: [],
Stack_scoresNegative3: [],
Stack_scoresMean4: [],
Stack_scoresSTD4: [],
Stack_scoresPositive4: [],
Stack_scoresNegative4: [],
xaxis: [],
WH: []
}
@ -61,34 +69,44 @@ export default {
this.scoresPositive2.push(parseFloat(this.scoresMean2[this.scoresMean2.length - 1]) + parseFloat(this.scoresSTD2[this.scoresSTD2.length - 1]))
this.scoresNegative2.push(parseFloat(this.scoresMean2[this.scoresMean2.length - 1]) - parseFloat(this.scoresSTD2[this.scoresSTD2.length - 1]))
this.scoresMean3.push((JSON.parse(this.FinalResultsforLinePlot[4])*100).toFixed(1))
this.scoresSTD3.push((JSON.parse(this.FinalResultsforLinePlot[5])*100).toFixed(1))
this.scoresPositive3.push(parseFloat(this.scoresMean3[this.scoresMean3.length - 1]) + parseFloat(this.scoresSTD3[this.scoresSTD3.length - 1]))
this.scoresNegative3.push(parseFloat(this.scoresMean3[this.scoresMean3.length - 1]) - parseFloat(this.scoresSTD3[this.scoresSTD3.length - 1]))
this.scoresMean4.push((JSON.parse(this.FinalResultsforLinePlot[6])*100).toFixed(1))
this.scoresSTD4.push((JSON.parse(this.FinalResultsforLinePlot[7])*100).toFixed(1))
this.scoresPositive4.push(parseFloat(this.scoresMean4[this.scoresMean4.length - 1]) + parseFloat(this.scoresSTD4[this.scoresSTD4.length - 1]))
this.scoresNegative4.push(parseFloat(this.scoresMean4[this.scoresMean4.length - 1]) - parseFloat(this.scoresSTD4[this.scoresSTD4.length - 1]))
// Stack
this.Stack_scoresMean.push((JSON.parse(this.FinalResultsforLinePlot[6])*100).toFixed(1))
this.Stack_scoresSTD.push((JSON.parse(this.FinalResultsforLinePlot[7])*100).toFixed(1))
this.Stack_scoresMean.push((JSON.parse(this.FinalResultsforLinePlot[8])*100).toFixed(1))
this.Stack_scoresSTD.push((JSON.parse(this.FinalResultsforLinePlot[9])*100).toFixed(1))
this.Stack_scoresPositive.push(parseFloat(this.Stack_scoresMean[this.Stack_scoresMean.length - 1]) + parseFloat(this.Stack_scoresSTD[this.Stack_scoresSTD.length - 1]))
this.Stack_scoresNegative.push(parseFloat(this.Stack_scoresMean[this.Stack_scoresMean.length - 1]) - parseFloat(this.Stack_scoresSTD[this.Stack_scoresSTD.length - 1]))
this.Stack_scoresMean2.push((JSON.parse(this.FinalResultsforLinePlot[8])*100).toFixed(1))
this.Stack_scoresSTD2.push((JSON.parse(this.FinalResultsforLinePlot[9])*100).toFixed(1))
this.Stack_scoresMean2.push((JSON.parse(this.FinalResultsforLinePlot[10])*100).toFixed(1))
this.Stack_scoresSTD2.push((JSON.parse(this.FinalResultsforLinePlot[11])*100).toFixed(1))
this.Stack_scoresPositive2.push(parseFloat(this.Stack_scoresMean2[this.Stack_scoresMean2.length - 1]) + parseFloat(this.Stack_scoresSTD2[this.Stack_scoresSTD2.length - 1]))
this.Stack_scoresNegative2.push(parseFloat(this.Stack_scoresMean2[this.Stack_scoresMean2.length - 1]) - parseFloat(this.Stack_scoresSTD2[this.Stack_scoresSTD2.length - 1]))
this.Stack_scoresMean3.push((JSON.parse(this.FinalResultsforLinePlot[10])*100).toFixed(1))
this.Stack_scoresSTD3.push((JSON.parse(this.FinalResultsforLinePlot[11])*100).toFixed(1))
this.Stack_scoresMean3.push((JSON.parse(this.FinalResultsforLinePlot[12])*100).toFixed(1))
this.Stack_scoresSTD3.push((JSON.parse(this.FinalResultsforLinePlot[13])*100).toFixed(1))
this.Stack_scoresPositive3.push(parseFloat(this.Stack_scoresMean3[this.Stack_scoresMean3.length - 1]) + parseFloat(this.Stack_scoresSTD3[this.Stack_scoresSTD3.length - 1]))
this.Stack_scoresNegative3.push(parseFloat(this.Stack_scoresMean3[this.Stack_scoresMean3.length - 1]) - parseFloat(this.Stack_scoresSTD3[this.Stack_scoresSTD3.length - 1]))
this.Stack_scoresMean4.push((JSON.parse(this.FinalResultsforLinePlot[14])*100).toFixed(1))
this.Stack_scoresSTD4.push((JSON.parse(this.FinalResultsforLinePlot[15])*100).toFixed(1))
this.Stack_scoresPositive4.push(parseFloat(this.Stack_scoresMean4[this.Stack_scoresMean4.length - 1]) + parseFloat(this.Stack_scoresSTD4[this.Stack_scoresSTD4.length - 1]))
this.Stack_scoresNegative4.push(parseFloat(this.Stack_scoresMean4[this.Stack_scoresMean4.length - 1]) - parseFloat(this.Stack_scoresSTD4[this.Stack_scoresSTD4.length - 1]))
var xaxisReversed = []
xaxisReversed = this.xaxis.slice().reverse()
@ -108,7 +126,7 @@ export default {
line: {color: "rgb(55,126,184)"},
mode: "lines+markers",
marker : {
symbol: 'pentagon' },
symbol: 'circle' },
name: "Active Accuracy",
type: "scatter"
}
@ -133,7 +151,7 @@ export default {
line: {color: "rgb(55,126,184)"},
mode: "lines+markers",
marker : {
symbol: 'x' },
symbol: 'square' },
name: "Active Precision",
type: "scatter"
}
@ -158,7 +176,7 @@ export default {
line: {color: "rgb(55,126,184)"},
mode: "lines+markers",
marker : {
symbol: 'diamond' },
symbol: 'triangle' },
name: "Active Recall",
type: "scatter"
}
@ -176,21 +194,46 @@ export default {
type: "scatter"
}
var trace7 = {
x: this.xaxis,
y: this.scoresMean4,
text: text,
line: {color: "rgb(55,126,184)"},
mode: "lines+markers",
marker : {
symbol: 'diamond' },
name: "Active F1 Score",
type: "scatter"
}
var trace8 = {
x: xaxisReversed,
y: this.scoresPositive4.concat(this.scoresNegative4),
text: '',
hoverinfo: 'text',
fill: "tozerox",
fillcolor: "rgba(55,126,184,0)",
line: {color: "transparent"},
name: "Active F1 Score",
showlegend: false,
type: "scatter"
}
// Stack
var trace7 = {
var trace9 = {
x: this.xaxis,
y: this.Stack_scoresMean,
text: text,
line: {color: "rgb(228,26,28)"},
mode: "lines+markers",
marker : {
symbol: 'circle' },
symbol: 'x' },
name: "Stack Accuracy",
type: "scatter"
}
var trace8 = {
var trace10 = {
x: xaxisReversed,
y: this.Stack_scoresPositive.concat(this.Stack_scoresNegative),
text: '',
@ -203,19 +246,19 @@ export default {
type: "scatter"
}
var trace9 = {
var trace11 = {
x: this.xaxis,
y: this.Stack_scoresMean2,
text: text,
line: {color: "rgb(228,26,28)"},
mode: "lines+markers",
marker : {
symbol: 'square' },
symbol: 'cross' },
name: "Stack Precision",
type: "scatter"
}
var trace10 = {
var trace12 = {
x: xaxisReversed,
y: this.Stack_scoresPositive2.concat(this.Stack_scoresNegative2),
text: '',
@ -228,19 +271,19 @@ export default {
type: "scatter"
}
var trace11 = {
var trace13 = {
x: this.xaxis,
y: this.Stack_scoresMean3,
text: text,
line: {color: "rgb(228,26,28)"},
mode: "lines+markers",
marker : {
symbol: 'star-triangle-up' },
symbol: 'pentagon' },
name: "Stack Recall",
type: "scatter"
}
var trace12 = {
var trace14 = {
x: xaxisReversed,
y: this.Stack_scoresPositive3.concat(this.Stack_scoresNegative3),
text: '',
@ -253,7 +296,32 @@ export default {
type: "scatter"
}
const DataforLinePlot = [trace1, trace2, trace7, trace8, trace3, trace4, trace9, trace10, trace5, trace6, trace11, trace12]
var trace15 = {
x: this.xaxis,
y: this.Stack_scoresMean4,
text: text,
line: {color: "rgb(228,26,28)"},
mode: "lines+markers",
marker : {
symbol: 'hexagram' },
name: "Stack F1 Score",
type: "scatter"
}
var trace16 = {
x: xaxisReversed,
y: this.Stack_scoresPositive4.concat(this.Stack_scoresNegative4),
text: '',
hoverinfo: 'text',
fill: "tozerox",
fillcolor: "rgba(228,26,28,0)",
line: {color: "transparent"},
name: "Stack F1 Score",
showlegend: false,
type: "scatter"
}
const DataforLinePlot = [trace1, trace2, trace3, trace4, trace5, trace6, trace7, trace8, trace9, trace10, trace11, trace12, trace13, trace14, trace15, trace16]
var width = this.WH[0]*3 // interactive visualization
var height = this.WH[1]*0.6 // interactive visualization

@ -434,6 +434,7 @@ export default {
}
finalresults.push(results)
}
console.log(finalresults)
EventBus.$emit('flagLocal', true)
EventBus.$emit('sendSelectedFeaturestoPickle', finalresults)
EventBus.$emit('SendSelectedFeaturesEvent', finalresults)

@ -4,9 +4,9 @@
<body>
<b-container fluid class="bv-example-row">
<b-row class="md-3">
<b-col cols="3">
<b-col cols="3" >
<mdb-card>
<mdb-card-header color="primary-color" tag="h5" class="text-center">Data Sets and Performance Metrics Manager</mdb-card-header>
<mdb-card-header color="primary-color" tag="h5" class="text-center" style="background-color: #C0C0C0;">Data Sets and Performance Metrics Manager</mdb-card-header>
<mdb-card-body>
<mdb-card-text class="text-left" style="font-size: 18.5px;">
<DataSetExecController/>
@ -17,7 +17,7 @@
</b-col>
<b-col cols="6">
<mdb-card>
<mdb-card-header color="primary-color" tag="h5" class="text-center">Provenance of the Stacking Ensemble<small class="float-right"><knowledge/></small></mdb-card-header>
<mdb-card-header color="primary-color" tag="h5" class="text-center" style="background-color: #C0C0C0;"><small class="float-left"><knowledge/></small>History of the Stacking Ensemble<small class="float-right"><active/></small></mdb-card-header>
<mdb-card-body>
<Provenance/>
</mdb-card-body>
@ -25,22 +25,23 @@
</b-col>
<b-col cols="3">
<mdb-card>
<mdb-card-header color="primary-color" tag="h5" class="text-center"><small class="float-left" style="padding-top: 3px;">Metrics Support: [1, 3 (W), 4 (W)]</small>Performance of the Metamodel</mdb-card-header>
<mdb-card-header color="primary-color" tag="h5" class="text-center" style="background-color: #C0C0C0;"><small class="float-left" style="padding-top: 3px;"><font-awesome-icon class="fa-lg" icon="dice-four"/>&nbsp;Metrics Support: [M1, M3-M5 (W)]</small>Metamodel's Performance</mdb-card-header>
<mdb-card-body>
<FinalResultsLinePlot/>
</mdb-card-body>
</mdb-card>
</b-col>
</b-row>
<hr/>
<ul class="nav nav-tabs" id="myTab" role="tablist" style="margin-top: 15px">
<li class="nav-item">
<a class="nav-link active" id="home-tab" data-toggle="tab" href="#home" role="tab" aria-controls="home" aria-selected="true">Algorithms</a>
<a class="nav-link active" id="home-tab" data-toggle="tab" href="#home" role="tab" aria-controls="home" aria-selected="true">Algorithms' Exploration</a>
</li>
<li class="nav-item">
<a class="nav-link" id="profile-tab" data-toggle="tab" href="#profile" role="tab" aria-controls="profile" aria-selected="false">Data</a>
<a class="nav-link" id="profile-tab" data-toggle="tab" href="#profile" role="tab" aria-controls="profile" aria-selected="false">Data Wrangling</a>
</li>
<li class="nav-item">
<a class="nav-link" id="contact-tab" data-toggle="tab" href="#contact" role="tab" aria-controls="contact" aria-selected="false">Models</a>
<a class="nav-link" id="contact-tab" data-toggle="tab" href="#contact" role="tab" aria-controls="contact" aria-selected="false">Models' Exploration</a>
</li>
</ul>
<div class="tab-content" id="myTabContent">
@ -49,14 +50,14 @@
<b-col cols="3">
<mdb-card style="margin-top: 15px">
<mdb-card-header color="primary-color" tag="h5" class="text-center">Overview of the Algorithms Space</mdb-card-header>
<mdb-card-body class="text-left">
<mdb-card-body class="text-center">
<Parameters/>
</mdb-card-body>
</mdb-card>
</b-col>
<b-col cols="9">
<mdb-card style="margin-top: 15px;">
<mdb-card-header color="primary-color" tag="h5" class="text-center"><small class="float-left" style="padding-top: 3px;">Metrics Support: [All]</small>Performance of the Algorithms [Sel: {{valueSel}} / All: {{valueAll}}]<small class="float-right"><Controller/></small></mdb-card-header>
<mdb-card-header color="primary-color" tag="h5" class="text-center"><small class="float-left" style="padding-top: 3px;">Metrics Support: [All]</small>Performance of the Algorithms [Sel: {{valueSel}} / All: {{valueAll}}]<small class="float-right" style="font-size:85% !important"><Controller/></small></mdb-card-header>
<mdb-card-body>
<Algorithms :width="width" :height="height"/>
</mdb-card-body>
@ -74,7 +75,7 @@
</b-col>
<b-col cols="9">
<mdb-card style="margin-top: 15px;">
<mdb-card-header color="primary-color" tag="h5" class="text-center"><small class="float-left" style="padding-top: 3px;">Metrics Support: [3*, 4*, 5* (F1 Score)]</small>Performance of the Algorithms for Each Class<small class="float-right"><ResetClass/></small></mdb-card-header>
<mdb-card-header color="primary-color" tag="h5" class="text-center"><small class="float-left" style="padding-top: 3px;"><font-awesome-icon class="fa-lg" icon="dice-three"/>&nbsp;Metrics Support: [M3*, M4*, M5* (F1 Score)]</small>Performance of the Algorithms for Each Class<small class="float-right"><ResetClass/></small></mdb-card-header>
<mdb-card-body>
<BarChart/>
</mdb-card-body>
@ -113,7 +114,7 @@
<b-row class="md-3">
<b-col cols="6">
<mdb-card style="margin-top: 15px;">
<mdb-card-header color="primary-color" tag="h5" class="text-center"><small class="float-left" style="padding-top: 3px;">Metrics Support: [All]</small>Models Space
<mdb-card-header color="primary-color" tag="h5" class="text-center"><small class="float-left" style="padding-top: 3px;">Metrics Support: [All]</small>Models' Space
[Sel: {{OverSelLength}} / All: {{OverAllLength}}]
</mdb-card-header>
<mdb-card-body>
@ -126,7 +127,7 @@
</b-col>
<b-col cols="6">
<mdb-card style="margin-top: 15px;">
<mdb-card-header color="primary-color" tag="h5" class="text-center">Predictions Space</mdb-card-header>
<mdb-card-header color="primary-color" tag="h5" class="text-center">Predictions' Space</mdb-card-header>
<mdb-card-body>
<mdb-card-text class="text-center" style="min-height: 845px">
<PredictionsSpace/>
@ -169,6 +170,7 @@ import AlgorithmHyperParam from './AlgorithmHyperParam.vue'
import Controller from './Controller.vue'
import ResetClass from './ResetClass.vue'
import Knowledge from './Knowledge.vue'
import Active from './Active.vue'
import Export from './Export.vue'
import SlidersController from './SlidersController.vue'
import ScatterPlot from './ScatterPlot.vue'
@ -207,6 +209,7 @@ export default Vue.extend({
Controller,
ResetClass,
Knowledge,
Active,
SlidersController,
ScatterPlot,
PerMetricBarChart,
@ -320,7 +323,6 @@ export default Vue.extend({
.then(response => {
this.OverviewResults = response.data.OverviewResults
console.log('Server successfully sent all the data related to visualizations!')
this.DataSpaceCallAfterDataManipulation()
EventBus.$emit('emittedEventCallingScatterPlot', this.OverviewResults)
if (this.firstTimeFlag == 1) {
this.selectedModels_Stack.push(0)
@ -347,6 +349,7 @@ export default Vue.extend({
EventBus.$emit('emittedEventCallingHeatmapView', this.OverviewResults)
EventBus.$emit('emittedEventCallingPredictionsSpacePlotView', this.OverviewResults)
EventBus.$emit('emittedEventCallingBalanceView', this.OverviewResults)
this.DataSpaceCall()
})
.catch(error => {
console.log(error)
@ -404,7 +407,6 @@ export default Vue.extend({
this.OverSelLength = 0
EventBus.$emit('resetViews')
} else {
console.log(this.ClassifierIDsList)
const path = `http://127.0.0.1:5000/data/ServerRequestSelPoin`
const postData = {
ClassifiersList: this.ClassifierIDsList,
@ -626,26 +628,6 @@ export default Vue.extend({
console.log(error)
})
},
DataSpaceCallAfterDataManipulation () {
const path = `http://localhost:5000/data/requestDataSpaceResultsAfterDataManipulation`
const axiosConfig = {
headers: {
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Headers': 'Origin, Content-Type, X-Auth-Token',
'Access-Control-Allow-Methods': 'GET, PUT, POST, DELETE, OPTIONS'
}
}
axios.get(path, axiosConfig)
.then(response => {
console.log('Calling Data Space!')
this.DataSpaceCall()
})
.catch(error => {
console.log(error)
})
},
SendAlgorithmsToServer () {
const path = `http://127.0.0.1:5000/data/ServerRequestSelParameters`
const postData = {
@ -1068,12 +1050,23 @@ body {
right: 0px;
top: 0px;
bottom: 0px;
margin-top: 18px !important;
margin-top: -4px !important;
}
.modal-backdrop {
z-index: -1 !important;
}
.card-body {
padding: 0.60rem !important;
}
hr {
margin-top: 1rem;
margin-bottom: 1rem;
border: 0;
border-top: 1px solid rgba(0, 0, 0, 0.1);
}
@import './../assets/w3.css';
</style>

@ -75,7 +75,7 @@ export default {
countAdaBRelated: [],
countAdaB: 0,
countGradBRelated: [],
countGradB: 0
countGradB: 0,
}
},
methods: {
@ -89,7 +89,7 @@ export default {
var cfg = {
w: 600, //Width of the circle
h: 600, //Height of the circle
margin: {top: 20, right: 20, bottom: 20, left: 20}, //The margins around the circle
margin: {top: 60, right: 20, bottom: 20, left: 120}, //The margins around the circle
legendPosition: {x: 20, y: 20}, // the position of the legend, from the top-left corner of the svg
levels: 3, //How many levels or inner circles should there be drawn
maxValue: 0, //What is the value that the biggest circle will represent
@ -105,6 +105,7 @@ export default {
areaName:"areaName",
value: "value",
sortAreas: true,
colorsDiff: ['#a6cee3','#1f78b4','#b2df8a','#33a02c','#fb9a99','#e31a1c','#fdbf6f','#ff7f00','#cab2d6','#6a3d9a','#b15928']
};
//Put all of the options into a variable called cfg
@ -174,6 +175,7 @@ export default {
.enter()
.append("circle")
.attr("class", "gridCircle")
.attr("transform", "translate(5,5)")
.attr("r", function(d, i){return radius/cfg.levels*d;})
.style("fill", "#CDCDCD")
.style("stroke", "#CDCDCD")
@ -185,10 +187,10 @@ export default {
.data(d3.range(1,(cfg.levels+1)).reverse())
.enter().append("text")
.attr("class", "axisLabel")
.attr("x", 4)
.attr("x", 10)
.attr("y", function(d){return -d*radius/cfg.levels;})
.attr("dy", "0.4em")
.style("font-size", "10px")
.style("font-size", "16px")
.attr("fill", "#737373")
.text(function(d,i) { return Format(maxValue * d/cfg.levels); });
@ -206,19 +208,31 @@ export default {
axis.append("line")
.attr("x1", 0)
.attr("y1", 0)
.attr("x2", function(d, i){ return rScale(maxValue*1.1) * Math.cos(angleSlice*i - Math.PI/2); })
.attr("y2", function(d, i){ return rScale(maxValue*1.1) * Math.sin(angleSlice*i - Math.PI/2); })
.attr("transform", "translate(5,5)")
.attr("x2", function(d, i){ return rScale(maxValue*1.2) * Math.cos(angleSlice*i - Math.PI/2); })
.attr("y2", function(d, i){ return rScale(maxValue*1.2) * Math.sin(angleSlice*i - Math.PI/2); })
.attr("class", "line")
.style("stroke", "white")
.style("stroke-width", "2px");
axis.append("rect")
.attr("text-anchor", "left")
.attr("dy", "0.35em")
.attr("x", function(d, i){ return (rScale(maxValue * cfg.labelFactor) * Math.cos(angleSlice*i - Math.PI/2)) - 25; })
.attr("y", function(d, i){ return rScale(maxValue * cfg.labelFactor) * Math.sin(angleSlice*i - Math.PI/2); })
.text(function(d){return d})
.attr("width", 15)
.attr("height", 15)
.style("fill", function(d,i) { return cfg.colorsDiff[i]; })
//Append the labels at each axis
axis.append("text")
.attr("class", "legend")
.style("font-size", "11px")
.style("font-size", "16px")
.attr("text-anchor", "middle")
.attr("dy", "0.35em")
.attr("x", function(d, i){ return rScale(maxValue * cfg.labelFactor) * Math.cos(angleSlice*i - Math.PI/2); })
.attr("dy", "0em")
.style("font-size", "16px")
.attr("x", function(d, i){ return (rScale(maxValue * cfg.labelFactor) * Math.cos(angleSlice*i - Math.PI/2)) + 15; })
.attr("y", function(d, i){ return rScale(maxValue * cfg.labelFactor) * Math.sin(angleSlice*i - Math.PI/2); })
.text(function(d){return d})
.call(wrap, cfg.wrapWidth);
@ -241,6 +255,7 @@ export default {
var blobWrapper = g.selectAll(".radarWrapper")
.data(data)
.enter().append("g")
.attr("transform", "translate(5,5)")
.attr("class", "radarWrapper");
//Append the backgrounds
@ -316,8 +331,8 @@ export default {
newY = parseFloat(d3.select(this).attr('cy')) - 10;
tooltip
.attr('x', newX)
.attr('y', newY)
.attr('x', newX+5)
.attr('y', newY+5)
.text(Format(d[value]))
.transition().duration(200)
.style('opacity', 1);
@ -619,39 +634,39 @@ export default {
//////////////////////////////////////////////////////////////
var margin = {top: 50, right: 120, bottom: 55, left: 65},
legendPosition = {x: 425, y: 185},
width = Math.min(510, window.innerWidth - 10) - margin.left - margin.right,
height = Math.min(width, window.innerHeight - margin.top - margin.bottom - 20);
legendPosition = {x: 425, y: 25},
width = Math.min(520, window.innerWidth - 10) - margin.left - margin.right,
height = Math.min(width + 12, window.innerHeight + 12 - margin.top - margin.bottom);
//////////////////////////////////////////////////////////////
////////////////////////// Data //////////////////////////////
//////////////////////////////////////////////////////////////
var data = [
[
{axis:"KNN [M 576]",legend:"Entire",value:KNNAll/max},
{axis:"SVC [M 160]",legend:"Entire",value:SVCAll/max},
{axis:"GausNB [M 500]",legend:"Entire",value:GausNBAll/max},
{axis:"MLP [M 120]",legend:"Entire",value:MLPAll/max},
{axis:"LR [M 640]",legend:"Entire",value:LRAll/max},
{axis:"LDA [M 200]",legend:"Entire",value:LDAAll/max},
{axis:"QDA [M 250]",legend:"Entire",value:QDAAll/max},
{axis:"RF [M 160]",legend:"Entire",value:RFAll/max},
{axis:"ExtraT [M 160]",legend:"Entire",value:ExtraTAll/max},
{axis:"AdaB [M 160]",legend:"Entire",value:AdaBAll/max},
{axis:"GradB [M 180]",legend:"Entire",value:GradBAll/max},
{axis:"KNN [576]",legend:"Entire",value:KNNAll/max},
{axis:"SVC [160]",legend:"Entire",value:SVCAll/max},
{axis:"GauNB [500]",legend:"Entire",value:GausNBAll/max},
{axis:"MLP [120]",legend:"Entire",value:MLPAll/max},
{axis:"LR [640]",legend:"Entire",value:LRAll/max},
{axis:"LDA [200]",legend:"Entire",value:LDAAll/max},
{axis:"QDA [250]",legend:"Entire",value:QDAAll/max},
{axis:"RF [160]",legend:"Entire",value:RFAll/max},
{axis:"ExtraT [160]",legend:"Entire",value:ExtraTAll/max},
{axis:"AdaB [160]",legend:"Entire",value:AdaBAll/max},
{axis:"GradB [180]",legend:"Entire",value:GradBAll/max},
],[
{axis:"KNN [M 576]",legend:"Selection",value:KNNSelection/max},
{axis:"SVC [M 160]",legend:"Selection",value:SVCSelection/max},
{axis:"GausNB [M 500]",legend:"Selection",value:GausNBSelection/max},
{axis:"MLP [M 120]",legend:"Selection",value:MLPSelection/max},
{axis:"LR [M 640]",legend:"Selection",value:LRSelection/max},
{axis:"LDA [M 200]",legend:"Selection",value:LDASelection/max},
{axis:"QDA [M 250]",legend:"Selection",value:QDASelection/max},
{axis:"RF [M 160]",legend:"Selectionn",value:RFSelection/max},
{axis:"ExtraT [M 160]",legend:"Selection",value:ExtraTSelection/max},
{axis:"AdaB [M 160]",legend:"Selection",value:AdaBSelection/max},
{axis:"GradB [M 180]",legend:"Selection",value:GradBSelection/max},
{axis:"KNN [576]",legend:"Selection",value:KNNSelection/max},
{axis:"SVC [160]",legend:"Selection",value:SVCSelection/max},
{axis:"GauNB [500]",legend:"Selection",value:GausNBSelection/max},
{axis:"MLP [120]",legend:"Selection",value:MLPSelection/max},
{axis:"LR [640]",legend:"Selection",value:LRSelection/max},
{axis:"LDA [200]",legend:"Selection",value:LDASelection/max},
{axis:"QDA [250]",legend:"Selection",value:QDASelection/max},
{axis:"RF [160]",legend:"Selectionn",value:RFSelection/max},
{axis:"ExtraT [160]",legend:"Selection",value:ExtraTSelection/max},
{axis:"AdaB [160]",legend:"Selection",value:AdaBSelection/max},
{axis:"GradB [180]",legend:"Selection",value:GradBSelection/max},
],
];
//////////////////////////////////////////////////////////////
@ -765,10 +780,12 @@ export default {
stroke: #fff;
stroke-width: 3px;
fill: url(#gradient-chart-area);
transform: translate(5px, 5px);
}
.center-circle {
fill: #fff;
transform: translate(5px, 5px);
}
.bars {
@ -778,6 +795,7 @@ export default {
.gridlines {
fill: none;
stroke: #fff;
transform: translate(5px, 5px);
}
.minor {
@ -796,12 +814,12 @@ export default {
.category-label-text {
font-weight: bold;
font-size: 14px;
font-size: 16px;
fill: #fff;
}
.question-label-text {
font-size: 7px;
font-size: 16px;
font-weight: bold;
fill: gray;
}
@ -814,7 +832,7 @@ export default {
.category-labels {
text-anchor: middle;
font-weight: bold;
font-size: 14px;
font-size: 16px;
fill: #fff;
}
@ -823,6 +841,6 @@ export default {
}
#overview {
min-height: 430px;
min-height: 450px;
}
</style>

@ -80,12 +80,13 @@ export default {
}
};
var data = [trace1, trace2];
var layout = {font: { family: 'Helvetica', size: 16, color: '#000000' },
var layout = {
boxmode: 'group',
autosize: true,
width: width,
height: height,
hovermode: 'x',
font: { family: 'Helvetica', size: 14, color: '#000000' },
margin: {
l: 50,
r: 0,

@ -26,6 +26,7 @@ export default {
UpdatedData: '',
representationDef: 'mds',
representationSelection: 'mds',
RetrieveDataSet: 'HeartC',
colorsValues: ['#808000','#008080','#bebada','#fccde5','#d9d9d9','#bc80bd','#ccebc5'],
WH: []
}
@ -102,7 +103,7 @@ export default {
x: aux_X,
y: aux_Y,
mode: 'markers',
name: target_names[i],
name: beautifyLabels[i],
marker: { color: this.colorsValues[i], line: { color: 'rgb(0, 0, 0)', width: 2 }, opacity: 1, size: 12 },
hovertemplate:
"<b>%{text}</b><br><br>" +
@ -111,7 +112,7 @@ export default {
})
}
layout = {font: { family: 'Helvetica', size: 16, color: '#000000' },
layout = {font: { family: 'Helvetica', size: 14, color: '#000000' },
title: 'MDS Projection',
xaxis: {
visible: false
@ -169,7 +170,7 @@ export default {
x: aux_X,
y: aux_Y,
mode: 'markers',
name: target_names[i],
name: beautifyLabels[i],
marker: { color: this.colorsValues[i], line: { color: 'rgb(0, 0, 0)', width: 2 }, opacity: 1, size: 12 },
hovertemplate:
"<b>%{text}</b><br><br>" +
@ -178,7 +179,7 @@ export default {
})
}
layout = {font: { family: 'Helvetica', size: 16, color: '#000000' },
layout = {font: { family: 'Helvetica', size: 14, color: '#000000' },
title: 't-SNE Projection',
xaxis: {
visible: false
@ -211,6 +212,20 @@ export default {
var traces = []
var beautifyLabels = []
if (this.RetrieveDataSet == 'StanceC') {
beautifyLabels.push('Absence of Hypotheticality')
beautifyLabels.push('Presence of Hypotheticality')
}
else if (this.RetrieveDataSet == 'HeartC') {
beautifyLabels.push('< 50% diameter narrowing / Healthy')
beautifyLabels.push('> 50% diameter narrowing / Diseased')
} else {
target_names.forEach(element => {
beautifyLabels.push(element)
});
}
for (let i = 0; i < target_names.length; i++) {
const aux_X = result.Xax.filter((item, index) => originalDataLabels[index] == target_names[i]);
@ -226,7 +241,7 @@ export default {
x: aux_X,
y: aux_Y,
mode: 'markers',
name: target_names[i],
name: beautifyLabels[i],
marker: { color: this.colorsValues[i], line: { color: 'rgb(0, 0, 0)', width: 2 }, opacity: 1, size: 12 },
hovertemplate:
"<b>%{text}</b><br><br>" +
@ -235,7 +250,7 @@ export default {
})
}
layout = {font: { family: 'Helvetica', size: 16, color: '#000000' },
layout = {font: { family: 'Helvetica', size: 14, color: '#000000' },
title: 'UMAP Projection',
xaxis: {
visible: false
@ -321,6 +336,8 @@ export default {
// reset the views
EventBus.$on('resetViews', this.reset)
EventBus.$on('SendToServerDataSetConfirmation', data => { this.RetrieveDataSet = data })
}
}
</script>

@ -1,23 +1,19 @@
<template>
<div>
<div class="squares-container" style="min-height: 306px;">
<div class="squares-container" style="min-height: 364px;">
<div id="tooltip"></div> <!-- new -->
<canvas id="main-canvas" style="overflow-y: auto; height:290px;"></canvas>
<br>
<div id="dynamic-buttons"></div>
<div id="performanceCapture" style="min-height: 150px;"></div> <!-- new -->
<canvas id="main-canvas" style="overflow-y: auto; height:190px;"></canvas>
<br>
<div id="dynamic-buttons"></div>
</div>
</div>
</template>
<script>
import * as d3Base from 'd3'
import { EventBus } from '../main.js'
import $ from 'jquery'
// attach all d3 plugins to the d3 library
const d3 = Object.assign(d3Base)
import * as Stardust from 'stardust-core'
import * as StardustGL from 'stardust-webgl'
@ -72,7 +68,6 @@ export default {
var canvas = document.getElementById("main-canvas");
var width = this.WH[0]*4 // interactive visualization
var height = this.WH[1]*0.58 // interactive visualization
console.log(width)
var flagKNN = 0
var flagSVC = 0
@ -88,6 +83,7 @@ export default {
var localStackStore = []
var StackInfo = JSON.parse(this.stackInformation[1])
console.log(StackInfo)
var arrayOfNumbers = StackInfo.map(Number)
this.storeData.push(arrayOfNumbers)
localStackStore = this.storeData.slice()
@ -213,7 +209,9 @@ export default {
this.data.forEach(d => {
if (d.column == this.counter) {
d.typeIndex = this.typeCounter[d.type]++;
console.log(d.typeIndex)
d.typeColumnIndex = this.typeColumnCounter[d.column]++;
console.log(d.typeColumnIndex)
}
});
@ -226,7 +224,7 @@ export default {
let isotypeHeight = 18;
let colors = [[166,206,227], [31,120,180], [178,223,138], [51,160,44], [251,154,153], [227,26,28], [253,191,111], [255,127,0], [202,178,214], [106,61,154], [177,89,40]];
colors = colors.map(x => [x[0] / 255, x[1] / 255, x[2] / 255, 1]);
// here 10 was 5!
let pScale = Stardust.scale.custom(`
Vector2(
20 + column * 100 + typeColumnIndex % 5 * 8,
@ -327,7 +325,7 @@ export default {
}
}
const stringStep = "Stack "
const stringStep = "Stack Ensemble"
var myButton = '<button id="HistoryReturnButtons'+this.counter+'" class="dynamic_buttons">'+stringStep+this.counter+'</button>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'
$("#dynamic-buttons").append(myButton);
@ -354,6 +352,103 @@ export default {
EventBus.$emit('ChangeKey', 0)
}
);
var width = 150;
var arcSize = (6 * width / 100);
var innerRadius = arcSize * 3;
var data = [
{value: 45, label: "Accuracy", color: '#ff0000'},
{value: 33, label: "Precision", color: '#00ff00'},
{value: 66, label: "Recall", color: '#0000ff'},
{value: 50, label: "F1 Score", color: '#ffff00'}
];
function render() {
var svg = d3.select('#performanceCapture').append('svg').attr('width', width).attr('height', width);
var arcs = data.map(function (obj, i) {
return d3.svg.arc().innerRadius(i * arcSize + innerRadius).outerRadius((i + 1) * arcSize - (width / 100) + innerRadius);
});
var arcsGrey = data.map(function (obj, i) {
return d3.svg.arc().innerRadius(i * arcSize + (innerRadius + ((arcSize / 2) - 2))).outerRadius((i + 1) * arcSize - ((arcSize / 2)) + (innerRadius));
});
var pieData = data.map(function (obj, i) {
return [
{value: obj.value * 0.75, arc: arcs[i], object: obj},
{value: (100 - obj.value) * 0.75, arc: arcsGrey[i], object: obj},
{value: 100 * 0.25, arc: arcs[i], object: obj}];
});
var pie = d3.layout.pie().sort(null).value(function (d) {
return d.value;
});
var g = svg.selectAll('g').data(pieData).enter()
.append('g')
.attr('transform', 'translate(' + width / 2 + ',' + width / 2 + ') rotate(180)');
var gText = svg.selectAll('g.textClass').data([{}]).enter()
.append('g')
.classed('textClass', true)
.attr('transform', 'translate(' + width / 2 + ',' + width / 2 + ') rotate(180)');
g.selectAll('path').data(function (d) {
return pie(d);
}).enter().append('path')
.attr('id', function (d, i) {
if (i == 1) {
return "Text" + d.data.object.label
}
})
.attr('d', function (d) {
return d.data.arc(d);
}).attr('fill', function (d, i) {
return i == 0 ? d.data.object.color : i == 1 ? '#D3D3D3' : 'none';
});
svg.selectAll('g').each(function (d, index) {
var el = d3.select(this);
var path = el.selectAll('path').each(function (r, i) {
if (i === 1) {
var centroid = r.data.arc.centroid({
startAngle: r.startAngle + 0.05,
endAngle: r.startAngle + 0.001 + 0.05
});
var lableObj = r.data.object;
g.append('text')
.attr('font-size', ((5 * width) / 100))
.attr('dominant-baseline', 'central')
/*.attr('transform', "translate(" + centroid[0] + "," + (centroid[1] + 10) + ") rotate(" + (180 / Math.PI * r.startAngle + 7) + ")")
.attr('alignment-baseline', 'middle')*/
.append("textPath")
.attr("textLength", function (d, i) {
return 0;
})
.attr("xlink:href", "#Text" + r.data.object.label)
.attr("startOffset", '5')
.attr("dy", '-3em')
.text(lableObj.value + '%');
}
if (i === 0) {
var centroidText = r.data.arc.centroid({
startAngle: r.startAngle,
endAngle: r.startAngle
});
var lableObj = r.data.object;
gText.append('text')
.attr('font-size', ((5 * width) / 100))
.text(lableObj.label)
.attr('transform', "translate(" + (centroidText[0] - ((1.5 * width) / 100)) + "," + (centroidText[1] + ") rotate(" + (180) + ")"))
.attr('dominant-baseline', 'central');
}
});
});
}
render()
},
updateExtraction () {
EventBus.$emit('SendSelectedPointsToServerEvent', this.storeData[this.flagUpdated])

@ -1,26 +1,57 @@
<template>
<div>
<b-row>
<b-col cols="10">
<div id="WrapSliders">
<p>(1) Accuracy:<b-form-slider ref="basic1" v-model="basicValue1" :min="0" :max="100" trigger-change-event @slide-start="slideStart" @slide-stop="slideStop" style="padding-right: 15px;padding-left:15px"></b-form-slider>{{ basicValue1 }}%</p>
<p>(2*) G-Mean:<b-form-slider ref="basic2" v-model="basicValue2" :min="0" :max="100" trigger-change-event @slide-start="slideStart" @slide-stop="slideStop" style="padding-right: 15px; padding-left:15px"></b-form-slider>{{ basicValue2 }}%</p>
<p>(3*) Precision:<b-form-slider ref="basic3" v-model="basicValue3" :min="0" :max="100" trigger-change-event @slide-start="slideStart" @slide-stop="slideStop" style="padding-right: 15px; padding-left:15px"></b-form-slider>{{ basicValue3 }}%</p>
<p>(4*) Recall:<b-form-slider ref="basic4" v-model="basicValue4" :min="0" :max="100" trigger-change-event @slide-start="slideStart" @slide-stop="slideStop" style="padding-right: 15px; padding-left:15px"></b-form-slider>{{ basicValue4 }}%</p>
<p>(5*) F-Beta Score:<b-form-slider ref="basic5" v-model="basicValue5" :min="0" :max="100" trigger-change-event @slide-start="slideStart" @slide-stop="slideStop" style="padding-right: 15px; padding-left:15px"></b-form-slider >{{ basicValue5 }}%</p>
<p>(6) MCC:<b-form-slider ref="basic6" v-model="basicValue6" :min="0" :max="100" trigger-change-event @slide-start="slideStart" @slide-stop="slideStop" style="padding-right: 15px; padding-left:15px"></b-form-slider>{{ basicValue6 }}%</p>
<p>(7) ROC AUC:<b-form-slider ref="basic7" v-model="basicValue7" :min="0" :max="100" trigger-change-event @slide-start="slideStart" @slide-stop="slideStop" style="padding-right: 15px;padding-left:15px"></b-form-slider>{{ basicValue7 }}%</p>
<p>(8) Log Loss:<b-form-slider ref="basic8" v-model="basicValue8" :min="0" :max="100" trigger-change-event @slide-start="slideStart" @slide-stop="slideStop" style="padding-right: 15px;padding-left:15px"></b-form-slider>{{ basicValue8 }}%</p>
</div>
</b-col>
<b-col cols="2">
<br>
<br>
Deep Feature Search:
<input type="checkbox" id="toggleDeepID" data-toggle="toggle" checked="checked" data-on="Enabled" data-off="Disabled" data-size="small">
<b-col cols="12">
<table class="table table-borderless table-sm">
<tbody>
<tr>
<td>(M1) Accuracy:</td>
<td><b-form-slider ref="basic1" v-model="basicValue1" :min="0" :max="100" trigger-change-event @slide-start="slideStart" @slide-stop="slideStop" style="padding-right: 15px;"></b-form-slider>{{ basicValue1 }}%</td>
<td style="text-align: center; width: 70px"><font-awesome-icon class="fa-lg" icon="dice-four"/></td>
</tr>
<tr>
<td>(M2*) G-Mean:</td>
<td><b-form-slider ref="basic2" v-model="basicValue2" :min="0" :max="100" trigger-change-event @slide-start="slideStart" @slide-stop="slideStop" style="padding-right: 15px;"></b-form-slider>{{ basicValue2 }}%</td>
<td style="text-align: center; width: 70px"></td>
</tr>
<tr>
<td>(M3*) Precision:</td>
<td><b-form-slider ref="basic3" v-model="basicValue3" :min="0" :max="100" trigger-change-event @slide-start="slideStart" @slide-stop="slideStop" style="padding-right: 15px; "></b-form-slider>{{ basicValue3 }}%</td>
<td style="text-align: center; width: 70px"><font-awesome-icon class="fa-lg" icon="dice-three"/>&nbsp;<font-awesome-icon class="fa-lg" icon="dice-four"/></td>
</tr>
<tr>
<td>(M4*) Recall:</td>
<td><b-form-slider ref="basic4" v-model="basicValue4" :min="0" :max="100" trigger-change-event @slide-start="slideStart" @slide-stop="slideStop" style="padding-right: 15px; "></b-form-slider>{{ basicValue4 }}%</td>
<td style="text-align: center; width: 70px"><font-awesome-icon class="fa-lg" icon="dice-three"/>&nbsp;<font-awesome-icon class="fa-lg" icon="dice-four"/></td>
</tr>
<tr>
<td width="185">(M5*) <select id="selectFilterBeta" @change="selectAppliedFilterBeta()" >
<option value="one" selected>F1 Score</option>
<option value="half">F0.5 Score</option>
<option value="two">F2 Score</option>
</select>:</td>
<td><b-form-slider ref="basic5" v-model="basicValue5" :min="0" :max="100" trigger-change-event @slide-start="slideStart" @slide-stop="slideStop" style="padding-right: 15px; "></b-form-slider >{{ basicValue5 }}%</td>
<td style="text-align: center; width: 70px"><font-awesome-icon class="fa-lg" icon="dice-three"/>&nbsp;<font-awesome-icon class="fa-lg" icon="dice-four"/></td>
</tr>
<tr>
<td>(M6) MCC:</td>
<td><b-form-slider ref="basic6" v-model="basicValue6" :min="0" :max="100" trigger-change-event @slide-start="slideStart" @slide-stop="slideStop" style="padding-right: 15px; "></b-form-slider>{{ basicValue6 }}%</td>
<td style="text-align: center; width: 70px"></td>
</tr>
<tr>
<td>(M7) ROC AUC:</td>
<td><b-form-slider ref="basic7" v-model="basicValue7" :min="0" :max="100" trigger-change-event @slide-start="slideStart" @slide-stop="slideStop" style="padding-right: 15px;"></b-form-slider>{{ basicValue7 }}%</td>
<td style="text-align: center; width: 70px"></td>
</tr>
<tr>
<td>(M8) Log Loss:</td>
<td><b-form-slider ref="basic8" v-model="basicValue8" :min="0" :max="100" trigger-change-event @slide-start="slideStart" @slide-stop="slideStop" style="padding-right: 15px;"></b-form-slider>{{ basicValue8 }}%</td>
<td style="text-align: center; width: 70px"></td>
</tr>
</tbody>
</table>
</b-col>
</b-row>
<br>
<b-row>
<b-col cols="6">
<p>(*) Average: <select id="selectFilterAverage" @change="selectAppliedFilterAverage()">
@ -30,11 +61,7 @@
</select></p>
</b-col>
<b-col cols="6">
<p>(5) Beta Value: <select id="selectFilterBeta" @change="selectAppliedFilterBeta()">
<option value="one" selected>F1 Score</option>
<option value="half">F0.5 Score</option>
<option value="two">F2 Score</option>
</select></p>
<p>Detailed Feature Search: <input type="checkbox" id="toggleDeepID" data-toggle="toggle" checked="checked" data-on="Enabled" data-off="Disabled" data-size="small"></p>
</b-col>
</b-row>
</div>
@ -217,9 +244,9 @@
},
mounted () {
$('#toggleDeepID').bootstrapToggle({
on: 'I',
off: '0',
width: '50%',
on: 'On',
off: 'Off',
width: '20%',
});
$('#toggleDeepID').change(function() {
var toggleDeepSlid = document.getElementById('toggleDeepID')
@ -239,9 +266,9 @@ p {
padding: 0 !important;
}
/*.slider.slider-horizontal {
width: 300px !important;
}*/
.slider.slider-horizontal{
width:260px; /* sample value - set it as you like*/
}
.slider-handle {
background: black;

@ -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 { faUpload, faPlay, faCheck, faSave, faTrash, faPlus, faBalanceScale, faMinus, faEraser, faClone, faObjectGroup, faUndo, faSyncAlt, faFileExport, faWindowClose, faHistory } from '@fortawesome/free-solid-svg-icons'
import { faUpload, faPlay, faCheck, faSave, faTrash, faPlus, faBalanceScale, faMinus, faEraser, faClone, faObjectGroup, faUndo, faSyncAlt, faFileExport, faWindowClose, faHistory, faDiceThree, faDiceFour, faCalculator } from '@fortawesome/free-solid-svg-icons'
import bFormSlider from 'vue-bootstrap-slider'
library.add(faUpload, faPlay, faCheck, faSave, faTrash, faPlus, faBalanceScale, faMinus, faEraser, faClone, faObjectGroup, faUndo, faSyncAlt, faFileExport, faWindowClose, faHistory )
library.add(faUpload, faPlay, faCheck, faSave, faTrash, faPlus, faBalanceScale, faMinus, faEraser, faClone, faObjectGroup, faUndo, faSyncAlt, faFileExport, faWindowClose, faHistory, faDiceThree, faDiceFour,faCalculator )
Vue.component('font-awesome-icon', FontAwesomeIcon)

134
run.py

@ -388,30 +388,15 @@ def DataSetSelection():
XDataStored = XData.copy()
yDataStored = yData.copy()
callPreResults()
warnings.simplefilter('ignore')
return 'Everything is okay'
# Sending each model's results to frontend
@app.route('/data/requestDataSpaceResultsAfterDataManipulation', methods=["GET", "POST"])
def SendDataSpaceResultsAfterDataSpaceManipul():
callPreResults()
global preResults
response = {
'DataResults': preResults,
}
return jsonify(response)
def callPreResults():
global XData
global yData
global target_names
global allParametersPerformancePerModel
global impDataInst
DataSpaceResMDS = FunMDS(XData)
DataSpaceResTSNE = FunTsne(XData)
@ -430,7 +415,7 @@ def callPreResults():
preResults.append(json.dumps(AllTargets)) # Position: 4
preResults.append(json.dumps(DataSpaceResTSNE)) # Position: 5
preResults.append(json.dumps(DataSpaceUMAP)) # Position: 6
preResults.append(json.dumps(allParametersPerformancePerModel)) # Position: 7
preResults.append(json.dumps(impDataInst)) # Position: 7
# Sending each model's results to frontend
@app.route('/data/requestDataSpaceResults', methods=["GET", "POST"])
@ -507,7 +492,7 @@ def RetrieveModel():
params = {'n_neighbors': list(range(1, 25)), 'metric': ['chebyshev', 'manhattan', 'euclidean', 'minkowski'], 'algorithm': ['brute', 'kd_tree', 'ball_tree'], 'weights': ['uniform', 'distance']}
AlgorithmsIDsEnd = 0
elif (eachAlgor) == 'SVC':
clf = SVC(probability=True)
clf = SVC(probability=True,random_state=RANDOM_SEED)
params = {'C': list(np.arange(0.1,4.43,0.11)), 'kernel': ['rbf','linear', 'poly', 'sigmoid']}
AlgorithmsIDsEnd = SVCModelsCount
elif (eachAlgor) == 'GausNB':
@ -515,11 +500,11 @@ def RetrieveModel():
params = {'var_smoothing': list(np.arange(0.00000000001,0.0000001,0.0000000002))}
AlgorithmsIDsEnd = GausNBModelsCount
elif (eachAlgor) == 'MLP':
clf = MLPClassifier()
clf = MLPClassifier(random_state=RANDOM_SEED)
params = {'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']}
AlgorithmsIDsEnd = MLPModelsCount
elif (eachAlgor) == 'LR':
clf = LogisticRegression()
clf = LogisticRegression(random_state=RANDOM_SEED)
params = {'C': list(np.arange(0.5,2,0.075)), 'max_iter': list(np.arange(50,250,50)), 'solver': ['lbfgs', 'newton-cg', 'sag', 'saga'], 'penalty': ['l2', 'none']}
AlgorithmsIDsEnd = LRModelsCount
elif (eachAlgor) == 'LDA':
@ -531,19 +516,19 @@ def RetrieveModel():
params = {'reg_param': list(np.arange(0,1,0.02)), 'tol': list(np.arange(0.00001,0.001,0.0002))}
AlgorithmsIDsEnd = QDAModelsCount
elif (eachAlgor) == 'RF':
clf = RandomForestClassifier()
clf = RandomForestClassifier(random_state=RANDOM_SEED)
params = {'n_estimators': list(range(60, 140)), 'criterion': ['gini', 'entropy']}
AlgorithmsIDsEnd = RFModelsCount
elif (eachAlgor) == 'ExtraT':
clf = ExtraTreesClassifier()
clf = ExtraTreesClassifier(random_state=RANDOM_SEED)
params = {'n_estimators': list(range(60, 140)), 'criterion': ['gini', 'entropy']}
AlgorithmsIDsEnd = ExtraTModelsCount
elif (eachAlgor) == 'AdaB':
clf = AdaBoostClassifier()
clf = AdaBoostClassifier(random_state=RANDOM_SEED)
params = {'n_estimators': list(range(40, 80)), 'learning_rate': list(np.arange(0.1,2.3,1.1)), 'algorithm': ['SAMME.R', 'SAMME']}
AlgorithmsIDsEnd = AdaBModelsCount
else:
clf = GradientBoostingClassifier()
clf = GradientBoostingClassifier(random_state=RANDOM_SEED)
params = {'n_estimators': list(range(85, 115)), 'learning_rate': list(np.arange(0.01,0.23,0.11)), 'criterion': ['friedman_mse', 'mse', 'mae']}
AlgorithmsIDsEnd = GradBModelsCount
allParametersPerformancePerModel = GridSearchForModels(XData, yData, clf, params, eachAlgor, AlgorithmsIDsEnd, toggle)
@ -620,6 +605,8 @@ def GridSearchForModels(XData, yData, clf, params, eachAlgor, AlgorithmsIDsEnd,
PerFeatureAccuracyAll = []
PerClassMetric = []
perModelProb = []
perModelPrediction = []
resultsMicro = []
resultsMacro = []
resultsWeighted = []
@ -642,7 +629,8 @@ def GridSearchForModels(XData, yData, clf, params, eachAlgor, AlgorithmsIDsEnd,
inputs = range(len(XData))
num_cores = multiprocessing.cpu_count()
impDataInst = Parallel(n_jobs=num_cores)(delayed(processInput)(i,XData,yData,crossValidation,clf) for i in inputs)
#impDataInst = Parallel(n_jobs=num_cores)(delayed(processInput)(i,XData,yData,crossValidation,clf) for i in inputs)
for eachModelParameters in parametersLocalNew:
clf.set_params(**eachModelParameters)
if (toggle == 1):
@ -660,6 +648,7 @@ def GridSearchForModels(XData, yData, clf, params, eachAlgor, AlgorithmsIDsEnd,
clf.fit(XData, yData)
yPredict = clf.predict(XData)
yPredict = np.nan_to_num(yPredict)
perModelPrediction.append(yPredict)
# retrieve target names (class names)
PerClassMetric.append(classification_report(yData, yPredict, target_names=target_names, digits=2, output_dict=True))
yPredictProb = clf.predict_proba(XData)
@ -685,7 +674,7 @@ def GridSearchForModels(XData, yData, clf, params, eachAlgor, AlgorithmsIDsEnd,
resultsWeightedBeta2.append(fbeta_score(yData, yPredict, average='weighted', beta=2))
resultsLogLoss.append(log_loss(yData, yPredictProb, normalize=True))
print('perase')
maxLog = max(resultsLogLoss)
minLog = min(resultsLogLoss)
for each in resultsLogLoss:
@ -711,6 +700,10 @@ def GridSearchForModels(XData, yData, clf, params, eachAlgor, AlgorithmsIDsEnd,
metrics.insert(loop+13,'log_loss',resultsLogLossFinal)
perModelPredPandas = pd.DataFrame(perModelPrediction)
print(perModelPredPandas)
perModelPredPandas = perModelPredPandas.to_json()
perModelProbPandas = pd.DataFrame(perModelProb)
perModelProbPandas = perModelProbPandas.to_json()
@ -746,7 +739,7 @@ def GridSearchForModels(XData, yData, clf, params, eachAlgor, AlgorithmsIDsEnd,
metrics = metrics.to_json()
results.append(metrics) # Position: 6 and so on
results.append(perModelProbPandas) # Position: 7 and so on
results.append(json.dumps(impDataInst)) # Position: 8 and so on
results.append(json.dumps(perModelPredPandas)) # Position: 8 and so on
return results
@ -1500,6 +1493,8 @@ def InitializeEnsemble():
XModels = PreprocessingMetrics()
global ModelSpaceMDS
global ModelSpaceTSNE
global allParametersPerformancePerModel
global impDataInst
XModels = XModels.fillna(0)
@ -1515,11 +1510,67 @@ def InitializeEnsemble():
PredictionSpaceUMAP = FunUMAP(PredictionProbSel)
ModelsIDs = preProceModels()
impDataInst = processDataInstance(ModelsIDs,allParametersPerformancePerModel)
key = 0
EnsembleModel(ModelsIDs, key)
ReturnResults(ModelSpaceMDS,ModelSpaceTSNE,ModelSpaceUMAP,PredictionSpaceMDS,PredictionSpaceTSNE,PredictionSpaceUMAP)
def processDataInstance(ModelsIDs, allParametersPerformancePerModel):
dicKNN = json.loads(allParametersPerformancePerModel[8])
dicSVC = json.loads(allParametersPerformancePerModel[17])
dicGausNB = json.loads(allParametersPerformancePerModel[26])
dicMLP = json.loads(allParametersPerformancePerModel[35])
dicLR = json.loads(allParametersPerformancePerModel[44])
dicLDA = json.loads(allParametersPerformancePerModel[53])
dicQDA = json.loads(allParametersPerformancePerModel[62])
dicRF = json.loads(allParametersPerformancePerModel[71])
dicExtraT = json.loads(allParametersPerformancePerModel[70])
dicAdaB = json.loads(allParametersPerformancePerModel[89])
dicGradB = json.loads(allParametersPerformancePerModel[98])
dfKNN = pd.DataFrame.from_dict(dicKNN)
dfSVC = pd.DataFrame.from_dict(dicSVC)
dfGausNB = pd.DataFrame.from_dict(dicGausNB)
dfMLP = pd.DataFrame.from_dict(dicMLP)
dfLR = pd.DataFrame.from_dict(dicLR)
dfLDA = pd.DataFrame.from_dict(dicLDA)
dfQDA = pd.DataFrame.from_dict(dicQDA)
dfRF = pd.DataFrame.from_dict(dicRF)
dfExtraT = pd.DataFrame.from_dict(dicExtraT)
dfAdaB = pd.DataFrame.from_dict(dicAdaB)
dfGradB = pd.DataFrame.from_dict(dicGradB)
dfKNN.index = dfKNN.index.astype(int)
dfSVC.index = dfSVC.index.astype(int) + SVCModelsCount
dfGausNB.index = dfGausNB.index.astype(int) + GausNBModelsCount
dfMLP.index = dfMLP.index.astype(int) + MLPModelsCount
dfLR.index = dfLR.index.astype(int) + LRModelsCount
dfLDA.index = dfLDA.index.astype(int) + LDAModelsCount
dfQDA.index = dfQDA.index.astype(int) + QDAModelsCount
dfRF.index = dfRF.index.astype(int) + RFModelsCount
dfExtraT.index = dfExtraT.index.astype(int) + ExtraTModelsCount
dfAdaB.index = dfAdaB.index.astype(int) + AdaBModelsCount
dfGradB.index = dfGradB.index.astype(int) + GradBModelsCount
dfKNNFiltered = dfKNN.loc[KNNModels, :]
dfSVCFiltered = dfSVC.loc[SVCModels, :]
dfGausNBFiltered = dfGausNB.loc[GausNBModels, :]
dfMLPFiltered = dfMLP.loc[MLPModels, :]
dfLRFiltered = dfLR.loc[LRModels, :]
dfLDAFiltered = dfLDA.loc[LDAModels, :]
dfQDAFiltered = dfQDA.loc[QDAModels, :]
dfRFFiltered = dfRF.loc[RFModels, :]
dfExtraTFiltered = dfExtraT.loc[ExtraTModels, :]
dfAdaBFiltered = dfAdaB.loc[AdaBModels, :]
dfGradBFiltered = dfGradB.loc[GradBModels, :]
df_connect = pd.concat([dfKNNFiltered, dfSVCFiltered, dfGausNBFiltered, dfMLPFiltered, dfLRFiltered, dfLDAFiltered, dfQDAFiltered, dfRFFiltered, dfExtraTFiltered, dfAdaBFiltered, dfGradBFiltered])
print(df_connect.sum(axis=1))
return df_connect
def ReturnResults(ModelSpaceMDS,ModelSpaceTSNE,ModelSpaceUMAP,PredictionSpaceMDS,PredictionSpaceTSNE,PredictionSpaceUMAP):
global Results
@ -1589,7 +1640,6 @@ def RetrieveSelClassifiersIDandRemoveFromStack():
global resultsUpdatePredictionSpace
resultsUpdatePredictionSpace = []
print(PredictionProbSelUpdate)
resultsUpdatePredictionSpace.append(json.dumps(PredictionProbSelUpdate[0])) # Position: 0
resultsUpdatePredictionSpace.append(json.dumps(PredictionProbSelUpdate[1]))
@ -1827,7 +1877,7 @@ def RetrieveSelDataPoints():
params = RetrieveParamsClearedListKNN
AlgorithmsIDsEnd = 0
elif (eachAlgor) == 'SVC':
clf = SVC(probability=True)
clf = SVC(probability=True,random_state=RANDOM_SEED)
params = RetrieveParamsClearedListSVC
AlgorithmsIDsEnd = SVCModelsCount
elif (eachAlgor) == 'GausNB':
@ -1835,11 +1885,11 @@ def RetrieveSelDataPoints():
params = RetrieveParamsClearedListGausNB
AlgorithmsIDsEnd = GausNBModelsCount
elif (eachAlgor) == 'MLP':
clf = MLPClassifier()
clf = MLPClassifier(random_state=RANDOM_SEED)
params = RetrieveParamsClearedListMLP
AlgorithmsIDsEnd = MLPModelsCount
elif (eachAlgor) == 'LR':
clf = LogisticRegression()
clf = LogisticRegression(random_state=RANDOM_SEED)
params = RetrieveParamsClearedListLR
AlgorithmsIDsEnd = LRModelsCount
elif (eachAlgor) == 'LDA':
@ -1851,19 +1901,19 @@ def RetrieveSelDataPoints():
params = RetrieveParamsClearedListQDA
AlgorithmsIDsEnd = QDAModelsCount
elif (eachAlgor) == 'RF':
clf = RandomForestClassifier()
clf = RandomForestClassifier(random_state=RANDOM_SEED)
params = RetrieveParamsClearedListRF
AlgorithmsIDsEnd = RFModelsCount
elif (eachAlgor) == 'ExtraT':
clf = ExtraTreesClassifier()
clf = ExtraTreesClassifier(random_state=RANDOM_SEED)
params = RetrieveParamsClearedListExtraT
AlgorithmsIDsEnd = ExtraTModelsCount
elif (eachAlgor) == 'AdaB':
clf = AdaBoostClassifier()
clf = AdaBoostClassifier(random_state=RANDOM_SEED)
params = RetrieveParamsClearedListGradB
AlgorithmsIDsEnd = AdaBModelsCount
else:
clf = GradientBoostingClassifier()
clf = GradientBoostingClassifier(random_state=RANDOM_SEED)
params = RetrieveParamsClearedListGradB
AlgorithmsIDsEnd = GradBModelsCount
metricsSelList = GridSearchSel(clf, params, factors, AlgorithmsIDsEnd, listofDataPoints)
@ -2367,7 +2417,7 @@ def EnsembleModel(Models, keyRetrieved):
global yData
global sclf
lr = LogisticRegression()
lr = LogisticRegression(random_state=RANDOM_SEED)
if (keyRetrieved == 0):
all_classifiers = []
@ -2721,7 +2771,7 @@ def EnsembleModel(Models, keyRetrieved):
# del columnsReduce[0:len(resultsList[index][1])]
# else:
# for j, each in enumerate(resultsList[index][1]):
# all_classifiersSelection.append(make_pipeline(ColumnSelector(cols=columnsReduce[j]), RandomForestClassifier().set_params(**each)))
# all_classifiersSelection.append(make_pipeline(ColumnSelector(cols=columnsReduce[j]), RandomForestClassifier(random_state=RANDOM_SEED).set_params(**each)))
# del columnsReduce[0:len(resultsList[index][1])]
# sclf = StackingCVClassifier(classifiers=all_classifiersSelection,
# use_probas=True,
@ -2733,7 +2783,7 @@ def EnsembleModel(Models, keyRetrieved):
pass
else:
num_cores = multiprocessing.cpu_count()
inputsSc = ['accuracy','precision_weighted','recall_weighted','accuracy','precision_weighted','recall_weighted']
inputsSc = ['accuracy','precision_weighted','recall_weighted','accuracy','precision_weighted','recall_weighted','f1_weighted','f1_weighted']
flat_results = Parallel(n_jobs=num_cores)(delayed(solve)(sclf,sclfStack,XData,yData,crossValidation,item,index) for index, item in enumerate(inputsSc))
scores = [item for sublist in flat_results for item in sublist]
@ -2749,14 +2799,6 @@ def solve(sclf,sclfStack,XData,yData,crossValidation,scoringIn,loop):
scoresLoc.append(temp.std())
return scoresLoc
def processInput(indexValue,XData,yData,crossValidation,sclf):
XDataRemove = XData.copy()
XDataRemove.drop(indexValue, inplace=True)
yDataRemove = yData.copy()
del yDataRemove[indexValue]
tempRemove = model_selection.cross_val_score(sclf, XDataRemove, yDataRemove, cv=crossValidation, scoring='accuracy', n_jobs=-1)
return tempRemove.mean()
# Sending the final results to be visualized as a line plot
@app.route('/data/SendFinalResultsBacktoVisualize', methods=["GET", "POST"])
def SendToPlotFinalResults():

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save