parent 6d40fa51f4
commit e6fb8d39c0
  1. 0
      LICENSE.txt
  2. 0
      Makefile.win
  3. 1
      README.md
  4. BIN
      __pycache__/bhtsne.cpython-37.pyc
  5. BIN
      __pycache__/tsneGrid.cpython-37.pyc
  6. BIN
      bh_tsne
  7. 30
      bhtsne.py
  8. BIN
      cachedir/joblib/tsneGrid/wrapGetResults/0159e56a20dd841c1a46e0a4adec1857/output.pkl
  9. 1
      cachedir/joblib/tsneGrid/wrapGetResults/0c12479eefa6b83c513d9426678bd6c5/metadata.json
  10. BIN
      cachedir/joblib/tsneGrid/wrapGetResults/0c12479eefa6b83c513d9426678bd6c5/output.pkl
  11. 1
      cachedir/joblib/tsneGrid/wrapGetResults/0ef8bace2617cb12410b09593d5ce22c/metadata.json
  12. BIN
      cachedir/joblib/tsneGrid/wrapGetResults/0ef8bace2617cb12410b09593d5ce22c/output.pkl
  13. 2
      cachedir/joblib/tsneGrid/wrapGetResults/10c9ed9b2ff02222ca82cfd603b9ec3f/metadata.json
  14. BIN
      cachedir/joblib/tsneGrid/wrapGetResults/10c9ed9b2ff02222ca82cfd603b9ec3f/output.pkl
  15. 1
      cachedir/joblib/tsneGrid/wrapGetResults/1ddefb98fa182253eab204d4754b98f6/metadata.json
  16. BIN
      cachedir/joblib/tsneGrid/wrapGetResults/1ddefb98fa182253eab204d4754b98f6/output.pkl
  17. 1
      cachedir/joblib/tsneGrid/wrapGetResults/205d8b2fca4a45add9abe01d08dd883b/metadata.json
  18. BIN
      cachedir/joblib/tsneGrid/wrapGetResults/205d8b2fca4a45add9abe01d08dd883b/output.pkl
  19. 1
      cachedir/joblib/tsneGrid/wrapGetResults/323e1aabcf84763833a281b1f709acab/metadata.json
  20. BIN
      cachedir/joblib/tsneGrid/wrapGetResults/323e1aabcf84763833a281b1f709acab/output.pkl
  21. 2
      cachedir/joblib/tsneGrid/wrapGetResults/32821225218b6f187226ebeccc7ad7e1/metadata.json
  22. BIN
      cachedir/joblib/tsneGrid/wrapGetResults/32821225218b6f187226ebeccc7ad7e1/output.pkl
  23. 1
      cachedir/joblib/tsneGrid/wrapGetResults/41f6a961027cd56fd1d3e9c6aeb61d19/metadata.json
  24. BIN
      cachedir/joblib/tsneGrid/wrapGetResults/41f6a961027cd56fd1d3e9c6aeb61d19/output.pkl
  25. 1
      cachedir/joblib/tsneGrid/wrapGetResults/4a51497f39535226bcb6004a9e504fc4/metadata.json
  26. BIN
      cachedir/joblib/tsneGrid/wrapGetResults/4a51497f39535226bcb6004a9e504fc4/output.pkl
  27. BIN
      cachedir/joblib/tsneGrid/wrapGetResults/64ff4533f4d63a2f09e20b91dcce737c/output.pkl
  28. 1
      cachedir/joblib/tsneGrid/wrapGetResults/6bc93cade94d918a4730ee6065d2b2ab/metadata.json
  29. BIN
      cachedir/joblib/tsneGrid/wrapGetResults/6bc93cade94d918a4730ee6065d2b2ab/output.pkl
  30. 1
      cachedir/joblib/tsneGrid/wrapGetResults/744444ae1d1e91db785c5dc3f99e52d0/metadata.json
  31. BIN
      cachedir/joblib/tsneGrid/wrapGetResults/744444ae1d1e91db785c5dc3f99e52d0/output.pkl
  32. 1
      cachedir/joblib/tsneGrid/wrapGetResults/7c31520b589820031fb034d593ca82c7/metadata.json
  33. BIN
      cachedir/joblib/tsneGrid/wrapGetResults/7c31520b589820031fb034d593ca82c7/output.pkl
  34. 1
      cachedir/joblib/tsneGrid/wrapGetResults/7e8da8329c985f22bbe4c729b0408dc4/metadata.json
  35. BIN
      cachedir/joblib/tsneGrid/wrapGetResults/7e8da8329c985f22bbe4c729b0408dc4/output.pkl
  36. 1
      cachedir/joblib/tsneGrid/wrapGetResults/80422bba65b43c68417b12b82620818f/metadata.json
  37. BIN
      cachedir/joblib/tsneGrid/wrapGetResults/80422bba65b43c68417b12b82620818f/output.pkl
  38. 1
      cachedir/joblib/tsneGrid/wrapGetResults/94d953b4276b5a631e6ff1576179d473/metadata.json
  39. BIN
      cachedir/joblib/tsneGrid/wrapGetResults/94d953b4276b5a631e6ff1576179d473/output.pkl
  40. 1
      cachedir/joblib/tsneGrid/wrapGetResults/9add6660fb41c6c51eaf5aa6ea656b83/metadata.json
  41. BIN
      cachedir/joblib/tsneGrid/wrapGetResults/9add6660fb41c6c51eaf5aa6ea656b83/output.pkl
  42. 1
      cachedir/joblib/tsneGrid/wrapGetResults/a1a276ff6f0f454d29cb3ab6d0f231a7/metadata.json
  43. BIN
      cachedir/joblib/tsneGrid/wrapGetResults/a1a276ff6f0f454d29cb3ab6d0f231a7/output.pkl
  44. 1
      cachedir/joblib/tsneGrid/wrapGetResults/a85dad988b7a006e81b42723df268b30/metadata.json
  45. BIN
      cachedir/joblib/tsneGrid/wrapGetResults/a85dad988b7a006e81b42723df268b30/output.pkl
  46. 1
      cachedir/joblib/tsneGrid/wrapGetResults/b47197b4ad1d2557f0c4671d020bae90/metadata.json
  47. BIN
      cachedir/joblib/tsneGrid/wrapGetResults/b47197b4ad1d2557f0c4671d020bae90/output.pkl
  48. 1
      cachedir/joblib/tsneGrid/wrapGetResults/cabe82c787215a6d9b2831382e7a5c7d/metadata.json
  49. BIN
      cachedir/joblib/tsneGrid/wrapGetResults/cabe82c787215a6d9b2831382e7a5c7d/output.pkl
  50. 1
      cachedir/joblib/tsneGrid/wrapGetResults/ccca277f0d9b005ee1be994805cc09db/metadata.json
  51. BIN
      cachedir/joblib/tsneGrid/wrapGetResults/ccca277f0d9b005ee1be994805cc09db/output.pkl
  52. 1
      cachedir/joblib/tsneGrid/wrapGetResults/d350d460d4ccaf5b7bb759623976a40a/metadata.json
  53. BIN
      cachedir/joblib/tsneGrid/wrapGetResults/d350d460d4ccaf5b7bb759623976a40a/output.pkl
  54. 1
      cachedir/joblib/tsneGrid/wrapGetResults/e99f60c71f5ec695eadc81606983d0ad/metadata.json
  55. BIN
      cachedir/joblib/tsneGrid/wrapGetResults/e99f60c71f5ec695eadc81606983d0ad/output.pkl
  56. 1
      cachedir/joblib/tsneGrid/wrapGetResults/ed3c939610a6e7dd8cb1aee724872b4a/metadata.json
  57. BIN
      cachedir/joblib/tsneGrid/wrapGetResults/ed3c939610a6e7dd8cb1aee724872b4a/output.pkl
  58. 1
      cachedir/joblib/tsneGrid/wrapGetResults/fe7e0f41ce54d6580987f815a89fad6f/metadata.json
  59. BIN
      cachedir/joblib/tsneGrid/wrapGetResults/fe7e0f41ce54d6580987f815a89fad6f/output.pkl
  60. 4
      cachedir/joblib/tsneGrid/wrapGetResults/func_code.py
  61. 4
      css/style.css
  62. 0
      fast_tsne.m
  63. 47
      index.html
  64. 264
      js/tsne_vis.js
  65. 0
      sptree.cpp
  66. 0
      sptree.h
  67. 96
      tsne.cpp
  68. 30
      tsne.h
  69. 124
      tsneGrid.py
  70. 11
      tsne_main.cpp
  71. 0
      vptree.h

@ -3,6 +3,7 @@
This software package contains a Barnes-Hut implementation of the t-SNE algorithm. The implementation is described in [this paper](http://lvdmaaten.github.io/publications/papers/JMLR_2014.pdf). This software package contains a Barnes-Hut implementation of the t-SNE algorithm. The implementation is described in [this paper](http://lvdmaaten.github.io/publications/papers/JMLR_2014.pdf).
**Note:** This repository is a version of t-SNE modified to support ongoing research. It may be slightly slower than the original. If you're just trying to run t-SNE, check the original repository that we forked from.
# Installation # # Installation #

Binary file not shown.

Binary file not shown.

@ -64,7 +64,7 @@ INITIAL_DIMENSIONS = 50
DEFAULT_PERPLEXITY = 50 DEFAULT_PERPLEXITY = 50
DEFAULT_THETA = 0.5 DEFAULT_THETA = 0.5
EMPTY_SEED = -1 EMPTY_SEED = -1
DEFAULT_USE_PCA = False DEFAULT_USE_PCA = True
DEFAULT_MAX_ITERATIONS = 1000 DEFAULT_MAX_ITERATIONS = 1000
### ###
@ -102,7 +102,8 @@ def _is_filelike_object(f):
return isinstance(f, io.IOBase) return isinstance(f, io.IOBase)
def init_bh_tsne(samples, workdir, no_dims, initial_dims, perplexity, theta, randseed, verbose, use_pca, max_iter): def init_bh_tsne(samples, workdir, no_dims=DEFAULT_NO_DIMS, initial_dims=INITIAL_DIMENSIONS, perplexity=DEFAULT_PERPLEXITY,
theta=DEFAULT_THETA, randseed=EMPTY_SEED, verbose=False, use_pca=DEFAULT_USE_PCA, max_iter=DEFAULT_MAX_ITERATIONS):
if use_pca: if use_pca:
samples = samples - np.mean(samples, axis=0) samples = samples - np.mean(samples, axis=0)
@ -172,7 +173,9 @@ def bh_tsne(workdir, verbose=False):
# The last piece of data is the cost for each sample, we ignore it # The last piece of data is the cost for each sample, we ignore it
#read_unpack('{}d'.format(sample_count), output_file) #read_unpack('{}d'.format(sample_count), output_file)
def run_bh_tsne(data, no_dims=2, perplexity=50, theta=0.5, randseed=-1, verbose=False, initial_dims=50, use_pca=True, max_iter=1000): def run_bh_tsne(data, no_dims=2, perplexity=50, theta=0.5, randseed=-1,
verbose=False, initial_dims=50, use_pca=True, max_iter=1000,
return_betas=False, return_cost_per_point=False, return_cost_per_iter=False):
''' '''
Run TSNE based on the Barnes-HT algorithm Run TSNE based on the Barnes-HT algorithm
@ -200,8 +203,8 @@ def run_bh_tsne(data, no_dims=2, perplexity=50, theta=0.5, randseed=-1, verbose=
if _is_filelike_object(data): if _is_filelike_object(data):
data = load_data(data) data = load_data(data)
init_bh_tsne(data, tmp_dir_path, no_dims, perplexity, theta, randseed, verbose, initial_dims, use_pca, max_iter) init_bh_tsne(data, tmp_dir_path, no_dims=no_dims, perplexity=perplexity, theta=theta, randseed=randseed,verbose=verbose, initial_dims=initial_dims, use_pca=use_pca, max_iter=max_iter)
sys.exit(0) os._exit(0)
else: else:
try: try:
os.waitpid(child_pid, 0) os.waitpid(child_pid, 0)
@ -215,8 +218,23 @@ def run_bh_tsne(data, no_dims=2, perplexity=50, theta=0.5, randseed=-1, verbose=
for r in result: for r in result:
sample_res.append(r) sample_res.append(r)
res.append(sample_res) res.append(sample_res)
ret = np.asarray(res, dtype='float64')
if return_betas:
betas = np.loadtxt(path_join(tmp_dir_path, 'betas.txt'))
ret = (ret, betas)
if return_cost_per_point:
cpp = np.loadtxt(path_join(tmp_dir_path, 'cost_per_point.txt'))
ret = (*ret, cpp)
if return_cost_per_iter:
cpi = np.loadtxt(path_join(tmp_dir_path, 'cost_per_iter.txt'))
ret = (*ret, cpi)
rmtree(tmp_dir_path) rmtree(tmp_dir_path)
return np.asarray(res, dtype='float64') return ret
def main(args): def main(args):

@ -0,0 +1 @@
{"duration": 0.8360249996185303, "input_args": {"listofParamsPlusData": "[(array([[5.1, 3.5, 1.4, 0.2],\n [4.9, 3. , 1.4, 0.2],\n [4.7, 3.2, 1.3, 0.2],\n [4.6, 3.1, 1.5, 0.2],\n [5. , 3.6, 1.4, 0.2],\n [5.4, 3.9, 1.7, 0.4],\n [4.6, 3.4, 1.4, 0.3],\n [5. , 3.4, 1.5, 0.2],\n [4.4, 2.9, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5.4, 3.7, 1.5, 0.2],\n [4.8, 3.4, 1.6, 0.2],\n [4.8, 3. , 1.4, 0.1],\n [4.3, 3. , 1.1, 0.1],\n [5.8, 4. , 1.2, 0.2],\n [5.7, 4.4, 1.5, 0.4],\n [5.4, 3.9, 1.3, 0.4],\n [5.1, 3.5, 1.4, 0.3],\n [5.7, 3.8, 1.7, 0.3],\n [5.1, 3.8, 1.5, 0.3],\n [5.4, 3.4, 1.7, 0.2],\n [5.1, 3.7, 1.5, 0.4],\n [4.6, 3.6, 1. , 0.2],\n [5.1, 3.3, 1.7, 0.5],\n [4.8, 3.4, 1.9, 0.2],\n [5. , 3. , 1.6, 0.2],\n [5. , 3.4, 1.6, 0.4],\n [5.2, 3.5, 1.5, 0.2],\n [5.2, 3.4, 1.4, 0.2],\n [4.7, 3.2, 1.6, 0.2],\n [4.8, 3.1, 1.6, 0.2],\n [5.4, 3.4, 1.5, 0.4],\n [5.2, 4.1, 1.5, 0.1],\n [5.5, 4.2, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5. , 3.2, 1.2, 0.2],\n [5.5, 3.5, 1.3, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [4.4, 3. , 1.3, 0.2],\n [5.1, 3.4, 1.5, 0.2],\n [5. , 3.5, 1.3, 0.3],\n [4.5, 2.3, 1.3, 0.3],\n [4.4, 3.2, 1.3, 0.2],\n [5. , 3.5, 1.6, 0.6],\n [5.1, 3.8, 1.9, 0.4],\n [4.8, 3. , 1.4, 0.3],\n [5.1, 3.8, 1.6, 0.2],\n [4.6, 3.2, 1.4, 0.2],\n [5.3, 3.7, 1.5, 0.2],\n [5. , 3.3, 1.4, 0.2],\n [7. , 3.2, 4.7, 1.4],\n [6.4, 3.2, 4.5, 1.5],\n [6.9, 3.1, 4.9, 1.5],\n [5.5, 2.3, 4. , 1.3],\n [6.5, 2.8, 4.6, 1.5],\n [5.7, 2.8, 4.5, 1.3],\n [6.3, 3.3, 4.7, 1.6],\n [4.9, 2.4, 3.3, 1. ],\n [6.6, 2.9, 4.6, 1.3],\n [5.2, 2.7, 3.9, 1.4],\n [5. , 2. , 3.5, 1. ],\n [5.9, 3. , 4.2, 1.5],\n [6. , 2.2, 4. , 1. ],\n [6.1, 2.9, 4.7, 1.4],\n [5.6, 2.9, 3.6, 1.3],\n [6.7, 3.1, 4.4, 1.4],\n [5.6, 3. , 4.5, 1.5],\n [5.8, 2.7, 4.1, 1. ],\n [6.2, 2.2, 4.5, 1.5],\n [5.6, 2.5, 3.9, 1.1],\n [5.9, 3.2, 4.8, 1.8],\n [6.1, 2.8, 4. , 1.3],\n [6.3, 2.5, 4.9, 1.5],\n [6.1, 2.8, 4.7, 1.2],\n [6.4, 2.9, 4.3, 1.3],\n [6.6, 3. , 4.4, 1.4],\n [6.8, 2.8, 4.8, 1.4],\n [6.7, 3. , 5. , 1.7],\n [6. , 2.9, 4.5, 1.5],\n [5.7, 2.6, 3.5, 1. ],\n [5.5, 2.4, 3.8, 1.1],\n [5.5, 2.4, 3.7, 1. ],\n [5.8, 2.7, 3.9, 1.2],\n [6. , 2.7, 5.1, 1.6],\n [5.4, 3. , 4.5, 1.5],\n [6. , 3.4, 4.5, 1.6],\n [6.7, 3.1, 4.7, 1.5],\n [6.3, 2.3, 4.4, 1.3],\n [5.6, 3. , 4.1, 1.3],\n [5.5, 2.5, 4. , 1.3],\n [5.5, 2.6, 4.4, 1.2],\n [6.1, 3. , 4.6, 1.4],\n [5.8, 2.6, 4. , 1.2],\n [5. , 2.3, 3.3, 1. ],\n [5.6, 2.7, 4.2, 1.3],\n [5.7, 3. , 4.2, 1.2],\n [5.7, 2.9, 4.2, 1.3],\n [6.2, 2.9, 4.3, 1.3],\n [5.1, 2.5, 3. , 1.1],\n [5.7, 2.8, 4.1, 1.3],\n [6.3, 3.3, 6. , 2.5],\n [5.8, 2.7, 5.1, 1.9],\n [7.1, 3. , 5.9, 2.1],\n [6.3, 2.9, 5.6, 1.8],\n [6.5, 3. , 5.8, 2.2],\n [7.6, 3. , 6.6, 2.1],\n [4.9, 2.5, 4.5, 1.7],\n [7.3, 2.9, 6.3, 1.8],\n [6.7, 2.5, 5.8, 1.8],\n [7.2, 3.6, 6.1, 2.5],\n [6.5, 3.2, 5.1, 2. ],\n [6.4, 2.7, 5.3, 1.9],\n [6.8, 3. , 5.5, 2.1],\n [5.7, 2.5, 5. , 2. ],\n [5.8, 2.8, 5.1, 2.4],\n [6.4, 3.2, 5.3, 2.3],\n [6.5, 3. , 5.5, 1.8],\n [7.7, 3.8, 6.7, 2.2],\n [7.7, 2.6, 6.9, 2.3],\n [6. , 2.2, 5. , 1.5],\n [6.9, 3.2, 5.7, 2.3],\n [5.6, 2.8, 4.9, 2. ],\n [7.7, 2.8, 6.7, 2. ],\n [6.3, 2.7, 4.9, 1.8],\n [6.7, 3.3, 5.7, 2.1],\n [7.2, 3.2, 6. , 1.8],\n [6.2, 2.8, 4.8, 1.8],\n [6.1, 3. , 4.9, 1.8],\n [6.4, 2.8, 5.6, 2.1],\n [7.2, 3. , 5.8, 1.6],\n [7.4, 2.8, 6.1, 1.9],\n [7.9, 3.8, 6.4, 2. ],\n [6.4, 2.8, 5.6, 2.2],\n [6.3, 2.8, 5.1, 1.5],\n [6.1, 2.6, 5.6, 1.4],\n [7.7, 3. , 6.1, 2.3],\n [6.3, 3.4, 5.6, 2.4],\n [6.4, 3.1, 5.5, 1.8],\n [6. , 3. , 4.8, 1.8],\n [6.9, 3.1, 5.4, 2.1],\n [6.7, 3.1, 5.6, 2.4],\n [6.9, 3.1, 5.1, 2.3],\n [5.8, 2.7, 5.1, 1.9],\n [6.8, 3.2, 5.9, 2.3],\n [6.7, 3.3, 5.7, 2.5],\n [6.7, 3. , 5.2, 2.3],\n [6.3, 2.5, 5. , 1.9],\n [6.5, 3. , 5.2, 2. ],\n [6.2, 3.4, 5.4, 2.3],\n [5.9, 3. , 5.1, 1.8]]), 2, 20, 1, 1137, False, 4, True, 500, True, True, True)]"}}

@ -0,0 +1 @@
{"duration": 0.712233304977417, "input_args": {"listofParamsPlusData": "[(array([[5.1, 3.5, 1.4, 0.2],\n [4.9, 3. , 1.4, 0.2],\n [4.7, 3.2, 1.3, 0.2],\n [4.6, 3.1, 1.5, 0.2],\n [5. , 3.6, 1.4, 0.2],\n [5.4, 3.9, 1.7, 0.4],\n [4.6, 3.4, 1.4, 0.3],\n [5. , 3.4, 1.5, 0.2],\n [4.4, 2.9, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5.4, 3.7, 1.5, 0.2],\n [4.8, 3.4, 1.6, 0.2],\n [4.8, 3. , 1.4, 0.1],\n [4.3, 3. , 1.1, 0.1],\n [5.8, 4. , 1.2, 0.2],\n [5.7, 4.4, 1.5, 0.4],\n [5.4, 3.9, 1.3, 0.4],\n [5.1, 3.5, 1.4, 0.3],\n [5.7, 3.8, 1.7, 0.3],\n [5.1, 3.8, 1.5, 0.3],\n [5.4, 3.4, 1.7, 0.2],\n [5.1, 3.7, 1.5, 0.4],\n [4.6, 3.6, 1. , 0.2],\n [5.1, 3.3, 1.7, 0.5],\n [4.8, 3.4, 1.9, 0.2],\n [5. , 3. , 1.6, 0.2],\n [5. , 3.4, 1.6, 0.4],\n [5.2, 3.5, 1.5, 0.2],\n [5.2, 3.4, 1.4, 0.2],\n [4.7, 3.2, 1.6, 0.2],\n [4.8, 3.1, 1.6, 0.2],\n [5.4, 3.4, 1.5, 0.4],\n [5.2, 4.1, 1.5, 0.1],\n [5.5, 4.2, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5. , 3.2, 1.2, 0.2],\n [5.5, 3.5, 1.3, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [4.4, 3. , 1.3, 0.2],\n [5.1, 3.4, 1.5, 0.2],\n [5. , 3.5, 1.3, 0.3],\n [4.5, 2.3, 1.3, 0.3],\n [4.4, 3.2, 1.3, 0.2],\n [5. , 3.5, 1.6, 0.6],\n [5.1, 3.8, 1.9, 0.4],\n [4.8, 3. , 1.4, 0.3],\n [5.1, 3.8, 1.6, 0.2],\n [4.6, 3.2, 1.4, 0.2],\n [5.3, 3.7, 1.5, 0.2],\n [5. , 3.3, 1.4, 0.2],\n [7. , 3.2, 4.7, 1.4],\n [6.4, 3.2, 4.5, 1.5],\n [6.9, 3.1, 4.9, 1.5],\n [5.5, 2.3, 4. , 1.3],\n [6.5, 2.8, 4.6, 1.5],\n [5.7, 2.8, 4.5, 1.3],\n [6.3, 3.3, 4.7, 1.6],\n [4.9, 2.4, 3.3, 1. ],\n [6.6, 2.9, 4.6, 1.3],\n [5.2, 2.7, 3.9, 1.4],\n [5. , 2. , 3.5, 1. ],\n [5.9, 3. , 4.2, 1.5],\n [6. , 2.2, 4. , 1. ],\n [6.1, 2.9, 4.7, 1.4],\n [5.6, 2.9, 3.6, 1.3],\n [6.7, 3.1, 4.4, 1.4],\n [5.6, 3. , 4.5, 1.5],\n [5.8, 2.7, 4.1, 1. ],\n [6.2, 2.2, 4.5, 1.5],\n [5.6, 2.5, 3.9, 1.1],\n [5.9, 3.2, 4.8, 1.8],\n [6.1, 2.8, 4. , 1.3],\n [6.3, 2.5, 4.9, 1.5],\n [6.1, 2.8, 4.7, 1.2],\n [6.4, 2.9, 4.3, 1.3],\n [6.6, 3. , 4.4, 1.4],\n [6.8, 2.8, 4.8, 1.4],\n [6.7, 3. , 5. , 1.7],\n [6. , 2.9, 4.5, 1.5],\n [5.7, 2.6, 3.5, 1. ],\n [5.5, 2.4, 3.8, 1.1],\n [5.5, 2.4, 3.7, 1. ],\n [5.8, 2.7, 3.9, 1.2],\n [6. , 2.7, 5.1, 1.6],\n [5.4, 3. , 4.5, 1.5],\n [6. , 3.4, 4.5, 1.6],\n [6.7, 3.1, 4.7, 1.5],\n [6.3, 2.3, 4.4, 1.3],\n [5.6, 3. , 4.1, 1.3],\n [5.5, 2.5, 4. , 1.3],\n [5.5, 2.6, 4.4, 1.2],\n [6.1, 3. , 4.6, 1.4],\n [5.8, 2.6, 4. , 1.2],\n [5. , 2.3, 3.3, 1. ],\n [5.6, 2.7, 4.2, 1.3],\n [5.7, 3. , 4.2, 1.2],\n [5.7, 2.9, 4.2, 1.3],\n [6.2, 2.9, 4.3, 1.3],\n [5.1, 2.5, 3. , 1.1],\n [5.7, 2.8, 4.1, 1.3],\n [6.3, 3.3, 6. , 2.5],\n [5.8, 2.7, 5.1, 1.9],\n [7.1, 3. , 5.9, 2.1],\n [6.3, 2.9, 5.6, 1.8],\n [6.5, 3. , 5.8, 2.2],\n [7.6, 3. , 6.6, 2.1],\n [4.9, 2.5, 4.5, 1.7],\n [7.3, 2.9, 6.3, 1.8],\n [6.7, 2.5, 5.8, 1.8],\n [7.2, 3.6, 6.1, 2.5],\n [6.5, 3.2, 5.1, 2. ],\n [6.4, 2.7, 5.3, 1.9],\n [6.8, 3. , 5.5, 2.1],\n [5.7, 2.5, 5. , 2. ],\n [5.8, 2.8, 5.1, 2.4],\n [6.4, 3.2, 5.3, 2.3],\n [6.5, 3. , 5.5, 1.8],\n [7.7, 3.8, 6.7, 2.2],\n [7.7, 2.6, 6.9, 2.3],\n [6. , 2.2, 5. , 1.5],\n [6.9, 3.2, 5.7, 2.3],\n [5.6, 2.8, 4.9, 2. ],\n [7.7, 2.8, 6.7, 2. ],\n [6.3, 2.7, 4.9, 1.8],\n [6.7, 3.3, 5.7, 2.1],\n [7.2, 3.2, 6. , 1.8],\n [6.2, 2.8, 4.8, 1.8],\n [6.1, 3. , 4.9, 1.8],\n [6.4, 2.8, 5.6, 2.1],\n [7.2, 3. , 5.8, 1.6],\n [7.4, 2.8, 6.1, 1.9],\n [7.9, 3.8, 6.4, 2. ],\n [6.4, 2.8, 5.6, 2.2],\n [6.3, 2.8, 5.1, 1.5],\n [6.1, 2.6, 5.6, 1.4],\n [7.7, 3. , 6.1, 2.3],\n [6.3, 3.4, 5.6, 2.4],\n [6.4, 3.1, 5.5, 1.8],\n [6. , 3. , 4.8, 1.8],\n [6.9, 3.1, 5.4, 2.1],\n [6.7, 3.1, 5.6, 2.4],\n [6.9, 3.1, 5.1, 2.3],\n [5.8, 2.7, 5.1, 1.9],\n [6.8, 3.2, 5.9, 2.3],\n [6.7, 3.3, 5.7, 2.5],\n [6.7, 3. , 5.2, 2.3],\n [6.3, 2.5, 5. , 1.9],\n [6.5, 3. , 5.2, 2. ],\n [6.2, 3.4, 5.4, 2.3],\n [5.9, 3. , 5.1, 1.8]]), 2, 14, 2, 1137, False, 4, True, 500, True, True, True)]"}}

@ -0,0 +1 @@
{"duration": 0.22311878204345703, "input_args": {"listofParamsPlusData": "[(array([[5.1, 3.5, 1.4, 0.2],\n [4.9, 3. , 1.4, 0.2],\n [4.7, 3.2, 1.3, 0.2],\n [4.6, 3.1, 1.5, 0.2],\n [5. , 3.6, 1.4, 0.2],\n [5.4, 3.9, 1.7, 0.4],\n [4.6, 3.4, 1.4, 0.3],\n [5. , 3.4, 1.5, 0.2],\n [4.4, 2.9, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5.4, 3.7, 1.5, 0.2],\n [4.8, 3.4, 1.6, 0.2],\n [4.8, 3. , 1.4, 0.1],\n [4.3, 3. , 1.1, 0.1],\n [5.8, 4. , 1.2, 0.2],\n [5.7, 4.4, 1.5, 0.4],\n [5.4, 3.9, 1.3, 0.4],\n [5.1, 3.5, 1.4, 0.3],\n [5.7, 3.8, 1.7, 0.3],\n [5.1, 3.8, 1.5, 0.3],\n [5.4, 3.4, 1.7, 0.2],\n [5.1, 3.7, 1.5, 0.4],\n [4.6, 3.6, 1. , 0.2],\n [5.1, 3.3, 1.7, 0.5],\n [4.8, 3.4, 1.9, 0.2],\n [5. , 3. , 1.6, 0.2],\n [5. , 3.4, 1.6, 0.4],\n [5.2, 3.5, 1.5, 0.2],\n [5.2, 3.4, 1.4, 0.2],\n [4.7, 3.2, 1.6, 0.2],\n [4.8, 3.1, 1.6, 0.2],\n [5.4, 3.4, 1.5, 0.4],\n [5.2, 4.1, 1.5, 0.1],\n [5.5, 4.2, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5. , 3.2, 1.2, 0.2],\n [5.5, 3.5, 1.3, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [4.4, 3. , 1.3, 0.2],\n [5.1, 3.4, 1.5, 0.2],\n [5. , 3.5, 1.3, 0.3],\n [4.5, 2.3, 1.3, 0.3],\n [4.4, 3.2, 1.3, 0.2],\n [5. , 3.5, 1.6, 0.6],\n [5.1, 3.8, 1.9, 0.4],\n [4.8, 3. , 1.4, 0.3],\n [5.1, 3.8, 1.6, 0.2],\n [4.6, 3.2, 1.4, 0.2],\n [5.3, 3.7, 1.5, 0.2],\n [5. , 3.3, 1.4, 0.2],\n [7. , 3.2, 4.7, 1.4],\n [6.4, 3.2, 4.5, 1.5],\n [6.9, 3.1, 4.9, 1.5],\n [5.5, 2.3, 4. , 1.3],\n [6.5, 2.8, 4.6, 1.5],\n [5.7, 2.8, 4.5, 1.3],\n [6.3, 3.3, 4.7, 1.6],\n [4.9, 2.4, 3.3, 1. ],\n [6.6, 2.9, 4.6, 1.3],\n [5.2, 2.7, 3.9, 1.4],\n [5. , 2. , 3.5, 1. ],\n [5.9, 3. , 4.2, 1.5],\n [6. , 2.2, 4. , 1. ],\n [6.1, 2.9, 4.7, 1.4],\n [5.6, 2.9, 3.6, 1.3],\n [6.7, 3.1, 4.4, 1.4],\n [5.6, 3. , 4.5, 1.5],\n [5.8, 2.7, 4.1, 1. ],\n [6.2, 2.2, 4.5, 1.5],\n [5.6, 2.5, 3.9, 1.1],\n [5.9, 3.2, 4.8, 1.8],\n [6.1, 2.8, 4. , 1.3],\n [6.3, 2.5, 4.9, 1.5],\n [6.1, 2.8, 4.7, 1.2],\n [6.4, 2.9, 4.3, 1.3],\n [6.6, 3. , 4.4, 1.4],\n [6.8, 2.8, 4.8, 1.4],\n [6.7, 3. , 5. , 1.7],\n [6. , 2.9, 4.5, 1.5],\n [5.7, 2.6, 3.5, 1. ],\n [5.5, 2.4, 3.8, 1.1],\n [5.5, 2.4, 3.7, 1. ],\n [5.8, 2.7, 3.9, 1.2],\n [6. , 2.7, 5.1, 1.6],\n [5.4, 3. , 4.5, 1.5],\n [6. , 3.4, 4.5, 1.6],\n [6.7, 3.1, 4.7, 1.5],\n [6.3, 2.3, 4.4, 1.3],\n [5.6, 3. , 4.1, 1.3],\n [5.5, 2.5, 4. , 1.3],\n [5.5, 2.6, 4.4, 1.2],\n [6.1, 3. , 4.6, 1.4],\n [5.8, 2.6, 4. , 1.2],\n [5. , 2.3, 3.3, 1. ],\n [5.6, 2.7, 4.2, 1.3],\n [5.7, 3. , 4.2, 1.2],\n [5.7, 2.9, 4.2, 1.3],\n [6.2, 2.9, 4.3, 1.3],\n [5.1, 2.5, 3. , 1.1],\n [5.7, 2.8, 4.1, 1.3],\n [6.3, 3.3, 6. , 2.5],\n [5.8, 2.7, 5.1, 1.9],\n [7.1, 3. , 5.9, 2.1],\n [6.3, 2.9, 5.6, 1.8],\n [6.5, 3. , 5.8, 2.2],\n [7.6, 3. , 6.6, 2.1],\n [4.9, 2.5, 4.5, 1.7],\n [7.3, 2.9, 6.3, 1.8],\n [6.7, 2.5, 5.8, 1.8],\n [7.2, 3.6, 6.1, 2.5],\n [6.5, 3.2, 5.1, 2. ],\n [6.4, 2.7, 5.3, 1.9],\n [6.8, 3. , 5.5, 2.1],\n [5.7, 2.5, 5. , 2. ],\n [5.8, 2.8, 5.1, 2.4],\n [6.4, 3.2, 5.3, 2.3],\n [6.5, 3. , 5.5, 1.8],\n [7.7, 3.8, 6.7, 2.2],\n [7.7, 2.6, 6.9, 2.3],\n [6. , 2.2, 5. , 1.5],\n [6.9, 3.2, 5.7, 2.3],\n [5.6, 2.8, 4.9, 2. ],\n [7.7, 2.8, 6.7, 2. ],\n [6.3, 2.7, 4.9, 1.8],\n [6.7, 3.3, 5.7, 2.1],\n [7.2, 3.2, 6. , 1.8],\n [6.2, 2.8, 4.8, 1.8],\n [6.1, 3. , 4.9, 1.8],\n [6.4, 2.8, 5.6, 2.1],\n [7.2, 3. , 5.8, 1.6],\n [7.4, 2.8, 6.1, 1.9],\n [7.9, 3.8, 6.4, 2. ],\n [6.4, 2.8, 5.6, 2.2],\n [6.3, 2.8, 5.1, 1.5],\n [6.1, 2.6, 5.6, 1.4],\n [7.7, 3. , 6.1, 2.3],\n [6.3, 3.4, 5.6, 2.4],\n [6.4, 3.1, 5.5, 1.8],\n [6. , 3. , 4.8, 1.8],\n [6.9, 3.1, 5.4, 2.1],\n [6.7, 3.1, 5.6, 2.4],\n [6.9, 3.1, 5.1, 2.3],\n [5.8, 2.7, 5.1, 1.9],\n [6.8, 3.2, 5.9, 2.3],\n [6.7, 3.3, 5.7, 2.5],\n [6.7, 3. , 5.2, 2.3],\n [6.3, 2.5, 5. , 1.9],\n [6.5, 3. , 5.2, 2. ],\n [6.2, 3.4, 5.4, 2.3],\n [5.9, 3. , 5.1, 1.8]]), 2, 5, 40, 1137, False, 4, True, 150, True, True, True)]"}}

@ -0,0 +1 @@
{"duration": 0.5151338577270508, "input_args": {"listofParamsPlusData": "[(array([[5.1, 3.5, 1.4, 0.2],\n [4.9, 3. , 1.4, 0.2],\n [4.7, 3.2, 1.3, 0.2],\n [4.6, 3.1, 1.5, 0.2],\n [5. , 3.6, 1.4, 0.2],\n [5.4, 3.9, 1.7, 0.4],\n [4.6, 3.4, 1.4, 0.3],\n [5. , 3.4, 1.5, 0.2],\n [4.4, 2.9, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5.4, 3.7, 1.5, 0.2],\n [4.8, 3.4, 1.6, 0.2],\n [4.8, 3. , 1.4, 0.1],\n [4.3, 3. , 1.1, 0.1],\n [5.8, 4. , 1.2, 0.2],\n [5.7, 4.4, 1.5, 0.4],\n [5.4, 3.9, 1.3, 0.4],\n [5.1, 3.5, 1.4, 0.3],\n [5.7, 3.8, 1.7, 0.3],\n [5.1, 3.8, 1.5, 0.3],\n [5.4, 3.4, 1.7, 0.2],\n [5.1, 3.7, 1.5, 0.4],\n [4.6, 3.6, 1. , 0.2],\n [5.1, 3.3, 1.7, 0.5],\n [4.8, 3.4, 1.9, 0.2],\n [5. , 3. , 1.6, 0.2],\n [5. , 3.4, 1.6, 0.4],\n [5.2, 3.5, 1.5, 0.2],\n [5.2, 3.4, 1.4, 0.2],\n [4.7, 3.2, 1.6, 0.2],\n [4.8, 3.1, 1.6, 0.2],\n [5.4, 3.4, 1.5, 0.4],\n [5.2, 4.1, 1.5, 0.1],\n [5.5, 4.2, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5. , 3.2, 1.2, 0.2],\n [5.5, 3.5, 1.3, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [4.4, 3. , 1.3, 0.2],\n [5.1, 3.4, 1.5, 0.2],\n [5. , 3.5, 1.3, 0.3],\n [4.5, 2.3, 1.3, 0.3],\n [4.4, 3.2, 1.3, 0.2],\n [5. , 3.5, 1.6, 0.6],\n [5.1, 3.8, 1.9, 0.4],\n [4.8, 3. , 1.4, 0.3],\n [5.1, 3.8, 1.6, 0.2],\n [4.6, 3.2, 1.4, 0.2],\n [5.3, 3.7, 1.5, 0.2],\n [5. , 3.3, 1.4, 0.2],\n [7. , 3.2, 4.7, 1.4],\n [6.4, 3.2, 4.5, 1.5],\n [6.9, 3.1, 4.9, 1.5],\n [5.5, 2.3, 4. , 1.3],\n [6.5, 2.8, 4.6, 1.5],\n [5.7, 2.8, 4.5, 1.3],\n [6.3, 3.3, 4.7, 1.6],\n [4.9, 2.4, 3.3, 1. ],\n [6.6, 2.9, 4.6, 1.3],\n [5.2, 2.7, 3.9, 1.4],\n [5. , 2. , 3.5, 1. ],\n [5.9, 3. , 4.2, 1.5],\n [6. , 2.2, 4. , 1. ],\n [6.1, 2.9, 4.7, 1.4],\n [5.6, 2.9, 3.6, 1.3],\n [6.7, 3.1, 4.4, 1.4],\n [5.6, 3. , 4.5, 1.5],\n [5.8, 2.7, 4.1, 1. ],\n [6.2, 2.2, 4.5, 1.5],\n [5.6, 2.5, 3.9, 1.1],\n [5.9, 3.2, 4.8, 1.8],\n [6.1, 2.8, 4. , 1.3],\n [6.3, 2.5, 4.9, 1.5],\n [6.1, 2.8, 4.7, 1.2],\n [6.4, 2.9, 4.3, 1.3],\n [6.6, 3. , 4.4, 1.4],\n [6.8, 2.8, 4.8, 1.4],\n [6.7, 3. , 5. , 1.7],\n [6. , 2.9, 4.5, 1.5],\n [5.7, 2.6, 3.5, 1. ],\n [5.5, 2.4, 3.8, 1.1],\n [5.5, 2.4, 3.7, 1. ],\n [5.8, 2.7, 3.9, 1.2],\n [6. , 2.7, 5.1, 1.6],\n [5.4, 3. , 4.5, 1.5],\n [6. , 3.4, 4.5, 1.6],\n [6.7, 3.1, 4.7, 1.5],\n [6.3, 2.3, 4.4, 1.3],\n [5.6, 3. , 4.1, 1.3],\n [5.5, 2.5, 4. , 1.3],\n [5.5, 2.6, 4.4, 1.2],\n [6.1, 3. , 4.6, 1.4],\n [5.8, 2.6, 4. , 1.2],\n [5. , 2.3, 3.3, 1. ],\n [5.6, 2.7, 4.2, 1.3],\n [5.7, 3. , 4.2, 1.2],\n [5.7, 2.9, 4.2, 1.3],\n [6.2, 2.9, 4.3, 1.3],\n [5.1, 2.5, 3. , 1.1],\n [5.7, 2.8, 4.1, 1.3],\n [6.3, 3.3, 6. , 2.5],\n [5.8, 2.7, 5.1, 1.9],\n [7.1, 3. , 5.9, 2.1],\n [6.3, 2.9, 5.6, 1.8],\n [6.5, 3. , 5.8, 2.2],\n [7.6, 3. , 6.6, 2.1],\n [4.9, 2.5, 4.5, 1.7],\n [7.3, 2.9, 6.3, 1.8],\n [6.7, 2.5, 5.8, 1.8],\n [7.2, 3.6, 6.1, 2.5],\n [6.5, 3.2, 5.1, 2. ],\n [6.4, 2.7, 5.3, 1.9],\n [6.8, 3. , 5.5, 2.1],\n [5.7, 2.5, 5. , 2. ],\n [5.8, 2.8, 5.1, 2.4],\n [6.4, 3.2, 5.3, 2.3],\n [6.5, 3. , 5.5, 1.8],\n [7.7, 3.8, 6.7, 2.2],\n [7.7, 2.6, 6.9, 2.3],\n [6. , 2.2, 5. , 1.5],\n [6.9, 3.2, 5.7, 2.3],\n [5.6, 2.8, 4.9, 2. ],\n [7.7, 2.8, 6.7, 2. ],\n [6.3, 2.7, 4.9, 1.8],\n [6.7, 3.3, 5.7, 2.1],\n [7.2, 3.2, 6. , 1.8],\n [6.2, 2.8, 4.8, 1.8],\n [6.1, 3. , 4.9, 1.8],\n [6.4, 2.8, 5.6, 2.1],\n [7.2, 3. , 5.8, 1.6],\n [7.4, 2.8, 6.1, 1.9],\n [7.9, 3.8, 6.4, 2. ],\n [6.4, 2.8, 5.6, 2.2],\n [6.3, 2.8, 5.1, 1.5],\n [6.1, 2.6, 5.6, 1.4],\n [7.7, 3. , 6.1, 2.3],\n [6.3, 3.4, 5.6, 2.4],\n [6.4, 3.1, 5.5, 1.8],\n [6. , 3. , 4.8, 1.8],\n [6.9, 3.1, 5.4, 2.1],\n [6.7, 3.1, 5.6, 2.4],\n [6.9, 3.1, 5.1, 2.3],\n [5.8, 2.7, 5.1, 1.9],\n [6.8, 3.2, 5.9, 2.3],\n [6.7, 3.3, 5.7, 2.5],\n [6.7, 3. , 5.2, 2.3],\n [6.3, 2.5, 5. , 1.9],\n [6.5, 3. , 5.2, 2. ],\n [6.2, 3.4, 5.4, 2.3],\n [5.9, 3. , 5.1, 1.8]]), 2, 5, 40, 1137, False, 4, True, 350, True, True, True)]"}}

@ -0,0 +1 @@
{"duration": 0.3413999080657959, "input_args": {"listofParamsPlusData": "[(array([[5.1, 3.5, 1.4, 0.2],\n [4.9, 3. , 1.4, 0.2],\n [4.7, 3.2, 1.3, 0.2],\n [4.6, 3.1, 1.5, 0.2],\n [5. , 3.6, 1.4, 0.2],\n [5.4, 3.9, 1.7, 0.4],\n [4.6, 3.4, 1.4, 0.3],\n [5. , 3.4, 1.5, 0.2],\n [4.4, 2.9, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5.4, 3.7, 1.5, 0.2],\n [4.8, 3.4, 1.6, 0.2],\n [4.8, 3. , 1.4, 0.1],\n [4.3, 3. , 1.1, 0.1],\n [5.8, 4. , 1.2, 0.2],\n [5.7, 4.4, 1.5, 0.4],\n [5.4, 3.9, 1.3, 0.4],\n [5.1, 3.5, 1.4, 0.3],\n [5.7, 3.8, 1.7, 0.3],\n [5.1, 3.8, 1.5, 0.3],\n [5.4, 3.4, 1.7, 0.2],\n [5.1, 3.7, 1.5, 0.4],\n [4.6, 3.6, 1. , 0.2],\n [5.1, 3.3, 1.7, 0.5],\n [4.8, 3.4, 1.9, 0.2],\n [5. , 3. , 1.6, 0.2],\n [5. , 3.4, 1.6, 0.4],\n [5.2, 3.5, 1.5, 0.2],\n [5.2, 3.4, 1.4, 0.2],\n [4.7, 3.2, 1.6, 0.2],\n [4.8, 3.1, 1.6, 0.2],\n [5.4, 3.4, 1.5, 0.4],\n [5.2, 4.1, 1.5, 0.1],\n [5.5, 4.2, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5. , 3.2, 1.2, 0.2],\n [5.5, 3.5, 1.3, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [4.4, 3. , 1.3, 0.2],\n [5.1, 3.4, 1.5, 0.2],\n [5. , 3.5, 1.3, 0.3],\n [4.5, 2.3, 1.3, 0.3],\n [4.4, 3.2, 1.3, 0.2],\n [5. , 3.5, 1.6, 0.6],\n [5.1, 3.8, 1.9, 0.4],\n [4.8, 3. , 1.4, 0.3],\n [5.1, 3.8, 1.6, 0.2],\n [4.6, 3.2, 1.4, 0.2],\n [5.3, 3.7, 1.5, 0.2],\n [5. , 3.3, 1.4, 0.2],\n [7. , 3.2, 4.7, 1.4],\n [6.4, 3.2, 4.5, 1.5],\n [6.9, 3.1, 4.9, 1.5],\n [5.5, 2.3, 4. , 1.3],\n [6.5, 2.8, 4.6, 1.5],\n [5.7, 2.8, 4.5, 1.3],\n [6.3, 3.3, 4.7, 1.6],\n [4.9, 2.4, 3.3, 1. ],\n [6.6, 2.9, 4.6, 1.3],\n [5.2, 2.7, 3.9, 1.4],\n [5. , 2. , 3.5, 1. ],\n [5.9, 3. , 4.2, 1.5],\n [6. , 2.2, 4. , 1. ],\n [6.1, 2.9, 4.7, 1.4],\n [5.6, 2.9, 3.6, 1.3],\n [6.7, 3.1, 4.4, 1.4],\n [5.6, 3. , 4.5, 1.5],\n [5.8, 2.7, 4.1, 1. ],\n [6.2, 2.2, 4.5, 1.5],\n [5.6, 2.5, 3.9, 1.1],\n [5.9, 3.2, 4.8, 1.8],\n [6.1, 2.8, 4. , 1.3],\n [6.3, 2.5, 4.9, 1.5],\n [6.1, 2.8, 4.7, 1.2],\n [6.4, 2.9, 4.3, 1.3],\n [6.6, 3. , 4.4, 1.4],\n [6.8, 2.8, 4.8, 1.4],\n [6.7, 3. , 5. , 1.7],\n [6. , 2.9, 4.5, 1.5],\n [5.7, 2.6, 3.5, 1. ],\n [5.5, 2.4, 3.8, 1.1],\n [5.5, 2.4, 3.7, 1. ],\n [5.8, 2.7, 3.9, 1.2],\n [6. , 2.7, 5.1, 1.6],\n [5.4, 3. , 4.5, 1.5],\n [6. , 3.4, 4.5, 1.6],\n [6.7, 3.1, 4.7, 1.5],\n [6.3, 2.3, 4.4, 1.3],\n [5.6, 3. , 4.1, 1.3],\n [5.5, 2.5, 4. , 1.3],\n [5.5, 2.6, 4.4, 1.2],\n [6.1, 3. , 4.6, 1.4],\n [5.8, 2.6, 4. , 1.2],\n [5. , 2.3, 3.3, 1. ],\n [5.6, 2.7, 4.2, 1.3],\n [5.7, 3. , 4.2, 1.2],\n [5.7, 2.9, 4.2, 1.3],\n [6.2, 2.9, 4.3, 1.3],\n [5.1, 2.5, 3. , 1.1],\n [5.7, 2.8, 4.1, 1.3],\n [6.3, 3.3, 6. , 2.5],\n [5.8, 2.7, 5.1, 1.9],\n [7.1, 3. , 5.9, 2.1],\n [6.3, 2.9, 5.6, 1.8],\n [6.5, 3. , 5.8, 2.2],\n [7.6, 3. , 6.6, 2.1],\n [4.9, 2.5, 4.5, 1.7],\n [7.3, 2.9, 6.3, 1.8],\n [6.7, 2.5, 5.8, 1.8],\n [7.2, 3.6, 6.1, 2.5],\n [6.5, 3.2, 5.1, 2. ],\n [6.4, 2.7, 5.3, 1.9],\n [6.8, 3. , 5.5, 2.1],\n [5.7, 2.5, 5. , 2. ],\n [5.8, 2.8, 5.1, 2.4],\n [6.4, 3.2, 5.3, 2.3],\n [6.5, 3. , 5.5, 1.8],\n [7.7, 3.8, 6.7, 2.2],\n [7.7, 2.6, 6.9, 2.3],\n [6. , 2.2, 5. , 1.5],\n [6.9, 3.2, 5.7, 2.3],\n [5.6, 2.8, 4.9, 2. ],\n [7.7, 2.8, 6.7, 2. ],\n [6.3, 2.7, 4.9, 1.8],\n [6.7, 3.3, 5.7, 2.1],\n [7.2, 3.2, 6. , 1.8],\n [6.2, 2.8, 4.8, 1.8],\n [6.1, 3. , 4.9, 1.8],\n [6.4, 2.8, 5.6, 2.1],\n [7.2, 3. , 5.8, 1.6],\n [7.4, 2.8, 6.1, 1.9],\n [7.9, 3.8, 6.4, 2. ],\n [6.4, 2.8, 5.6, 2.2],\n [6.3, 2.8, 5.1, 1.5],\n [6.1, 2.6, 5.6, 1.4],\n [7.7, 3. , 6.1, 2.3],\n [6.3, 3.4, 5.6, 2.4],\n [6.4, 3.1, 5.5, 1.8],\n [6. , 3. , 4.8, 1.8],\n [6.9, 3.1, 5.4, 2.1],\n [6.7, 3.1, 5.6, 2.4],\n [6.9, 3.1, 5.1, 2.3],\n [5.8, 2.7, 5.1, 1.9],\n [6.8, 3.2, 5.9, 2.3],\n [6.7, 3.3, 5.7, 2.5],\n [6.7, 3. , 5.2, 2.3],\n [6.3, 2.5, 5. , 1.9],\n [6.5, 3. , 5.2, 2. ],\n [6.2, 3.4, 5.4, 2.3],\n [5.9, 3. , 5.1, 1.8]]), 2, 5, 30, 1137, False, 4, True, 200, True, True, True)]"}}

@ -0,0 +1 @@
{"duration": 0.8089730739593506, "input_args": {"listofParamsPlusData": "[(array([[5.1, 3.5, 1.4, 0.2],\n [4.9, 3. , 1.4, 0.2],\n [4.7, 3.2, 1.3, 0.2],\n [4.6, 3.1, 1.5, 0.2],\n [5. , 3.6, 1.4, 0.2],\n [5.4, 3.9, 1.7, 0.4],\n [4.6, 3.4, 1.4, 0.3],\n [5. , 3.4, 1.5, 0.2],\n [4.4, 2.9, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5.4, 3.7, 1.5, 0.2],\n [4.8, 3.4, 1.6, 0.2],\n [4.8, 3. , 1.4, 0.1],\n [4.3, 3. , 1.1, 0.1],\n [5.8, 4. , 1.2, 0.2],\n [5.7, 4.4, 1.5, 0.4],\n [5.4, 3.9, 1.3, 0.4],\n [5.1, 3.5, 1.4, 0.3],\n [5.7, 3.8, 1.7, 0.3],\n [5.1, 3.8, 1.5, 0.3],\n [5.4, 3.4, 1.7, 0.2],\n [5.1, 3.7, 1.5, 0.4],\n [4.6, 3.6, 1. , 0.2],\n [5.1, 3.3, 1.7, 0.5],\n [4.8, 3.4, 1.9, 0.2],\n [5. , 3. , 1.6, 0.2],\n [5. , 3.4, 1.6, 0.4],\n [5.2, 3.5, 1.5, 0.2],\n [5.2, 3.4, 1.4, 0.2],\n [4.7, 3.2, 1.6, 0.2],\n [4.8, 3.1, 1.6, 0.2],\n [5.4, 3.4, 1.5, 0.4],\n [5.2, 4.1, 1.5, 0.1],\n [5.5, 4.2, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5. , 3.2, 1.2, 0.2],\n [5.5, 3.5, 1.3, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [4.4, 3. , 1.3, 0.2],\n [5.1, 3.4, 1.5, 0.2],\n [5. , 3.5, 1.3, 0.3],\n [4.5, 2.3, 1.3, 0.3],\n [4.4, 3.2, 1.3, 0.2],\n [5. , 3.5, 1.6, 0.6],\n [5.1, 3.8, 1.9, 0.4],\n [4.8, 3. , 1.4, 0.3],\n [5.1, 3.8, 1.6, 0.2],\n [4.6, 3.2, 1.4, 0.2],\n [5.3, 3.7, 1.5, 0.2],\n [5. , 3.3, 1.4, 0.2],\n [7. , 3.2, 4.7, 1.4],\n [6.4, 3.2, 4.5, 1.5],\n [6.9, 3.1, 4.9, 1.5],\n [5.5, 2.3, 4. , 1.3],\n [6.5, 2.8, 4.6, 1.5],\n [5.7, 2.8, 4.5, 1.3],\n [6.3, 3.3, 4.7, 1.6],\n [4.9, 2.4, 3.3, 1. ],\n [6.6, 2.9, 4.6, 1.3],\n [5.2, 2.7, 3.9, 1.4],\n [5. , 2. , 3.5, 1. ],\n [5.9, 3. , 4.2, 1.5],\n [6. , 2.2, 4. , 1. ],\n [6.1, 2.9, 4.7, 1.4],\n [5.6, 2.9, 3.6, 1.3],\n [6.7, 3.1, 4.4, 1.4],\n [5.6, 3. , 4.5, 1.5],\n [5.8, 2.7, 4.1, 1. ],\n [6.2, 2.2, 4.5, 1.5],\n [5.6, 2.5, 3.9, 1.1],\n [5.9, 3.2, 4.8, 1.8],\n [6.1, 2.8, 4. , 1.3],\n [6.3, 2.5, 4.9, 1.5],\n [6.1, 2.8, 4.7, 1.2],\n [6.4, 2.9, 4.3, 1.3],\n [6.6, 3. , 4.4, 1.4],\n [6.8, 2.8, 4.8, 1.4],\n [6.7, 3. , 5. , 1.7],\n [6. , 2.9, 4.5, 1.5],\n [5.7, 2.6, 3.5, 1. ],\n [5.5, 2.4, 3.8, 1.1],\n [5.5, 2.4, 3.7, 1. ],\n [5.8, 2.7, 3.9, 1.2],\n [6. , 2.7, 5.1, 1.6],\n [5.4, 3. , 4.5, 1.5],\n [6. , 3.4, 4.5, 1.6],\n [6.7, 3.1, 4.7, 1.5],\n [6.3, 2.3, 4.4, 1.3],\n [5.6, 3. , 4.1, 1.3],\n [5.5, 2.5, 4. , 1.3],\n [5.5, 2.6, 4.4, 1.2],\n [6.1, 3. , 4.6, 1.4],\n [5.8, 2.6, 4. , 1.2],\n [5. , 2.3, 3.3, 1. ],\n [5.6, 2.7, 4.2, 1.3],\n [5.7, 3. , 4.2, 1.2],\n [5.7, 2.9, 4.2, 1.3],\n [6.2, 2.9, 4.3, 1.3],\n [5.1, 2.5, 3. , 1.1],\n [5.7, 2.8, 4.1, 1.3],\n [6.3, 3.3, 6. , 2.5],\n [5.8, 2.7, 5.1, 1.9],\n [7.1, 3. , 5.9, 2.1],\n [6.3, 2.9, 5.6, 1.8],\n [6.5, 3. , 5.8, 2.2],\n [7.6, 3. , 6.6, 2.1],\n [4.9, 2.5, 4.5, 1.7],\n [7.3, 2.9, 6.3, 1.8],\n [6.7, 2.5, 5.8, 1.8],\n [7.2, 3.6, 6.1, 2.5],\n [6.5, 3.2, 5.1, 2. ],\n [6.4, 2.7, 5.3, 1.9],\n [6.8, 3. , 5.5, 2.1],\n [5.7, 2.5, 5. , 2. ],\n [5.8, 2.8, 5.1, 2.4],\n [6.4, 3.2, 5.3, 2.3],\n [6.5, 3. , 5.5, 1.8],\n [7.7, 3.8, 6.7, 2.2],\n [7.7, 2.6, 6.9, 2.3],\n [6. , 2.2, 5. , 1.5],\n [6.9, 3.2, 5.7, 2.3],\n [5.6, 2.8, 4.9, 2. ],\n [7.7, 2.8, 6.7, 2. ],\n [6.3, 2.7, 4.9, 1.8],\n [6.7, 3.3, 5.7, 2.1],\n [7.2, 3.2, 6. , 1.8],\n [6.2, 2.8, 4.8, 1.8],\n [6.1, 3. , 4.9, 1.8],\n [6.4, 2.8, 5.6, 2.1],\n [7.2, 3. , 5.8, 1.6],\n [7.4, 2.8, 6.1, 1.9],\n [7.9, 3.8, 6.4, 2. ],\n [6.4, 2.8, 5.6, 2.2],\n [6.3, 2.8, 5.1, 1.5],\n [6.1, 2.6, 5.6, 1.4],\n [7.7, 3. , 6.1, 2.3],\n [6.3, 3.4, 5.6, 2.4],\n [6.4, 3.1, 5.5, 1.8],\n [6. , 3. , 4.8, 1.8],\n [6.9, 3.1, 5.4, 2.1],\n [6.7, 3.1, 5.6, 2.4],\n [6.9, 3.1, 5.1, 2.3],\n [5.8, 2.7, 5.1, 1.9],\n [6.8, 3.2, 5.9, 2.3],\n [6.7, 3.3, 5.7, 2.5],\n [6.7, 3. , 5.2, 2.3],\n [6.3, 2.5, 5. , 1.9],\n [6.5, 3. , 5.2, 2. ],\n [6.2, 3.4, 5.4, 2.3],\n [5.9, 3. , 5.1, 1.8]]), 2, 15, 10, 1137, False, 4, True, 500, True, True, True)]"}}

@ -0,0 +1 @@
{"duration": 0.7594728469848633, "input_args": {"listofParamsPlusData": "[(array([[5.1, 3.5, 1.4, 0.2],\n [4.9, 3. , 1.4, 0.2],\n [4.7, 3.2, 1.3, 0.2],\n [4.6, 3.1, 1.5, 0.2],\n [5. , 3.6, 1.4, 0.2],\n [5.4, 3.9, 1.7, 0.4],\n [4.6, 3.4, 1.4, 0.3],\n [5. , 3.4, 1.5, 0.2],\n [4.4, 2.9, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5.4, 3.7, 1.5, 0.2],\n [4.8, 3.4, 1.6, 0.2],\n [4.8, 3. , 1.4, 0.1],\n [4.3, 3. , 1.1, 0.1],\n [5.8, 4. , 1.2, 0.2],\n [5.7, 4.4, 1.5, 0.4],\n [5.4, 3.9, 1.3, 0.4],\n [5.1, 3.5, 1.4, 0.3],\n [5.7, 3.8, 1.7, 0.3],\n [5.1, 3.8, 1.5, 0.3],\n [5.4, 3.4, 1.7, 0.2],\n [5.1, 3.7, 1.5, 0.4],\n [4.6, 3.6, 1. , 0.2],\n [5.1, 3.3, 1.7, 0.5],\n [4.8, 3.4, 1.9, 0.2],\n [5. , 3. , 1.6, 0.2],\n [5. , 3.4, 1.6, 0.4],\n [5.2, 3.5, 1.5, 0.2],\n [5.2, 3.4, 1.4, 0.2],\n [4.7, 3.2, 1.6, 0.2],\n [4.8, 3.1, 1.6, 0.2],\n [5.4, 3.4, 1.5, 0.4],\n [5.2, 4.1, 1.5, 0.1],\n [5.5, 4.2, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5. , 3.2, 1.2, 0.2],\n [5.5, 3.5, 1.3, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [4.4, 3. , 1.3, 0.2],\n [5.1, 3.4, 1.5, 0.2],\n [5. , 3.5, 1.3, 0.3],\n [4.5, 2.3, 1.3, 0.3],\n [4.4, 3.2, 1.3, 0.2],\n [5. , 3.5, 1.6, 0.6],\n [5.1, 3.8, 1.9, 0.4],\n [4.8, 3. , 1.4, 0.3],\n [5.1, 3.8, 1.6, 0.2],\n [4.6, 3.2, 1.4, 0.2],\n [5.3, 3.7, 1.5, 0.2],\n [5. , 3.3, 1.4, 0.2],\n [7. , 3.2, 4.7, 1.4],\n [6.4, 3.2, 4.5, 1.5],\n [6.9, 3.1, 4.9, 1.5],\n [5.5, 2.3, 4. , 1.3],\n [6.5, 2.8, 4.6, 1.5],\n [5.7, 2.8, 4.5, 1.3],\n [6.3, 3.3, 4.7, 1.6],\n [4.9, 2.4, 3.3, 1. ],\n [6.6, 2.9, 4.6, 1.3],\n [5.2, 2.7, 3.9, 1.4],\n [5. , 2. , 3.5, 1. ],\n [5.9, 3. , 4.2, 1.5],\n [6. , 2.2, 4. , 1. ],\n [6.1, 2.9, 4.7, 1.4],\n [5.6, 2.9, 3.6, 1.3],\n [6.7, 3.1, 4.4, 1.4],\n [5.6, 3. , 4.5, 1.5],\n [5.8, 2.7, 4.1, 1. ],\n [6.2, 2.2, 4.5, 1.5],\n [5.6, 2.5, 3.9, 1.1],\n [5.9, 3.2, 4.8, 1.8],\n [6.1, 2.8, 4. , 1.3],\n [6.3, 2.5, 4.9, 1.5],\n [6.1, 2.8, 4.7, 1.2],\n [6.4, 2.9, 4.3, 1.3],\n [6.6, 3. , 4.4, 1.4],\n [6.8, 2.8, 4.8, 1.4],\n [6.7, 3. , 5. , 1.7],\n [6. , 2.9, 4.5, 1.5],\n [5.7, 2.6, 3.5, 1. ],\n [5.5, 2.4, 3.8, 1.1],\n [5.5, 2.4, 3.7, 1. ],\n [5.8, 2.7, 3.9, 1.2],\n [6. , 2.7, 5.1, 1.6],\n [5.4, 3. , 4.5, 1.5],\n [6. , 3.4, 4.5, 1.6],\n [6.7, 3.1, 4.7, 1.5],\n [6.3, 2.3, 4.4, 1.3],\n [5.6, 3. , 4.1, 1.3],\n [5.5, 2.5, 4. , 1.3],\n [5.5, 2.6, 4.4, 1.2],\n [6.1, 3. , 4.6, 1.4],\n [5.8, 2.6, 4. , 1.2],\n [5. , 2.3, 3.3, 1. ],\n [5.6, 2.7, 4.2, 1.3],\n [5.7, 3. , 4.2, 1.2],\n [5.7, 2.9, 4.2, 1.3],\n [6.2, 2.9, 4.3, 1.3],\n [5.1, 2.5, 3. , 1.1],\n [5.7, 2.8, 4.1, 1.3],\n [6.3, 3.3, 6. , 2.5],\n [5.8, 2.7, 5.1, 1.9],\n [7.1, 3. , 5.9, 2.1],\n [6.3, 2.9, 5.6, 1.8],\n [6.5, 3. , 5.8, 2.2],\n [7.6, 3. , 6.6, 2.1],\n [4.9, 2.5, 4.5, 1.7],\n [7.3, 2.9, 6.3, 1.8],\n [6.7, 2.5, 5.8, 1.8],\n [7.2, 3.6, 6.1, 2.5],\n [6.5, 3.2, 5.1, 2. ],\n [6.4, 2.7, 5.3, 1.9],\n [6.8, 3. , 5.5, 2.1],\n [5.7, 2.5, 5. , 2. ],\n [5.8, 2.8, 5.1, 2.4],\n [6.4, 3.2, 5.3, 2.3],\n [6.5, 3. , 5.5, 1.8],\n [7.7, 3.8, 6.7, 2.2],\n [7.7, 2.6, 6.9, 2.3],\n [6. , 2.2, 5. , 1.5],\n [6.9, 3.2, 5.7, 2.3],\n [5.6, 2.8, 4.9, 2. ],\n [7.7, 2.8, 6.7, 2. ],\n [6.3, 2.7, 4.9, 1.8],\n [6.7, 3.3, 5.7, 2.1],\n [7.2, 3.2, 6. , 1.8],\n [6.2, 2.8, 4.8, 1.8],\n [6.1, 3. , 4.9, 1.8],\n [6.4, 2.8, 5.6, 2.1],\n [7.2, 3. , 5.8, 1.6],\n [7.4, 2.8, 6.1, 1.9],\n [7.9, 3.8, 6.4, 2. ],\n [6.4, 2.8, 5.6, 2.2],\n [6.3, 2.8, 5.1, 1.5],\n [6.1, 2.6, 5.6, 1.4],\n [7.7, 3. , 6.1, 2.3],\n [6.3, 3.4, 5.6, 2.4],\n [6.4, 3.1, 5.5, 1.8],\n [6. , 3. , 4.8, 1.8],\n [6.9, 3.1, 5.4, 2.1],\n [6.7, 3.1, 5.6, 2.4],\n [6.9, 3.1, 5.1, 2.3],\n [5.8, 2.7, 5.1, 1.9],\n [6.8, 3.2, 5.9, 2.3],\n [6.7, 3.3, 5.7, 2.5],\n [6.7, 3. , 5.2, 2.3],\n [6.3, 2.5, 5. , 1.9],\n [6.5, 3. , 5.2, 2. ],\n [6.2, 3.4, 5.4, 2.3],\n [5.9, 3. , 5.1, 1.8]]), 2, 12, 4, 1137, False, 4, True, 500, True, True, True)]"}}

@ -0,0 +1 @@
{"duration": 4.155716896057129, "input_args": {"listofParamsPlusData": "[(array([[ 6. , 148. , 72. , ..., 33.6 , 0.627, 50. ],\n [ 1. , 85. , 66. , ..., 26.6 , 0.351, 31. ],\n [ 8. , 183. , 64. , ..., 23.3 , 0.672, 32. ],\n ...,\n [ 5. , 121. , 72. , ..., 26.2 , 0.245, 30. ],\n [ 1. , 126. , 60. , ..., 30.1 , 0.349, 47. ],\n [ 1. , 93. , 70. , ..., 30.4 , 0.315, 23. ]]), 2, 30, 10, 1137, False, 8, True, 500, True, True, True)]"}}

@ -0,0 +1 @@
{"duration": 0.8110730648040771, "input_args": {"listofParamsPlusData": "[(array([[5.1, 3.5, 1.4, 0.2],\n [4.9, 3. , 1.4, 0.2],\n [4.7, 3.2, 1.3, 0.2],\n [4.6, 3.1, 1.5, 0.2],\n [5. , 3.6, 1.4, 0.2],\n [5.4, 3.9, 1.7, 0.4],\n [4.6, 3.4, 1.4, 0.3],\n [5. , 3.4, 1.5, 0.2],\n [4.4, 2.9, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5.4, 3.7, 1.5, 0.2],\n [4.8, 3.4, 1.6, 0.2],\n [4.8, 3. , 1.4, 0.1],\n [4.3, 3. , 1.1, 0.1],\n [5.8, 4. , 1.2, 0.2],\n [5.7, 4.4, 1.5, 0.4],\n [5.4, 3.9, 1.3, 0.4],\n [5.1, 3.5, 1.4, 0.3],\n [5.7, 3.8, 1.7, 0.3],\n [5.1, 3.8, 1.5, 0.3],\n [5.4, 3.4, 1.7, 0.2],\n [5.1, 3.7, 1.5, 0.4],\n [4.6, 3.6, 1. , 0.2],\n [5.1, 3.3, 1.7, 0.5],\n [4.8, 3.4, 1.9, 0.2],\n [5. , 3. , 1.6, 0.2],\n [5. , 3.4, 1.6, 0.4],\n [5.2, 3.5, 1.5, 0.2],\n [5.2, 3.4, 1.4, 0.2],\n [4.7, 3.2, 1.6, 0.2],\n [4.8, 3.1, 1.6, 0.2],\n [5.4, 3.4, 1.5, 0.4],\n [5.2, 4.1, 1.5, 0.1],\n [5.5, 4.2, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5. , 3.2, 1.2, 0.2],\n [5.5, 3.5, 1.3, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [4.4, 3. , 1.3, 0.2],\n [5.1, 3.4, 1.5, 0.2],\n [5. , 3.5, 1.3, 0.3],\n [4.5, 2.3, 1.3, 0.3],\n [4.4, 3.2, 1.3, 0.2],\n [5. , 3.5, 1.6, 0.6],\n [5.1, 3.8, 1.9, 0.4],\n [4.8, 3. , 1.4, 0.3],\n [5.1, 3.8, 1.6, 0.2],\n [4.6, 3.2, 1.4, 0.2],\n [5.3, 3.7, 1.5, 0.2],\n [5. , 3.3, 1.4, 0.2],\n [7. , 3.2, 4.7, 1.4],\n [6.4, 3.2, 4.5, 1.5],\n [6.9, 3.1, 4.9, 1.5],\n [5.5, 2.3, 4. , 1.3],\n [6.5, 2.8, 4.6, 1.5],\n [5.7, 2.8, 4.5, 1.3],\n [6.3, 3.3, 4.7, 1.6],\n [4.9, 2.4, 3.3, 1. ],\n [6.6, 2.9, 4.6, 1.3],\n [5.2, 2.7, 3.9, 1.4],\n [5. , 2. , 3.5, 1. ],\n [5.9, 3. , 4.2, 1.5],\n [6. , 2.2, 4. , 1. ],\n [6.1, 2.9, 4.7, 1.4],\n [5.6, 2.9, 3.6, 1.3],\n [6.7, 3.1, 4.4, 1.4],\n [5.6, 3. , 4.5, 1.5],\n [5.8, 2.7, 4.1, 1. ],\n [6.2, 2.2, 4.5, 1.5],\n [5.6, 2.5, 3.9, 1.1],\n [5.9, 3.2, 4.8, 1.8],\n [6.1, 2.8, 4. , 1.3],\n [6.3, 2.5, 4.9, 1.5],\n [6.1, 2.8, 4.7, 1.2],\n [6.4, 2.9, 4.3, 1.3],\n [6.6, 3. , 4.4, 1.4],\n [6.8, 2.8, 4.8, 1.4],\n [6.7, 3. , 5. , 1.7],\n [6. , 2.9, 4.5, 1.5],\n [5.7, 2.6, 3.5, 1. ],\n [5.5, 2.4, 3.8, 1.1],\n [5.5, 2.4, 3.7, 1. ],\n [5.8, 2.7, 3.9, 1.2],\n [6. , 2.7, 5.1, 1.6],\n [5.4, 3. , 4.5, 1.5],\n [6. , 3.4, 4.5, 1.6],\n [6.7, 3.1, 4.7, 1.5],\n [6.3, 2.3, 4.4, 1.3],\n [5.6, 3. , 4.1, 1.3],\n [5.5, 2.5, 4. , 1.3],\n [5.5, 2.6, 4.4, 1.2],\n [6.1, 3. , 4.6, 1.4],\n [5.8, 2.6, 4. , 1.2],\n [5. , 2.3, 3.3, 1. ],\n [5.6, 2.7, 4.2, 1.3],\n [5.7, 3. , 4.2, 1.2],\n [5.7, 2.9, 4.2, 1.3],\n [6.2, 2.9, 4.3, 1.3],\n [5.1, 2.5, 3. , 1.1],\n [5.7, 2.8, 4.1, 1.3],\n [6.3, 3.3, 6. , 2.5],\n [5.8, 2.7, 5.1, 1.9],\n [7.1, 3. , 5.9, 2.1],\n [6.3, 2.9, 5.6, 1.8],\n [6.5, 3. , 5.8, 2.2],\n [7.6, 3. , 6.6, 2.1],\n [4.9, 2.5, 4.5, 1.7],\n [7.3, 2.9, 6.3, 1.8],\n [6.7, 2.5, 5.8, 1.8],\n [7.2, 3.6, 6.1, 2.5],\n [6.5, 3.2, 5.1, 2. ],\n [6.4, 2.7, 5.3, 1.9],\n [6.8, 3. , 5.5, 2.1],\n [5.7, 2.5, 5. , 2. ],\n [5.8, 2.8, 5.1, 2.4],\n [6.4, 3.2, 5.3, 2.3],\n [6.5, 3. , 5.5, 1.8],\n [7.7, 3.8, 6.7, 2.2],\n [7.7, 2.6, 6.9, 2.3],\n [6. , 2.2, 5. , 1.5],\n [6.9, 3.2, 5.7, 2.3],\n [5.6, 2.8, 4.9, 2. ],\n [7.7, 2.8, 6.7, 2. ],\n [6.3, 2.7, 4.9, 1.8],\n [6.7, 3.3, 5.7, 2.1],\n [7.2, 3.2, 6. , 1.8],\n [6.2, 2.8, 4.8, 1.8],\n [6.1, 3. , 4.9, 1.8],\n [6.4, 2.8, 5.6, 2.1],\n [7.2, 3. , 5.8, 1.6],\n [7.4, 2.8, 6.1, 1.9],\n [7.9, 3.8, 6.4, 2. ],\n [6.4, 2.8, 5.6, 2.2],\n [6.3, 2.8, 5.1, 1.5],\n [6.1, 2.6, 5.6, 1.4],\n [7.7, 3. , 6.1, 2.3],\n [6.3, 3.4, 5.6, 2.4],\n [6.4, 3.1, 5.5, 1.8],\n [6. , 3. , 4.8, 1.8],\n [6.9, 3.1, 5.4, 2.1],\n [6.7, 3.1, 5.6, 2.4],\n [6.9, 3.1, 5.1, 2.3],\n [5.8, 2.7, 5.1, 1.9],\n [6.8, 3.2, 5.9, 2.3],\n [6.7, 3.3, 5.7, 2.5],\n [6.7, 3. , 5.2, 2.3],\n [6.3, 2.5, 5. , 1.9],\n [6.5, 3. , 5.2, 2. ],\n [6.2, 3.4, 5.4, 2.3],\n [5.9, 3. , 5.1, 1.8]]), 2, 16, 1, 1137, False, 4, True, 500, True, True, True)]"}}

@ -0,0 +1 @@
{"duration": 0.17852330207824707, "input_args": {"listofParamsPlusData": "[(array([[5.1, 3.5, 1.4, 0.2],\n [4.9, 3. , 1.4, 0.2],\n [4.7, 3.2, 1.3, 0.2],\n [4.6, 3.1, 1.5, 0.2],\n [5. , 3.6, 1.4, 0.2],\n [5.4, 3.9, 1.7, 0.4],\n [4.6, 3.4, 1.4, 0.3],\n [5. , 3.4, 1.5, 0.2],\n [4.4, 2.9, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5.4, 3.7, 1.5, 0.2],\n [4.8, 3.4, 1.6, 0.2],\n [4.8, 3. , 1.4, 0.1],\n [4.3, 3. , 1.1, 0.1],\n [5.8, 4. , 1.2, 0.2],\n [5.7, 4.4, 1.5, 0.4],\n [5.4, 3.9, 1.3, 0.4],\n [5.1, 3.5, 1.4, 0.3],\n [5.7, 3.8, 1.7, 0.3],\n [5.1, 3.8, 1.5, 0.3],\n [5.4, 3.4, 1.7, 0.2],\n [5.1, 3.7, 1.5, 0.4],\n [4.6, 3.6, 1. , 0.2],\n [5.1, 3.3, 1.7, 0.5],\n [4.8, 3.4, 1.9, 0.2],\n [5. , 3. , 1.6, 0.2],\n [5. , 3.4, 1.6, 0.4],\n [5.2, 3.5, 1.5, 0.2],\n [5.2, 3.4, 1.4, 0.2],\n [4.7, 3.2, 1.6, 0.2],\n [4.8, 3.1, 1.6, 0.2],\n [5.4, 3.4, 1.5, 0.4],\n [5.2, 4.1, 1.5, 0.1],\n [5.5, 4.2, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5. , 3.2, 1.2, 0.2],\n [5.5, 3.5, 1.3, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [4.4, 3. , 1.3, 0.2],\n [5.1, 3.4, 1.5, 0.2],\n [5. , 3.5, 1.3, 0.3],\n [4.5, 2.3, 1.3, 0.3],\n [4.4, 3.2, 1.3, 0.2],\n [5. , 3.5, 1.6, 0.6],\n [5.1, 3.8, 1.9, 0.4],\n [4.8, 3. , 1.4, 0.3],\n [5.1, 3.8, 1.6, 0.2],\n [4.6, 3.2, 1.4, 0.2],\n [5.3, 3.7, 1.5, 0.2],\n [5. , 3.3, 1.4, 0.2],\n [7. , 3.2, 4.7, 1.4],\n [6.4, 3.2, 4.5, 1.5],\n [6.9, 3.1, 4.9, 1.5],\n [5.5, 2.3, 4. , 1.3],\n [6.5, 2.8, 4.6, 1.5],\n [5.7, 2.8, 4.5, 1.3],\n [6.3, 3.3, 4.7, 1.6],\n [4.9, 2.4, 3.3, 1. ],\n [6.6, 2.9, 4.6, 1.3],\n [5.2, 2.7, 3.9, 1.4],\n [5. , 2. , 3.5, 1. ],\n [5.9, 3. , 4.2, 1.5],\n [6. , 2.2, 4. , 1. ],\n [6.1, 2.9, 4.7, 1.4],\n [5.6, 2.9, 3.6, 1.3],\n [6.7, 3.1, 4.4, 1.4],\n [5.6, 3. , 4.5, 1.5],\n [5.8, 2.7, 4.1, 1. ],\n [6.2, 2.2, 4.5, 1.5],\n [5.6, 2.5, 3.9, 1.1],\n [5.9, 3.2, 4.8, 1.8],\n [6.1, 2.8, 4. , 1.3],\n [6.3, 2.5, 4.9, 1.5],\n [6.1, 2.8, 4.7, 1.2],\n [6.4, 2.9, 4.3, 1.3],\n [6.6, 3. , 4.4, 1.4],\n [6.8, 2.8, 4.8, 1.4],\n [6.7, 3. , 5. , 1.7],\n [6. , 2.9, 4.5, 1.5],\n [5.7, 2.6, 3.5, 1. ],\n [5.5, 2.4, 3.8, 1.1],\n [5.5, 2.4, 3.7, 1. ],\n [5.8, 2.7, 3.9, 1.2],\n [6. , 2.7, 5.1, 1.6],\n [5.4, 3. , 4.5, 1.5],\n [6. , 3.4, 4.5, 1.6],\n [6.7, 3.1, 4.7, 1.5],\n [6.3, 2.3, 4.4, 1.3],\n [5.6, 3. , 4.1, 1.3],\n [5.5, 2.5, 4. , 1.3],\n [5.5, 2.6, 4.4, 1.2],\n [6.1, 3. , 4.6, 1.4],\n [5.8, 2.6, 4. , 1.2],\n [5. , 2.3, 3.3, 1. ],\n [5.6, 2.7, 4.2, 1.3],\n [5.7, 3. , 4.2, 1.2],\n [5.7, 2.9, 4.2, 1.3],\n [6.2, 2.9, 4.3, 1.3],\n [5.1, 2.5, 3. , 1.1],\n [5.7, 2.8, 4.1, 1.3],\n [6.3, 3.3, 6. , 2.5],\n [5.8, 2.7, 5.1, 1.9],\n [7.1, 3. , 5.9, 2.1],\n [6.3, 2.9, 5.6, 1.8],\n [6.5, 3. , 5.8, 2.2],\n [7.6, 3. , 6.6, 2.1],\n [4.9, 2.5, 4.5, 1.7],\n [7.3, 2.9, 6.3, 1.8],\n [6.7, 2.5, 5.8, 1.8],\n [7.2, 3.6, 6.1, 2.5],\n [6.5, 3.2, 5.1, 2. ],\n [6.4, 2.7, 5.3, 1.9],\n [6.8, 3. , 5.5, 2.1],\n [5.7, 2.5, 5. , 2. ],\n [5.8, 2.8, 5.1, 2.4],\n [6.4, 3.2, 5.3, 2.3],\n [6.5, 3. , 5.5, 1.8],\n [7.7, 3.8, 6.7, 2.2],\n [7.7, 2.6, 6.9, 2.3],\n [6. , 2.2, 5. , 1.5],\n [6.9, 3.2, 5.7, 2.3],\n [5.6, 2.8, 4.9, 2. ],\n [7.7, 2.8, 6.7, 2. ],\n [6.3, 2.7, 4.9, 1.8],\n [6.7, 3.3, 5.7, 2.1],\n [7.2, 3.2, 6. , 1.8],\n [6.2, 2.8, 4.8, 1.8],\n [6.1, 3. , 4.9, 1.8],\n [6.4, 2.8, 5.6, 2.1],\n [7.2, 3. , 5.8, 1.6],\n [7.4, 2.8, 6.1, 1.9],\n [7.9, 3.8, 6.4, 2. ],\n [6.4, 2.8, 5.6, 2.2],\n [6.3, 2.8, 5.1, 1.5],\n [6.1, 2.6, 5.6, 1.4],\n [7.7, 3. , 6.1, 2.3],\n [6.3, 3.4, 5.6, 2.4],\n [6.4, 3.1, 5.5, 1.8],\n [6. , 3. , 4.8, 1.8],\n [6.9, 3.1, 5.4, 2.1],\n [6.7, 3.1, 5.6, 2.4],\n [6.9, 3.1, 5.1, 2.3],\n [5.8, 2.7, 5.1, 1.9],\n [6.8, 3.2, 5.9, 2.3],\n [6.7, 3.3, 5.7, 2.5],\n [6.7, 3. , 5.2, 2.3],\n [6.3, 2.5, 5. , 1.9],\n [6.5, 3. , 5.2, 2. ],\n [6.2, 3.4, 5.4, 2.3],\n [5.9, 3. , 5.1, 1.8]]), 2, 5, 40, 1137, False, 4, True, 100, True, True, True)]"}}

@ -0,0 +1 @@
{"duration": 0.8870301246643066, "input_args": {"listofParamsPlusData": "[(array([[5.1, 3.5, 1.4, 0.2],\n [4.9, 3. , 1.4, 0.2],\n [4.7, 3.2, 1.3, 0.2],\n [4.6, 3.1, 1.5, 0.2],\n [5. , 3.6, 1.4, 0.2],\n [5.4, 3.9, 1.7, 0.4],\n [4.6, 3.4, 1.4, 0.3],\n [5. , 3.4, 1.5, 0.2],\n [4.4, 2.9, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5.4, 3.7, 1.5, 0.2],\n [4.8, 3.4, 1.6, 0.2],\n [4.8, 3. , 1.4, 0.1],\n [4.3, 3. , 1.1, 0.1],\n [5.8, 4. , 1.2, 0.2],\n [5.7, 4.4, 1.5, 0.4],\n [5.4, 3.9, 1.3, 0.4],\n [5.1, 3.5, 1.4, 0.3],\n [5.7, 3.8, 1.7, 0.3],\n [5.1, 3.8, 1.5, 0.3],\n [5.4, 3.4, 1.7, 0.2],\n [5.1, 3.7, 1.5, 0.4],\n [4.6, 3.6, 1. , 0.2],\n [5.1, 3.3, 1.7, 0.5],\n [4.8, 3.4, 1.9, 0.2],\n [5. , 3. , 1.6, 0.2],\n [5. , 3.4, 1.6, 0.4],\n [5.2, 3.5, 1.5, 0.2],\n [5.2, 3.4, 1.4, 0.2],\n [4.7, 3.2, 1.6, 0.2],\n [4.8, 3.1, 1.6, 0.2],\n [5.4, 3.4, 1.5, 0.4],\n [5.2, 4.1, 1.5, 0.1],\n [5.5, 4.2, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5. , 3.2, 1.2, 0.2],\n [5.5, 3.5, 1.3, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [4.4, 3. , 1.3, 0.2],\n [5.1, 3.4, 1.5, 0.2],\n [5. , 3.5, 1.3, 0.3],\n [4.5, 2.3, 1.3, 0.3],\n [4.4, 3.2, 1.3, 0.2],\n [5. , 3.5, 1.6, 0.6],\n [5.1, 3.8, 1.9, 0.4],\n [4.8, 3. , 1.4, 0.3],\n [5.1, 3.8, 1.6, 0.2],\n [4.6, 3.2, 1.4, 0.2],\n [5.3, 3.7, 1.5, 0.2],\n [5. , 3.3, 1.4, 0.2],\n [7. , 3.2, 4.7, 1.4],\n [6.4, 3.2, 4.5, 1.5],\n [6.9, 3.1, 4.9, 1.5],\n [5.5, 2.3, 4. , 1.3],\n [6.5, 2.8, 4.6, 1.5],\n [5.7, 2.8, 4.5, 1.3],\n [6.3, 3.3, 4.7, 1.6],\n [4.9, 2.4, 3.3, 1. ],\n [6.6, 2.9, 4.6, 1.3],\n [5.2, 2.7, 3.9, 1.4],\n [5. , 2. , 3.5, 1. ],\n [5.9, 3. , 4.2, 1.5],\n [6. , 2.2, 4. , 1. ],\n [6.1, 2.9, 4.7, 1.4],\n [5.6, 2.9, 3.6, 1.3],\n [6.7, 3.1, 4.4, 1.4],\n [5.6, 3. , 4.5, 1.5],\n [5.8, 2.7, 4.1, 1. ],\n [6.2, 2.2, 4.5, 1.5],\n [5.6, 2.5, 3.9, 1.1],\n [5.9, 3.2, 4.8, 1.8],\n [6.1, 2.8, 4. , 1.3],\n [6.3, 2.5, 4.9, 1.5],\n [6.1, 2.8, 4.7, 1.2],\n [6.4, 2.9, 4.3, 1.3],\n [6.6, 3. , 4.4, 1.4],\n [6.8, 2.8, 4.8, 1.4],\n [6.7, 3. , 5. , 1.7],\n [6. , 2.9, 4.5, 1.5],\n [5.7, 2.6, 3.5, 1. ],\n [5.5, 2.4, 3.8, 1.1],\n [5.5, 2.4, 3.7, 1. ],\n [5.8, 2.7, 3.9, 1.2],\n [6. , 2.7, 5.1, 1.6],\n [5.4, 3. , 4.5, 1.5],\n [6. , 3.4, 4.5, 1.6],\n [6.7, 3.1, 4.7, 1.5],\n [6.3, 2.3, 4.4, 1.3],\n [5.6, 3. , 4.1, 1.3],\n [5.5, 2.5, 4. , 1.3],\n [5.5, 2.6, 4.4, 1.2],\n [6.1, 3. , 4.6, 1.4],\n [5.8, 2.6, 4. , 1.2],\n [5. , 2.3, 3.3, 1. ],\n [5.6, 2.7, 4.2, 1.3],\n [5.7, 3. , 4.2, 1.2],\n [5.7, 2.9, 4.2, 1.3],\n [6.2, 2.9, 4.3, 1.3],\n [5.1, 2.5, 3. , 1.1],\n [5.7, 2.8, 4.1, 1.3],\n [6.3, 3.3, 6. , 2.5],\n [5.8, 2.7, 5.1, 1.9],\n [7.1, 3. , 5.9, 2.1],\n [6.3, 2.9, 5.6, 1.8],\n [6.5, 3. , 5.8, 2.2],\n [7.6, 3. , 6.6, 2.1],\n [4.9, 2.5, 4.5, 1.7],\n [7.3, 2.9, 6.3, 1.8],\n [6.7, 2.5, 5.8, 1.8],\n [7.2, 3.6, 6.1, 2.5],\n [6.5, 3.2, 5.1, 2. ],\n [6.4, 2.7, 5.3, 1.9],\n [6.8, 3. , 5.5, 2.1],\n [5.7, 2.5, 5. , 2. ],\n [5.8, 2.8, 5.1, 2.4],\n [6.4, 3.2, 5.3, 2.3],\n [6.5, 3. , 5.5, 1.8],\n [7.7, 3.8, 6.7, 2.2],\n [7.7, 2.6, 6.9, 2.3],\n [6. , 2.2, 5. , 1.5],\n [6.9, 3.2, 5.7, 2.3],\n [5.6, 2.8, 4.9, 2. ],\n [7.7, 2.8, 6.7, 2. ],\n [6.3, 2.7, 4.9, 1.8],\n [6.7, 3.3, 5.7, 2.1],\n [7.2, 3.2, 6. , 1.8],\n [6.2, 2.8, 4.8, 1.8],\n [6.1, 3. , 4.9, 1.8],\n [6.4, 2.8, 5.6, 2.1],\n [7.2, 3. , 5.8, 1.6],\n [7.4, 2.8, 6.1, 1.9],\n [7.9, 3.8, 6.4, 2. ],\n [6.4, 2.8, 5.6, 2.2],\n [6.3, 2.8, 5.1, 1.5],\n [6.1, 2.6, 5.6, 1.4],\n [7.7, 3. , 6.1, 2.3],\n [6.3, 3.4, 5.6, 2.4],\n [6.4, 3.1, 5.5, 1.8],\n [6. , 3. , 4.8, 1.8],\n [6.9, 3.1, 5.4, 2.1],\n [6.7, 3.1, 5.6, 2.4],\n [6.9, 3.1, 5.1, 2.3],\n [5.8, 2.7, 5.1, 1.9],\n [6.8, 3.2, 5.9, 2.3],\n [6.7, 3.3, 5.7, 2.5],\n [6.7, 3. , 5.2, 2.3],\n [6.3, 2.5, 5. , 1.9],\n [6.5, 3. , 5.2, 2. ],\n [6.2, 3.4, 5.4, 2.3],\n [5.9, 3. , 5.1, 1.8]]), 2, 33, 45, 1137, False, 4, True, 500, True, True, True)]"}}

@ -0,0 +1 @@
{"duration": 0.7633700370788574, "input_args": {"listofParamsPlusData": "[(array([[5.1, 3.5, 1.4, 0.2],\n [4.9, 3. , 1.4, 0.2],\n [4.7, 3.2, 1.3, 0.2],\n [4.6, 3.1, 1.5, 0.2],\n [5. , 3.6, 1.4, 0.2],\n [5.4, 3.9, 1.7, 0.4],\n [4.6, 3.4, 1.4, 0.3],\n [5. , 3.4, 1.5, 0.2],\n [4.4, 2.9, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5.4, 3.7, 1.5, 0.2],\n [4.8, 3.4, 1.6, 0.2],\n [4.8, 3. , 1.4, 0.1],\n [4.3, 3. , 1.1, 0.1],\n [5.8, 4. , 1.2, 0.2],\n [5.7, 4.4, 1.5, 0.4],\n [5.4, 3.9, 1.3, 0.4],\n [5.1, 3.5, 1.4, 0.3],\n [5.7, 3.8, 1.7, 0.3],\n [5.1, 3.8, 1.5, 0.3],\n [5.4, 3.4, 1.7, 0.2],\n [5.1, 3.7, 1.5, 0.4],\n [4.6, 3.6, 1. , 0.2],\n [5.1, 3.3, 1.7, 0.5],\n [4.8, 3.4, 1.9, 0.2],\n [5. , 3. , 1.6, 0.2],\n [5. , 3.4, 1.6, 0.4],\n [5.2, 3.5, 1.5, 0.2],\n [5.2, 3.4, 1.4, 0.2],\n [4.7, 3.2, 1.6, 0.2],\n [4.8, 3.1, 1.6, 0.2],\n [5.4, 3.4, 1.5, 0.4],\n [5.2, 4.1, 1.5, 0.1],\n [5.5, 4.2, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5. , 3.2, 1.2, 0.2],\n [5.5, 3.5, 1.3, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [4.4, 3. , 1.3, 0.2],\n [5.1, 3.4, 1.5, 0.2],\n [5. , 3.5, 1.3, 0.3],\n [4.5, 2.3, 1.3, 0.3],\n [4.4, 3.2, 1.3, 0.2],\n [5. , 3.5, 1.6, 0.6],\n [5.1, 3.8, 1.9, 0.4],\n [4.8, 3. , 1.4, 0.3],\n [5.1, 3.8, 1.6, 0.2],\n [4.6, 3.2, 1.4, 0.2],\n [5.3, 3.7, 1.5, 0.2],\n [5. , 3.3, 1.4, 0.2],\n [7. , 3.2, 4.7, 1.4],\n [6.4, 3.2, 4.5, 1.5],\n [6.9, 3.1, 4.9, 1.5],\n [5.5, 2.3, 4. , 1.3],\n [6.5, 2.8, 4.6, 1.5],\n [5.7, 2.8, 4.5, 1.3],\n [6.3, 3.3, 4.7, 1.6],\n [4.9, 2.4, 3.3, 1. ],\n [6.6, 2.9, 4.6, 1.3],\n [5.2, 2.7, 3.9, 1.4],\n [5. , 2. , 3.5, 1. ],\n [5.9, 3. , 4.2, 1.5],\n [6. , 2.2, 4. , 1. ],\n [6.1, 2.9, 4.7, 1.4],\n [5.6, 2.9, 3.6, 1.3],\n [6.7, 3.1, 4.4, 1.4],\n [5.6, 3. , 4.5, 1.5],\n [5.8, 2.7, 4.1, 1. ],\n [6.2, 2.2, 4.5, 1.5],\n [5.6, 2.5, 3.9, 1.1],\n [5.9, 3.2, 4.8, 1.8],\n [6.1, 2.8, 4. , 1.3],\n [6.3, 2.5, 4.9, 1.5],\n [6.1, 2.8, 4.7, 1.2],\n [6.4, 2.9, 4.3, 1.3],\n [6.6, 3. , 4.4, 1.4],\n [6.8, 2.8, 4.8, 1.4],\n [6.7, 3. , 5. , 1.7],\n [6. , 2.9, 4.5, 1.5],\n [5.7, 2.6, 3.5, 1. ],\n [5.5, 2.4, 3.8, 1.1],\n [5.5, 2.4, 3.7, 1. ],\n [5.8, 2.7, 3.9, 1.2],\n [6. , 2.7, 5.1, 1.6],\n [5.4, 3. , 4.5, 1.5],\n [6. , 3.4, 4.5, 1.6],\n [6.7, 3.1, 4.7, 1.5],\n [6.3, 2.3, 4.4, 1.3],\n [5.6, 3. , 4.1, 1.3],\n [5.5, 2.5, 4. , 1.3],\n [5.5, 2.6, 4.4, 1.2],\n [6.1, 3. , 4.6, 1.4],\n [5.8, 2.6, 4. , 1.2],\n [5. , 2.3, 3.3, 1. ],\n [5.6, 2.7, 4.2, 1.3],\n [5.7, 3. , 4.2, 1.2],\n [5.7, 2.9, 4.2, 1.3],\n [6.2, 2.9, 4.3, 1.3],\n [5.1, 2.5, 3. , 1.1],\n [5.7, 2.8, 4.1, 1.3],\n [6.3, 3.3, 6. , 2.5],\n [5.8, 2.7, 5.1, 1.9],\n [7.1, 3. , 5.9, 2.1],\n [6.3, 2.9, 5.6, 1.8],\n [6.5, 3. , 5.8, 2.2],\n [7.6, 3. , 6.6, 2.1],\n [4.9, 2.5, 4.5, 1.7],\n [7.3, 2.9, 6.3, 1.8],\n [6.7, 2.5, 5.8, 1.8],\n [7.2, 3.6, 6.1, 2.5],\n [6.5, 3.2, 5.1, 2. ],\n [6.4, 2.7, 5.3, 1.9],\n [6.8, 3. , 5.5, 2.1],\n [5.7, 2.5, 5. , 2. ],\n [5.8, 2.8, 5.1, 2.4],\n [6.4, 3.2, 5.3, 2.3],\n [6.5, 3. , 5.5, 1.8],\n [7.7, 3.8, 6.7, 2.2],\n [7.7, 2.6, 6.9, 2.3],\n [6. , 2.2, 5. , 1.5],\n [6.9, 3.2, 5.7, 2.3],\n [5.6, 2.8, 4.9, 2. ],\n [7.7, 2.8, 6.7, 2. ],\n [6.3, 2.7, 4.9, 1.8],\n [6.7, 3.3, 5.7, 2.1],\n [7.2, 3.2, 6. , 1.8],\n [6.2, 2.8, 4.8, 1.8],\n [6.1, 3. , 4.9, 1.8],\n [6.4, 2.8, 5.6, 2.1],\n [7.2, 3. , 5.8, 1.6],\n [7.4, 2.8, 6.1, 1.9],\n [7.9, 3.8, 6.4, 2. ],\n [6.4, 2.8, 5.6, 2.2],\n [6.3, 2.8, 5.1, 1.5],\n [6.1, 2.6, 5.6, 1.4],\n [7.7, 3. , 6.1, 2.3],\n [6.3, 3.4, 5.6, 2.4],\n [6.4, 3.1, 5.5, 1.8],\n [6. , 3. , 4.8, 1.8],\n [6.9, 3.1, 5.4, 2.1],\n [6.7, 3.1, 5.6, 2.4],\n [6.9, 3.1, 5.1, 2.3],\n [5.8, 2.7, 5.1, 1.9],\n [6.8, 3.2, 5.9, 2.3],\n [6.7, 3.3, 5.7, 2.5],\n [6.7, 3. , 5.2, 2.3],\n [6.3, 2.5, 5. , 1.9],\n [6.5, 3. , 5.2, 2. ],\n [6.2, 3.4, 5.4, 2.3],\n [5.9, 3. , 5.1, 1.8]]), 2, 16, 10, 1137, False, 4, True, 500, True, True, True)]"}}

@ -0,0 +1 @@
{"duration": 0.6993098258972168, "input_args": {"listofParamsPlusData": "[(array([[5.1, 3.5, 1.4, 0.2],\n [4.9, 3. , 1.4, 0.2],\n [4.7, 3.2, 1.3, 0.2],\n [4.6, 3.1, 1.5, 0.2],\n [5. , 3.6, 1.4, 0.2],\n [5.4, 3.9, 1.7, 0.4],\n [4.6, 3.4, 1.4, 0.3],\n [5. , 3.4, 1.5, 0.2],\n [4.4, 2.9, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5.4, 3.7, 1.5, 0.2],\n [4.8, 3.4, 1.6, 0.2],\n [4.8, 3. , 1.4, 0.1],\n [4.3, 3. , 1.1, 0.1],\n [5.8, 4. , 1.2, 0.2],\n [5.7, 4.4, 1.5, 0.4],\n [5.4, 3.9, 1.3, 0.4],\n [5.1, 3.5, 1.4, 0.3],\n [5.7, 3.8, 1.7, 0.3],\n [5.1, 3.8, 1.5, 0.3],\n [5.4, 3.4, 1.7, 0.2],\n [5.1, 3.7, 1.5, 0.4],\n [4.6, 3.6, 1. , 0.2],\n [5.1, 3.3, 1.7, 0.5],\n [4.8, 3.4, 1.9, 0.2],\n [5. , 3. , 1.6, 0.2],\n [5. , 3.4, 1.6, 0.4],\n [5.2, 3.5, 1.5, 0.2],\n [5.2, 3.4, 1.4, 0.2],\n [4.7, 3.2, 1.6, 0.2],\n [4.8, 3.1, 1.6, 0.2],\n [5.4, 3.4, 1.5, 0.4],\n [5.2, 4.1, 1.5, 0.1],\n [5.5, 4.2, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5. , 3.2, 1.2, 0.2],\n [5.5, 3.5, 1.3, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [4.4, 3. , 1.3, 0.2],\n [5.1, 3.4, 1.5, 0.2],\n [5. , 3.5, 1.3, 0.3],\n [4.5, 2.3, 1.3, 0.3],\n [4.4, 3.2, 1.3, 0.2],\n [5. , 3.5, 1.6, 0.6],\n [5.1, 3.8, 1.9, 0.4],\n [4.8, 3. , 1.4, 0.3],\n [5.1, 3.8, 1.6, 0.2],\n [4.6, 3.2, 1.4, 0.2],\n [5.3, 3.7, 1.5, 0.2],\n [5. , 3.3, 1.4, 0.2],\n [7. , 3.2, 4.7, 1.4],\n [6.4, 3.2, 4.5, 1.5],\n [6.9, 3.1, 4.9, 1.5],\n [5.5, 2.3, 4. , 1.3],\n [6.5, 2.8, 4.6, 1.5],\n [5.7, 2.8, 4.5, 1.3],\n [6.3, 3.3, 4.7, 1.6],\n [4.9, 2.4, 3.3, 1. ],\n [6.6, 2.9, 4.6, 1.3],\n [5.2, 2.7, 3.9, 1.4],\n [5. , 2. , 3.5, 1. ],\n [5.9, 3. , 4.2, 1.5],\n [6. , 2.2, 4. , 1. ],\n [6.1, 2.9, 4.7, 1.4],\n [5.6, 2.9, 3.6, 1.3],\n [6.7, 3.1, 4.4, 1.4],\n [5.6, 3. , 4.5, 1.5],\n [5.8, 2.7, 4.1, 1. ],\n [6.2, 2.2, 4.5, 1.5],\n [5.6, 2.5, 3.9, 1.1],\n [5.9, 3.2, 4.8, 1.8],\n [6.1, 2.8, 4. , 1.3],\n [6.3, 2.5, 4.9, 1.5],\n [6.1, 2.8, 4.7, 1.2],\n [6.4, 2.9, 4.3, 1.3],\n [6.6, 3. , 4.4, 1.4],\n [6.8, 2.8, 4.8, 1.4],\n [6.7, 3. , 5. , 1.7],\n [6. , 2.9, 4.5, 1.5],\n [5.7, 2.6, 3.5, 1. ],\n [5.5, 2.4, 3.8, 1.1],\n [5.5, 2.4, 3.7, 1. ],\n [5.8, 2.7, 3.9, 1.2],\n [6. , 2.7, 5.1, 1.6],\n [5.4, 3. , 4.5, 1.5],\n [6. , 3.4, 4.5, 1.6],\n [6.7, 3.1, 4.7, 1.5],\n [6.3, 2.3, 4.4, 1.3],\n [5.6, 3. , 4.1, 1.3],\n [5.5, 2.5, 4. , 1.3],\n [5.5, 2.6, 4.4, 1.2],\n [6.1, 3. , 4.6, 1.4],\n [5.8, 2.6, 4. , 1.2],\n [5. , 2.3, 3.3, 1. ],\n [5.6, 2.7, 4.2, 1.3],\n [5.7, 3. , 4.2, 1.2],\n [5.7, 2.9, 4.2, 1.3],\n [6.2, 2.9, 4.3, 1.3],\n [5.1, 2.5, 3. , 1.1],\n [5.7, 2.8, 4.1, 1.3],\n [6.3, 3.3, 6. , 2.5],\n [5.8, 2.7, 5.1, 1.9],\n [7.1, 3. , 5.9, 2.1],\n [6.3, 2.9, 5.6, 1.8],\n [6.5, 3. , 5.8, 2.2],\n [7.6, 3. , 6.6, 2.1],\n [4.9, 2.5, 4.5, 1.7],\n [7.3, 2.9, 6.3, 1.8],\n [6.7, 2.5, 5.8, 1.8],\n [7.2, 3.6, 6.1, 2.5],\n [6.5, 3.2, 5.1, 2. ],\n [6.4, 2.7, 5.3, 1.9],\n [6.8, 3. , 5.5, 2.1],\n [5.7, 2.5, 5. , 2. ],\n [5.8, 2.8, 5.1, 2.4],\n [6.4, 3.2, 5.3, 2.3],\n [6.5, 3. , 5.5, 1.8],\n [7.7, 3.8, 6.7, 2.2],\n [7.7, 2.6, 6.9, 2.3],\n [6. , 2.2, 5. , 1.5],\n [6.9, 3.2, 5.7, 2.3],\n [5.6, 2.8, 4.9, 2. ],\n [7.7, 2.8, 6.7, 2. ],\n [6.3, 2.7, 4.9, 1.8],\n [6.7, 3.3, 5.7, 2.1],\n [7.2, 3.2, 6. , 1.8],\n [6.2, 2.8, 4.8, 1.8],\n [6.1, 3. , 4.9, 1.8],\n [6.4, 2.8, 5.6, 2.1],\n [7.2, 3. , 5.8, 1.6],\n [7.4, 2.8, 6.1, 1.9],\n [7.9, 3.8, 6.4, 2. ],\n [6.4, 2.8, 5.6, 2.2],\n [6.3, 2.8, 5.1, 1.5],\n [6.1, 2.6, 5.6, 1.4],\n [7.7, 3. , 6.1, 2.3],\n [6.3, 3.4, 5.6, 2.4],\n [6.4, 3.1, 5.5, 1.8],\n [6. , 3. , 4.8, 1.8],\n [6.9, 3.1, 5.4, 2.1],\n [6.7, 3.1, 5.6, 2.4],\n [6.9, 3.1, 5.1, 2.3],\n [5.8, 2.7, 5.1, 1.9],\n [6.8, 3.2, 5.9, 2.3],\n [6.7, 3.3, 5.7, 2.5],\n [6.7, 3. , 5.2, 2.3],\n [6.3, 2.5, 5. , 1.9],\n [6.5, 3. , 5.2, 2. ],\n [6.2, 3.4, 5.4, 2.3],\n [5.9, 3. , 5.1, 1.8]]), 2, 6, 10, 1137, False, 4, True, 500, True, True, True)]"}}

@ -0,0 +1 @@
{"duration": 0.8858458995819092, "input_args": {"listofParamsPlusData": "[(array([[5.1, 3.5, 1.4, 0.2],\n [4.9, 3. , 1.4, 0.2],\n [4.7, 3.2, 1.3, 0.2],\n [4.6, 3.1, 1.5, 0.2],\n [5. , 3.6, 1.4, 0.2],\n [5.4, 3.9, 1.7, 0.4],\n [4.6, 3.4, 1.4, 0.3],\n [5. , 3.4, 1.5, 0.2],\n [4.4, 2.9, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5.4, 3.7, 1.5, 0.2],\n [4.8, 3.4, 1.6, 0.2],\n [4.8, 3. , 1.4, 0.1],\n [4.3, 3. , 1.1, 0.1],\n [5.8, 4. , 1.2, 0.2],\n [5.7, 4.4, 1.5, 0.4],\n [5.4, 3.9, 1.3, 0.4],\n [5.1, 3.5, 1.4, 0.3],\n [5.7, 3.8, 1.7, 0.3],\n [5.1, 3.8, 1.5, 0.3],\n [5.4, 3.4, 1.7, 0.2],\n [5.1, 3.7, 1.5, 0.4],\n [4.6, 3.6, 1. , 0.2],\n [5.1, 3.3, 1.7, 0.5],\n [4.8, 3.4, 1.9, 0.2],\n [5. , 3. , 1.6, 0.2],\n [5. , 3.4, 1.6, 0.4],\n [5.2, 3.5, 1.5, 0.2],\n [5.2, 3.4, 1.4, 0.2],\n [4.7, 3.2, 1.6, 0.2],\n [4.8, 3.1, 1.6, 0.2],\n [5.4, 3.4, 1.5, 0.4],\n [5.2, 4.1, 1.5, 0.1],\n [5.5, 4.2, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5. , 3.2, 1.2, 0.2],\n [5.5, 3.5, 1.3, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [4.4, 3. , 1.3, 0.2],\n [5.1, 3.4, 1.5, 0.2],\n [5. , 3.5, 1.3, 0.3],\n [4.5, 2.3, 1.3, 0.3],\n [4.4, 3.2, 1.3, 0.2],\n [5. , 3.5, 1.6, 0.6],\n [5.1, 3.8, 1.9, 0.4],\n [4.8, 3. , 1.4, 0.3],\n [5.1, 3.8, 1.6, 0.2],\n [4.6, 3.2, 1.4, 0.2],\n [5.3, 3.7, 1.5, 0.2],\n [5. , 3.3, 1.4, 0.2],\n [7. , 3.2, 4.7, 1.4],\n [6.4, 3.2, 4.5, 1.5],\n [6.9, 3.1, 4.9, 1.5],\n [5.5, 2.3, 4. , 1.3],\n [6.5, 2.8, 4.6, 1.5],\n [5.7, 2.8, 4.5, 1.3],\n [6.3, 3.3, 4.7, 1.6],\n [4.9, 2.4, 3.3, 1. ],\n [6.6, 2.9, 4.6, 1.3],\n [5.2, 2.7, 3.9, 1.4],\n [5. , 2. , 3.5, 1. ],\n [5.9, 3. , 4.2, 1.5],\n [6. , 2.2, 4. , 1. ],\n [6.1, 2.9, 4.7, 1.4],\n [5.6, 2.9, 3.6, 1.3],\n [6.7, 3.1, 4.4, 1.4],\n [5.6, 3. , 4.5, 1.5],\n [5.8, 2.7, 4.1, 1. ],\n [6.2, 2.2, 4.5, 1.5],\n [5.6, 2.5, 3.9, 1.1],\n [5.9, 3.2, 4.8, 1.8],\n [6.1, 2.8, 4. , 1.3],\n [6.3, 2.5, 4.9, 1.5],\n [6.1, 2.8, 4.7, 1.2],\n [6.4, 2.9, 4.3, 1.3],\n [6.6, 3. , 4.4, 1.4],\n [6.8, 2.8, 4.8, 1.4],\n [6.7, 3. , 5. , 1.7],\n [6. , 2.9, 4.5, 1.5],\n [5.7, 2.6, 3.5, 1. ],\n [5.5, 2.4, 3.8, 1.1],\n [5.5, 2.4, 3.7, 1. ],\n [5.8, 2.7, 3.9, 1.2],\n [6. , 2.7, 5.1, 1.6],\n [5.4, 3. , 4.5, 1.5],\n [6. , 3.4, 4.5, 1.6],\n [6.7, 3.1, 4.7, 1.5],\n [6.3, 2.3, 4.4, 1.3],\n [5.6, 3. , 4.1, 1.3],\n [5.5, 2.5, 4. , 1.3],\n [5.5, 2.6, 4.4, 1.2],\n [6.1, 3. , 4.6, 1.4],\n [5.8, 2.6, 4. , 1.2],\n [5. , 2.3, 3.3, 1. ],\n [5.6, 2.7, 4.2, 1.3],\n [5.7, 3. , 4.2, 1.2],\n [5.7, 2.9, 4.2, 1.3],\n [6.2, 2.9, 4.3, 1.3],\n [5.1, 2.5, 3. , 1.1],\n [5.7, 2.8, 4.1, 1.3],\n [6.3, 3.3, 6. , 2.5],\n [5.8, 2.7, 5.1, 1.9],\n [7.1, 3. , 5.9, 2.1],\n [6.3, 2.9, 5.6, 1.8],\n [6.5, 3. , 5.8, 2.2],\n [7.6, 3. , 6.6, 2.1],\n [4.9, 2.5, 4.5, 1.7],\n [7.3, 2.9, 6.3, 1.8],\n [6.7, 2.5, 5.8, 1.8],\n [7.2, 3.6, 6.1, 2.5],\n [6.5, 3.2, 5.1, 2. ],\n [6.4, 2.7, 5.3, 1.9],\n [6.8, 3. , 5.5, 2.1],\n [5.7, 2.5, 5. , 2. ],\n [5.8, 2.8, 5.1, 2.4],\n [6.4, 3.2, 5.3, 2.3],\n [6.5, 3. , 5.5, 1.8],\n [7.7, 3.8, 6.7, 2.2],\n [7.7, 2.6, 6.9, 2.3],\n [6. , 2.2, 5. , 1.5],\n [6.9, 3.2, 5.7, 2.3],\n [5.6, 2.8, 4.9, 2. ],\n [7.7, 2.8, 6.7, 2. ],\n [6.3, 2.7, 4.9, 1.8],\n [6.7, 3.3, 5.7, 2.1],\n [7.2, 3.2, 6. , 1.8],\n [6.2, 2.8, 4.8, 1.8],\n [6.1, 3. , 4.9, 1.8],\n [6.4, 2.8, 5.6, 2.1],\n [7.2, 3. , 5.8, 1.6],\n [7.4, 2.8, 6.1, 1.9],\n [7.9, 3.8, 6.4, 2. ],\n [6.4, 2.8, 5.6, 2.2],\n [6.3, 2.8, 5.1, 1.5],\n [6.1, 2.6, 5.6, 1.4],\n [7.7, 3. , 6.1, 2.3],\n [6.3, 3.4, 5.6, 2.4],\n [6.4, 3.1, 5.5, 1.8],\n [6. , 3. , 4.8, 1.8],\n [6.9, 3.1, 5.4, 2.1],\n [6.7, 3.1, 5.6, 2.4],\n [6.9, 3.1, 5.1, 2.3],\n [5.8, 2.7, 5.1, 1.9],\n [6.8, 3.2, 5.9, 2.3],\n [6.7, 3.3, 5.7, 2.5],\n [6.7, 3. , 5.2, 2.3],\n [6.3, 2.5, 5. , 1.9],\n [6.5, 3. , 5.2, 2. ],\n [6.2, 3.4, 5.4, 2.3],\n [5.9, 3. , 5.1, 1.8]]), 2, 33, 10, 1137, False, 4, True, 500, True, True, True)]"}}

@ -0,0 +1 @@
{"duration": 0.2815682888031006, "input_args": {"listofParamsPlusData": "[(array([[5.1, 3.5, 1.4, 0.2],\n [4.9, 3. , 1.4, 0.2],\n [4.7, 3.2, 1.3, 0.2],\n [4.6, 3.1, 1.5, 0.2],\n [5. , 3.6, 1.4, 0.2],\n [5.4, 3.9, 1.7, 0.4],\n [4.6, 3.4, 1.4, 0.3],\n [5. , 3.4, 1.5, 0.2],\n [4.4, 2.9, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5.4, 3.7, 1.5, 0.2],\n [4.8, 3.4, 1.6, 0.2],\n [4.8, 3. , 1.4, 0.1],\n [4.3, 3. , 1.1, 0.1],\n [5.8, 4. , 1.2, 0.2],\n [5.7, 4.4, 1.5, 0.4],\n [5.4, 3.9, 1.3, 0.4],\n [5.1, 3.5, 1.4, 0.3],\n [5.7, 3.8, 1.7, 0.3],\n [5.1, 3.8, 1.5, 0.3],\n [5.4, 3.4, 1.7, 0.2],\n [5.1, 3.7, 1.5, 0.4],\n [4.6, 3.6, 1. , 0.2],\n [5.1, 3.3, 1.7, 0.5],\n [4.8, 3.4, 1.9, 0.2],\n [5. , 3. , 1.6, 0.2],\n [5. , 3.4, 1.6, 0.4],\n [5.2, 3.5, 1.5, 0.2],\n [5.2, 3.4, 1.4, 0.2],\n [4.7, 3.2, 1.6, 0.2],\n [4.8, 3.1, 1.6, 0.2],\n [5.4, 3.4, 1.5, 0.4],\n [5.2, 4.1, 1.5, 0.1],\n [5.5, 4.2, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5. , 3.2, 1.2, 0.2],\n [5.5, 3.5, 1.3, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [4.4, 3. , 1.3, 0.2],\n [5.1, 3.4, 1.5, 0.2],\n [5. , 3.5, 1.3, 0.3],\n [4.5, 2.3, 1.3, 0.3],\n [4.4, 3.2, 1.3, 0.2],\n [5. , 3.5, 1.6, 0.6],\n [5.1, 3.8, 1.9, 0.4],\n [4.8, 3. , 1.4, 0.3],\n [5.1, 3.8, 1.6, 0.2],\n [4.6, 3.2, 1.4, 0.2],\n [5.3, 3.7, 1.5, 0.2],\n [5. , 3.3, 1.4, 0.2],\n [7. , 3.2, 4.7, 1.4],\n [6.4, 3.2, 4.5, 1.5],\n [6.9, 3.1, 4.9, 1.5],\n [5.5, 2.3, 4. , 1.3],\n [6.5, 2.8, 4.6, 1.5],\n [5.7, 2.8, 4.5, 1.3],\n [6.3, 3.3, 4.7, 1.6],\n [4.9, 2.4, 3.3, 1. ],\n [6.6, 2.9, 4.6, 1.3],\n [5.2, 2.7, 3.9, 1.4],\n [5. , 2. , 3.5, 1. ],\n [5.9, 3. , 4.2, 1.5],\n [6. , 2.2, 4. , 1. ],\n [6.1, 2.9, 4.7, 1.4],\n [5.6, 2.9, 3.6, 1.3],\n [6.7, 3.1, 4.4, 1.4],\n [5.6, 3. , 4.5, 1.5],\n [5.8, 2.7, 4.1, 1. ],\n [6.2, 2.2, 4.5, 1.5],\n [5.6, 2.5, 3.9, 1.1],\n [5.9, 3.2, 4.8, 1.8],\n [6.1, 2.8, 4. , 1.3],\n [6.3, 2.5, 4.9, 1.5],\n [6.1, 2.8, 4.7, 1.2],\n [6.4, 2.9, 4.3, 1.3],\n [6.6, 3. , 4.4, 1.4],\n [6.8, 2.8, 4.8, 1.4],\n [6.7, 3. , 5. , 1.7],\n [6. , 2.9, 4.5, 1.5],\n [5.7, 2.6, 3.5, 1. ],\n [5.5, 2.4, 3.8, 1.1],\n [5.5, 2.4, 3.7, 1. ],\n [5.8, 2.7, 3.9, 1.2],\n [6. , 2.7, 5.1, 1.6],\n [5.4, 3. , 4.5, 1.5],\n [6. , 3.4, 4.5, 1.6],\n [6.7, 3.1, 4.7, 1.5],\n [6.3, 2.3, 4.4, 1.3],\n [5.6, 3. , 4.1, 1.3],\n [5.5, 2.5, 4. , 1.3],\n [5.5, 2.6, 4.4, 1.2],\n [6.1, 3. , 4.6, 1.4],\n [5.8, 2.6, 4. , 1.2],\n [5. , 2.3, 3.3, 1. ],\n [5.6, 2.7, 4.2, 1.3],\n [5.7, 3. , 4.2, 1.2],\n [5.7, 2.9, 4.2, 1.3],\n [6.2, 2.9, 4.3, 1.3],\n [5.1, 2.5, 3. , 1.1],\n [5.7, 2.8, 4.1, 1.3],\n [6.3, 3.3, 6. , 2.5],\n [5.8, 2.7, 5.1, 1.9],\n [7.1, 3. , 5.9, 2.1],\n [6.3, 2.9, 5.6, 1.8],\n [6.5, 3. , 5.8, 2.2],\n [7.6, 3. , 6.6, 2.1],\n [4.9, 2.5, 4.5, 1.7],\n [7.3, 2.9, 6.3, 1.8],\n [6.7, 2.5, 5.8, 1.8],\n [7.2, 3.6, 6.1, 2.5],\n [6.5, 3.2, 5.1, 2. ],\n [6.4, 2.7, 5.3, 1.9],\n [6.8, 3. , 5.5, 2.1],\n [5.7, 2.5, 5. , 2. ],\n [5.8, 2.8, 5.1, 2.4],\n [6.4, 3.2, 5.3, 2.3],\n [6.5, 3. , 5.5, 1.8],\n [7.7, 3.8, 6.7, 2.2],\n [7.7, 2.6, 6.9, 2.3],\n [6. , 2.2, 5. , 1.5],\n [6.9, 3.2, 5.7, 2.3],\n [5.6, 2.8, 4.9, 2. ],\n [7.7, 2.8, 6.7, 2. ],\n [6.3, 2.7, 4.9, 1.8],\n [6.7, 3.3, 5.7, 2.1],\n [7.2, 3.2, 6. , 1.8],\n [6.2, 2.8, 4.8, 1.8],\n [6.1, 3. , 4.9, 1.8],\n [6.4, 2.8, 5.6, 2.1],\n [7.2, 3. , 5.8, 1.6],\n [7.4, 2.8, 6.1, 1.9],\n [7.9, 3.8, 6.4, 2. ],\n [6.4, 2.8, 5.6, 2.2],\n [6.3, 2.8, 5.1, 1.5],\n [6.1, 2.6, 5.6, 1.4],\n [7.7, 3. , 6.1, 2.3],\n [6.3, 3.4, 5.6, 2.4],\n [6.4, 3.1, 5.5, 1.8],\n [6. , 3. , 4.8, 1.8],\n [6.9, 3.1, 5.4, 2.1],\n [6.7, 3.1, 5.6, 2.4],\n [6.9, 3.1, 5.1, 2.3],\n [5.8, 2.7, 5.1, 1.9],\n [6.8, 3.2, 5.9, 2.3],\n [6.7, 3.3, 5.7, 2.5],\n [6.7, 3. , 5.2, 2.3],\n [6.3, 2.5, 5. , 1.9],\n [6.5, 3. , 5.2, 2. ],\n [6.2, 3.4, 5.4, 2.3],\n [5.9, 3. , 5.1, 1.8]]), 2, 25, 10, 1137, False, 4, True, 150, True, True, True)]"}}

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
{"duration": 4.42956280708313, "input_args": {"listofParamsPlusData": "[(array([[ 6. , 148. , 72. , ..., 33.6 , 0.627, 50. ],\n [ 1. , 85. , 66. , ..., 26.6 , 0.351, 31. ],\n [ 8. , 183. , 64. , ..., 23.3 , 0.672, 32. ],\n ...,\n [ 5. , 121. , 72. , ..., 26.2 , 0.245, 30. ],\n [ 1. , 126. , 60. , ..., 30.1 , 0.349, 47. ],\n [ 1. , 93. , 70. , ..., 30.4 , 0.315, 23. ]]), 2, 30, 1, 1137, False, 8, True, 500, True, True, True)]"}}

@ -0,0 +1 @@
{"duration": 0.23502206802368164, "input_args": {"listofParamsPlusData": "[(array([[5.1, 3.5, 1.4, 0.2],\n [4.9, 3. , 1.4, 0.2],\n [4.7, 3.2, 1.3, 0.2],\n [4.6, 3.1, 1.5, 0.2],\n [5. , 3.6, 1.4, 0.2],\n [5.4, 3.9, 1.7, 0.4],\n [4.6, 3.4, 1.4, 0.3],\n [5. , 3.4, 1.5, 0.2],\n [4.4, 2.9, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5.4, 3.7, 1.5, 0.2],\n [4.8, 3.4, 1.6, 0.2],\n [4.8, 3. , 1.4, 0.1],\n [4.3, 3. , 1.1, 0.1],\n [5.8, 4. , 1.2, 0.2],\n [5.7, 4.4, 1.5, 0.4],\n [5.4, 3.9, 1.3, 0.4],\n [5.1, 3.5, 1.4, 0.3],\n [5.7, 3.8, 1.7, 0.3],\n [5.1, 3.8, 1.5, 0.3],\n [5.4, 3.4, 1.7, 0.2],\n [5.1, 3.7, 1.5, 0.4],\n [4.6, 3.6, 1. , 0.2],\n [5.1, 3.3, 1.7, 0.5],\n [4.8, 3.4, 1.9, 0.2],\n [5. , 3. , 1.6, 0.2],\n [5. , 3.4, 1.6, 0.4],\n [5.2, 3.5, 1.5, 0.2],\n [5.2, 3.4, 1.4, 0.2],\n [4.7, 3.2, 1.6, 0.2],\n [4.8, 3.1, 1.6, 0.2],\n [5.4, 3.4, 1.5, 0.4],\n [5.2, 4.1, 1.5, 0.1],\n [5.5, 4.2, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5. , 3.2, 1.2, 0.2],\n [5.5, 3.5, 1.3, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [4.4, 3. , 1.3, 0.2],\n [5.1, 3.4, 1.5, 0.2],\n [5. , 3.5, 1.3, 0.3],\n [4.5, 2.3, 1.3, 0.3],\n [4.4, 3.2, 1.3, 0.2],\n [5. , 3.5, 1.6, 0.6],\n [5.1, 3.8, 1.9, 0.4],\n [4.8, 3. , 1.4, 0.3],\n [5.1, 3.8, 1.6, 0.2],\n [4.6, 3.2, 1.4, 0.2],\n [5.3, 3.7, 1.5, 0.2],\n [5. , 3.3, 1.4, 0.2],\n [7. , 3.2, 4.7, 1.4],\n [6.4, 3.2, 4.5, 1.5],\n [6.9, 3.1, 4.9, 1.5],\n [5.5, 2.3, 4. , 1.3],\n [6.5, 2.8, 4.6, 1.5],\n [5.7, 2.8, 4.5, 1.3],\n [6.3, 3.3, 4.7, 1.6],\n [4.9, 2.4, 3.3, 1. ],\n [6.6, 2.9, 4.6, 1.3],\n [5.2, 2.7, 3.9, 1.4],\n [5. , 2. , 3.5, 1. ],\n [5.9, 3. , 4.2, 1.5],\n [6. , 2.2, 4. , 1. ],\n [6.1, 2.9, 4.7, 1.4],\n [5.6, 2.9, 3.6, 1.3],\n [6.7, 3.1, 4.4, 1.4],\n [5.6, 3. , 4.5, 1.5],\n [5.8, 2.7, 4.1, 1. ],\n [6.2, 2.2, 4.5, 1.5],\n [5.6, 2.5, 3.9, 1.1],\n [5.9, 3.2, 4.8, 1.8],\n [6.1, 2.8, 4. , 1.3],\n [6.3, 2.5, 4.9, 1.5],\n [6.1, 2.8, 4.7, 1.2],\n [6.4, 2.9, 4.3, 1.3],\n [6.6, 3. , 4.4, 1.4],\n [6.8, 2.8, 4.8, 1.4],\n [6.7, 3. , 5. , 1.7],\n [6. , 2.9, 4.5, 1.5],\n [5.7, 2.6, 3.5, 1. ],\n [5.5, 2.4, 3.8, 1.1],\n [5.5, 2.4, 3.7, 1. ],\n [5.8, 2.7, 3.9, 1.2],\n [6. , 2.7, 5.1, 1.6],\n [5.4, 3. , 4.5, 1.5],\n [6. , 3.4, 4.5, 1.6],\n [6.7, 3.1, 4.7, 1.5],\n [6.3, 2.3, 4.4, 1.3],\n [5.6, 3. , 4.1, 1.3],\n [5.5, 2.5, 4. , 1.3],\n [5.5, 2.6, 4.4, 1.2],\n [6.1, 3. , 4.6, 1.4],\n [5.8, 2.6, 4. , 1.2],\n [5. , 2.3, 3.3, 1. ],\n [5.6, 2.7, 4.2, 1.3],\n [5.7, 3. , 4.2, 1.2],\n [5.7, 2.9, 4.2, 1.3],\n [6.2, 2.9, 4.3, 1.3],\n [5.1, 2.5, 3. , 1.1],\n [5.7, 2.8, 4.1, 1.3],\n [6.3, 3.3, 6. , 2.5],\n [5.8, 2.7, 5.1, 1.9],\n [7.1, 3. , 5.9, 2.1],\n [6.3, 2.9, 5.6, 1.8],\n [6.5, 3. , 5.8, 2.2],\n [7.6, 3. , 6.6, 2.1],\n [4.9, 2.5, 4.5, 1.7],\n [7.3, 2.9, 6.3, 1.8],\n [6.7, 2.5, 5.8, 1.8],\n [7.2, 3.6, 6.1, 2.5],\n [6.5, 3.2, 5.1, 2. ],\n [6.4, 2.7, 5.3, 1.9],\n [6.8, 3. , 5.5, 2.1],\n [5.7, 2.5, 5. , 2. ],\n [5.8, 2.8, 5.1, 2.4],\n [6.4, 3.2, 5.3, 2.3],\n [6.5, 3. , 5.5, 1.8],\n [7.7, 3.8, 6.7, 2.2],\n [7.7, 2.6, 6.9, 2.3],\n [6. , 2.2, 5. , 1.5],\n [6.9, 3.2, 5.7, 2.3],\n [5.6, 2.8, 4.9, 2. ],\n [7.7, 2.8, 6.7, 2. ],\n [6.3, 2.7, 4.9, 1.8],\n [6.7, 3.3, 5.7, 2.1],\n [7.2, 3.2, 6. , 1.8],\n [6.2, 2.8, 4.8, 1.8],\n [6.1, 3. , 4.9, 1.8],\n [6.4, 2.8, 5.6, 2.1],\n [7.2, 3. , 5.8, 1.6],\n [7.4, 2.8, 6.1, 1.9],\n [7.9, 3.8, 6.4, 2. ],\n [6.4, 2.8, 5.6, 2.2],\n [6.3, 2.8, 5.1, 1.5],\n [6.1, 2.6, 5.6, 1.4],\n [7.7, 3. , 6.1, 2.3],\n [6.3, 3.4, 5.6, 2.4],\n [6.4, 3.1, 5.5, 1.8],\n [6. , 3. , 4.8, 1.8],\n [6.9, 3.1, 5.4, 2.1],\n [6.7, 3.1, 5.6, 2.4],\n [6.9, 3.1, 5.1, 2.3],\n [5.8, 2.7, 5.1, 1.9],\n [6.8, 3.2, 5.9, 2.3],\n [6.7, 3.3, 5.7, 2.5],\n [6.7, 3. , 5.2, 2.3],\n [6.3, 2.5, 5. , 1.9],\n [6.5, 3. , 5.2, 2. ],\n [6.2, 3.4, 5.4, 2.3],\n [5.9, 3. , 5.1, 1.8]]), 2, 5, 50, 1137, False, 4, True, 150, True, True, True)]"}}

@ -0,0 +1 @@
{"duration": 0.9194879531860352, "input_args": {"listofParamsPlusData": "[(array([[5.1, 3.5, 1.4, 0.2],\n [4.9, 3. , 1.4, 0.2],\n [4.7, 3.2, 1.3, 0.2],\n [4.6, 3.1, 1.5, 0.2],\n [5. , 3.6, 1.4, 0.2],\n [5.4, 3.9, 1.7, 0.4],\n [4.6, 3.4, 1.4, 0.3],\n [5. , 3.4, 1.5, 0.2],\n [4.4, 2.9, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5.4, 3.7, 1.5, 0.2],\n [4.8, 3.4, 1.6, 0.2],\n [4.8, 3. , 1.4, 0.1],\n [4.3, 3. , 1.1, 0.1],\n [5.8, 4. , 1.2, 0.2],\n [5.7, 4.4, 1.5, 0.4],\n [5.4, 3.9, 1.3, 0.4],\n [5.1, 3.5, 1.4, 0.3],\n [5.7, 3.8, 1.7, 0.3],\n [5.1, 3.8, 1.5, 0.3],\n [5.4, 3.4, 1.7, 0.2],\n [5.1, 3.7, 1.5, 0.4],\n [4.6, 3.6, 1. , 0.2],\n [5.1, 3.3, 1.7, 0.5],\n [4.8, 3.4, 1.9, 0.2],\n [5. , 3. , 1.6, 0.2],\n [5. , 3.4, 1.6, 0.4],\n [5.2, 3.5, 1.5, 0.2],\n [5.2, 3.4, 1.4, 0.2],\n [4.7, 3.2, 1.6, 0.2],\n [4.8, 3.1, 1.6, 0.2],\n [5.4, 3.4, 1.5, 0.4],\n [5.2, 4.1, 1.5, 0.1],\n [5.5, 4.2, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5. , 3.2, 1.2, 0.2],\n [5.5, 3.5, 1.3, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [4.4, 3. , 1.3, 0.2],\n [5.1, 3.4, 1.5, 0.2],\n [5. , 3.5, 1.3, 0.3],\n [4.5, 2.3, 1.3, 0.3],\n [4.4, 3.2, 1.3, 0.2],\n [5. , 3.5, 1.6, 0.6],\n [5.1, 3.8, 1.9, 0.4],\n [4.8, 3. , 1.4, 0.3],\n [5.1, 3.8, 1.6, 0.2],\n [4.6, 3.2, 1.4, 0.2],\n [5.3, 3.7, 1.5, 0.2],\n [5. , 3.3, 1.4, 0.2],\n [7. , 3.2, 4.7, 1.4],\n [6.4, 3.2, 4.5, 1.5],\n [6.9, 3.1, 4.9, 1.5],\n [5.5, 2.3, 4. , 1.3],\n [6.5, 2.8, 4.6, 1.5],\n [5.7, 2.8, 4.5, 1.3],\n [6.3, 3.3, 4.7, 1.6],\n [4.9, 2.4, 3.3, 1. ],\n [6.6, 2.9, 4.6, 1.3],\n [5.2, 2.7, 3.9, 1.4],\n [5. , 2. , 3.5, 1. ],\n [5.9, 3. , 4.2, 1.5],\n [6. , 2.2, 4. , 1. ],\n [6.1, 2.9, 4.7, 1.4],\n [5.6, 2.9, 3.6, 1.3],\n [6.7, 3.1, 4.4, 1.4],\n [5.6, 3. , 4.5, 1.5],\n [5.8, 2.7, 4.1, 1. ],\n [6.2, 2.2, 4.5, 1.5],\n [5.6, 2.5, 3.9, 1.1],\n [5.9, 3.2, 4.8, 1.8],\n [6.1, 2.8, 4. , 1.3],\n [6.3, 2.5, 4.9, 1.5],\n [6.1, 2.8, 4.7, 1.2],\n [6.4, 2.9, 4.3, 1.3],\n [6.6, 3. , 4.4, 1.4],\n [6.8, 2.8, 4.8, 1.4],\n [6.7, 3. , 5. , 1.7],\n [6. , 2.9, 4.5, 1.5],\n [5.7, 2.6, 3.5, 1. ],\n [5.5, 2.4, 3.8, 1.1],\n [5.5, 2.4, 3.7, 1. ],\n [5.8, 2.7, 3.9, 1.2],\n [6. , 2.7, 5.1, 1.6],\n [5.4, 3. , 4.5, 1.5],\n [6. , 3.4, 4.5, 1.6],\n [6.7, 3.1, 4.7, 1.5],\n [6.3, 2.3, 4.4, 1.3],\n [5.6, 3. , 4.1, 1.3],\n [5.5, 2.5, 4. , 1.3],\n [5.5, 2.6, 4.4, 1.2],\n [6.1, 3. , 4.6, 1.4],\n [5.8, 2.6, 4. , 1.2],\n [5. , 2.3, 3.3, 1. ],\n [5.6, 2.7, 4.2, 1.3],\n [5.7, 3. , 4.2, 1.2],\n [5.7, 2.9, 4.2, 1.3],\n [6.2, 2.9, 4.3, 1.3],\n [5.1, 2.5, 3. , 1.1],\n [5.7, 2.8, 4.1, 1.3],\n [6.3, 3.3, 6. , 2.5],\n [5.8, 2.7, 5.1, 1.9],\n [7.1, 3. , 5.9, 2.1],\n [6.3, 2.9, 5.6, 1.8],\n [6.5, 3. , 5.8, 2.2],\n [7.6, 3. , 6.6, 2.1],\n [4.9, 2.5, 4.5, 1.7],\n [7.3, 2.9, 6.3, 1.8],\n [6.7, 2.5, 5.8, 1.8],\n [7.2, 3.6, 6.1, 2.5],\n [6.5, 3.2, 5.1, 2. ],\n [6.4, 2.7, 5.3, 1.9],\n [6.8, 3. , 5.5, 2.1],\n [5.7, 2.5, 5. , 2. ],\n [5.8, 2.8, 5.1, 2.4],\n [6.4, 3.2, 5.3, 2.3],\n [6.5, 3. , 5.5, 1.8],\n [7.7, 3.8, 6.7, 2.2],\n [7.7, 2.6, 6.9, 2.3],\n [6. , 2.2, 5. , 1.5],\n [6.9, 3.2, 5.7, 2.3],\n [5.6, 2.8, 4.9, 2. ],\n [7.7, 2.8, 6.7, 2. ],\n [6.3, 2.7, 4.9, 1.8],\n [6.7, 3.3, 5.7, 2.1],\n [7.2, 3.2, 6. , 1.8],\n [6.2, 2.8, 4.8, 1.8],\n [6.1, 3. , 4.9, 1.8],\n [6.4, 2.8, 5.6, 2.1],\n [7.2, 3. , 5.8, 1.6],\n [7.4, 2.8, 6.1, 1.9],\n [7.9, 3.8, 6.4, 2. ],\n [6.4, 2.8, 5.6, 2.2],\n [6.3, 2.8, 5.1, 1.5],\n [6.1, 2.6, 5.6, 1.4],\n [7.7, 3. , 6.1, 2.3],\n [6.3, 3.4, 5.6, 2.4],\n [6.4, 3.1, 5.5, 1.8],\n [6. , 3. , 4.8, 1.8],\n [6.9, 3.1, 5.4, 2.1],\n [6.7, 3.1, 5.6, 2.4],\n [6.9, 3.1, 5.1, 2.3],\n [5.8, 2.7, 5.1, 1.9],\n [6.8, 3.2, 5.9, 2.3],\n [6.7, 3.3, 5.7, 2.5],\n [6.7, 3. , 5.2, 2.3],\n [6.3, 2.5, 5. , 1.9],\n [6.5, 3. , 5.2, 2. ],\n [6.2, 3.4, 5.4, 2.3],\n [5.9, 3. , 5.1, 1.8]]), 2, 30, 1, 1137, False, 4, True, 500, True, True, True)]"}}

@ -0,0 +1 @@
{"duration": 0.9054958820343018, "input_args": {"listofParamsPlusData": "[(array([[5.1, 3.5, 1.4, 0.2],\n [4.9, 3. , 1.4, 0.2],\n [4.7, 3.2, 1.3, 0.2],\n [4.6, 3.1, 1.5, 0.2],\n [5. , 3.6, 1.4, 0.2],\n [5.4, 3.9, 1.7, 0.4],\n [4.6, 3.4, 1.4, 0.3],\n [5. , 3.4, 1.5, 0.2],\n [4.4, 2.9, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5.4, 3.7, 1.5, 0.2],\n [4.8, 3.4, 1.6, 0.2],\n [4.8, 3. , 1.4, 0.1],\n [4.3, 3. , 1.1, 0.1],\n [5.8, 4. , 1.2, 0.2],\n [5.7, 4.4, 1.5, 0.4],\n [5.4, 3.9, 1.3, 0.4],\n [5.1, 3.5, 1.4, 0.3],\n [5.7, 3.8, 1.7, 0.3],\n [5.1, 3.8, 1.5, 0.3],\n [5.4, 3.4, 1.7, 0.2],\n [5.1, 3.7, 1.5, 0.4],\n [4.6, 3.6, 1. , 0.2],\n [5.1, 3.3, 1.7, 0.5],\n [4.8, 3.4, 1.9, 0.2],\n [5. , 3. , 1.6, 0.2],\n [5. , 3.4, 1.6, 0.4],\n [5.2, 3.5, 1.5, 0.2],\n [5.2, 3.4, 1.4, 0.2],\n [4.7, 3.2, 1.6, 0.2],\n [4.8, 3.1, 1.6, 0.2],\n [5.4, 3.4, 1.5, 0.4],\n [5.2, 4.1, 1.5, 0.1],\n [5.5, 4.2, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5. , 3.2, 1.2, 0.2],\n [5.5, 3.5, 1.3, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [4.4, 3. , 1.3, 0.2],\n [5.1, 3.4, 1.5, 0.2],\n [5. , 3.5, 1.3, 0.3],\n [4.5, 2.3, 1.3, 0.3],\n [4.4, 3.2, 1.3, 0.2],\n [5. , 3.5, 1.6, 0.6],\n [5.1, 3.8, 1.9, 0.4],\n [4.8, 3. , 1.4, 0.3],\n [5.1, 3.8, 1.6, 0.2],\n [4.6, 3.2, 1.4, 0.2],\n [5.3, 3.7, 1.5, 0.2],\n [5. , 3.3, 1.4, 0.2],\n [7. , 3.2, 4.7, 1.4],\n [6.4, 3.2, 4.5, 1.5],\n [6.9, 3.1, 4.9, 1.5],\n [5.5, 2.3, 4. , 1.3],\n [6.5, 2.8, 4.6, 1.5],\n [5.7, 2.8, 4.5, 1.3],\n [6.3, 3.3, 4.7, 1.6],\n [4.9, 2.4, 3.3, 1. ],\n [6.6, 2.9, 4.6, 1.3],\n [5.2, 2.7, 3.9, 1.4],\n [5. , 2. , 3.5, 1. ],\n [5.9, 3. , 4.2, 1.5],\n [6. , 2.2, 4. , 1. ],\n [6.1, 2.9, 4.7, 1.4],\n [5.6, 2.9, 3.6, 1.3],\n [6.7, 3.1, 4.4, 1.4],\n [5.6, 3. , 4.5, 1.5],\n [5.8, 2.7, 4.1, 1. ],\n [6.2, 2.2, 4.5, 1.5],\n [5.6, 2.5, 3.9, 1.1],\n [5.9, 3.2, 4.8, 1.8],\n [6.1, 2.8, 4. , 1.3],\n [6.3, 2.5, 4.9, 1.5],\n [6.1, 2.8, 4.7, 1.2],\n [6.4, 2.9, 4.3, 1.3],\n [6.6, 3. , 4.4, 1.4],\n [6.8, 2.8, 4.8, 1.4],\n [6.7, 3. , 5. , 1.7],\n [6. , 2.9, 4.5, 1.5],\n [5.7, 2.6, 3.5, 1. ],\n [5.5, 2.4, 3.8, 1.1],\n [5.5, 2.4, 3.7, 1. ],\n [5.8, 2.7, 3.9, 1.2],\n [6. , 2.7, 5.1, 1.6],\n [5.4, 3. , 4.5, 1.5],\n [6. , 3.4, 4.5, 1.6],\n [6.7, 3.1, 4.7, 1.5],\n [6.3, 2.3, 4.4, 1.3],\n [5.6, 3. , 4.1, 1.3],\n [5.5, 2.5, 4. , 1.3],\n [5.5, 2.6, 4.4, 1.2],\n [6.1, 3. , 4.6, 1.4],\n [5.8, 2.6, 4. , 1.2],\n [5. , 2.3, 3.3, 1. ],\n [5.6, 2.7, 4.2, 1.3],\n [5.7, 3. , 4.2, 1.2],\n [5.7, 2.9, 4.2, 1.3],\n [6.2, 2.9, 4.3, 1.3],\n [5.1, 2.5, 3. , 1.1],\n [5.7, 2.8, 4.1, 1.3],\n [6.3, 3.3, 6. , 2.5],\n [5.8, 2.7, 5.1, 1.9],\n [7.1, 3. , 5.9, 2.1],\n [6.3, 2.9, 5.6, 1.8],\n [6.5, 3. , 5.8, 2.2],\n [7.6, 3. , 6.6, 2.1],\n [4.9, 2.5, 4.5, 1.7],\n [7.3, 2.9, 6.3, 1.8],\n [6.7, 2.5, 5.8, 1.8],\n [7.2, 3.6, 6.1, 2.5],\n [6.5, 3.2, 5.1, 2. ],\n [6.4, 2.7, 5.3, 1.9],\n [6.8, 3. , 5.5, 2.1],\n [5.7, 2.5, 5. , 2. ],\n [5.8, 2.8, 5.1, 2.4],\n [6.4, 3.2, 5.3, 2.3],\n [6.5, 3. , 5.5, 1.8],\n [7.7, 3.8, 6.7, 2.2],\n [7.7, 2.6, 6.9, 2.3],\n [6. , 2.2, 5. , 1.5],\n [6.9, 3.2, 5.7, 2.3],\n [5.6, 2.8, 4.9, 2. ],\n [7.7, 2.8, 6.7, 2. ],\n [6.3, 2.7, 4.9, 1.8],\n [6.7, 3.3, 5.7, 2.1],\n [7.2, 3.2, 6. , 1.8],\n [6.2, 2.8, 4.8, 1.8],\n [6.1, 3. , 4.9, 1.8],\n [6.4, 2.8, 5.6, 2.1],\n [7.2, 3. , 5.8, 1.6],\n [7.4, 2.8, 6.1, 1.9],\n [7.9, 3.8, 6.4, 2. ],\n [6.4, 2.8, 5.6, 2.2],\n [6.3, 2.8, 5.1, 1.5],\n [6.1, 2.6, 5.6, 1.4],\n [7.7, 3. , 6.1, 2.3],\n [6.3, 3.4, 5.6, 2.4],\n [6.4, 3.1, 5.5, 1.8],\n [6. , 3. , 4.8, 1.8],\n [6.9, 3.1, 5.4, 2.1],\n [6.7, 3.1, 5.6, 2.4],\n [6.9, 3.1, 5.1, 2.3],\n [5.8, 2.7, 5.1, 1.9],\n [6.8, 3.2, 5.9, 2.3],\n [6.7, 3.3, 5.7, 2.5],\n [6.7, 3. , 5.2, 2.3],\n [6.3, 2.5, 5. , 1.9],\n [6.5, 3. , 5.2, 2. ],\n [6.2, 3.4, 5.4, 2.3],\n [5.9, 3. , 5.1, 1.8]]), 2, 30, 2, 1137, False, 4, True, 500, True, True, True)]"}}

@ -0,0 +1 @@
{"duration": 0.6906089782714844, "input_args": {"listofParamsPlusData": "[(array([[5.1, 3.5, 1.4, 0.2],\n [4.9, 3. , 1.4, 0.2],\n [4.7, 3.2, 1.3, 0.2],\n [4.6, 3.1, 1.5, 0.2],\n [5. , 3.6, 1.4, 0.2],\n [5.4, 3.9, 1.7, 0.4],\n [4.6, 3.4, 1.4, 0.3],\n [5. , 3.4, 1.5, 0.2],\n [4.4, 2.9, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5.4, 3.7, 1.5, 0.2],\n [4.8, 3.4, 1.6, 0.2],\n [4.8, 3. , 1.4, 0.1],\n [4.3, 3. , 1.1, 0.1],\n [5.8, 4. , 1.2, 0.2],\n [5.7, 4.4, 1.5, 0.4],\n [5.4, 3.9, 1.3, 0.4],\n [5.1, 3.5, 1.4, 0.3],\n [5.7, 3.8, 1.7, 0.3],\n [5.1, 3.8, 1.5, 0.3],\n [5.4, 3.4, 1.7, 0.2],\n [5.1, 3.7, 1.5, 0.4],\n [4.6, 3.6, 1. , 0.2],\n [5.1, 3.3, 1.7, 0.5],\n [4.8, 3.4, 1.9, 0.2],\n [5. , 3. , 1.6, 0.2],\n [5. , 3.4, 1.6, 0.4],\n [5.2, 3.5, 1.5, 0.2],\n [5.2, 3.4, 1.4, 0.2],\n [4.7, 3.2, 1.6, 0.2],\n [4.8, 3.1, 1.6, 0.2],\n [5.4, 3.4, 1.5, 0.4],\n [5.2, 4.1, 1.5, 0.1],\n [5.5, 4.2, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5. , 3.2, 1.2, 0.2],\n [5.5, 3.5, 1.3, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [4.4, 3. , 1.3, 0.2],\n [5.1, 3.4, 1.5, 0.2],\n [5. , 3.5, 1.3, 0.3],\n [4.5, 2.3, 1.3, 0.3],\n [4.4, 3.2, 1.3, 0.2],\n [5. , 3.5, 1.6, 0.6],\n [5.1, 3.8, 1.9, 0.4],\n [4.8, 3. , 1.4, 0.3],\n [5.1, 3.8, 1.6, 0.2],\n [4.6, 3.2, 1.4, 0.2],\n [5.3, 3.7, 1.5, 0.2],\n [5. , 3.3, 1.4, 0.2],\n [7. , 3.2, 4.7, 1.4],\n [6.4, 3.2, 4.5, 1.5],\n [6.9, 3.1, 4.9, 1.5],\n [5.5, 2.3, 4. , 1.3],\n [6.5, 2.8, 4.6, 1.5],\n [5.7, 2.8, 4.5, 1.3],\n [6.3, 3.3, 4.7, 1.6],\n [4.9, 2.4, 3.3, 1. ],\n [6.6, 2.9, 4.6, 1.3],\n [5.2, 2.7, 3.9, 1.4],\n [5. , 2. , 3.5, 1. ],\n [5.9, 3. , 4.2, 1.5],\n [6. , 2.2, 4. , 1. ],\n [6.1, 2.9, 4.7, 1.4],\n [5.6, 2.9, 3.6, 1.3],\n [6.7, 3.1, 4.4, 1.4],\n [5.6, 3. , 4.5, 1.5],\n [5.8, 2.7, 4.1, 1. ],\n [6.2, 2.2, 4.5, 1.5],\n [5.6, 2.5, 3.9, 1.1],\n [5.9, 3.2, 4.8, 1.8],\n [6.1, 2.8, 4. , 1.3],\n [6.3, 2.5, 4.9, 1.5],\n [6.1, 2.8, 4.7, 1.2],\n [6.4, 2.9, 4.3, 1.3],\n [6.6, 3. , 4.4, 1.4],\n [6.8, 2.8, 4.8, 1.4],\n [6.7, 3. , 5. , 1.7],\n [6. , 2.9, 4.5, 1.5],\n [5.7, 2.6, 3.5, 1. ],\n [5.5, 2.4, 3.8, 1.1],\n [5.5, 2.4, 3.7, 1. ],\n [5.8, 2.7, 3.9, 1.2],\n [6. , 2.7, 5.1, 1.6],\n [5.4, 3. , 4.5, 1.5],\n [6. , 3.4, 4.5, 1.6],\n [6.7, 3.1, 4.7, 1.5],\n [6.3, 2.3, 4.4, 1.3],\n [5.6, 3. , 4.1, 1.3],\n [5.5, 2.5, 4. , 1.3],\n [5.5, 2.6, 4.4, 1.2],\n [6.1, 3. , 4.6, 1.4],\n [5.8, 2.6, 4. , 1.2],\n [5. , 2.3, 3.3, 1. ],\n [5.6, 2.7, 4.2, 1.3],\n [5.7, 3. , 4.2, 1.2],\n [5.7, 2.9, 4.2, 1.3],\n [6.2, 2.9, 4.3, 1.3],\n [5.1, 2.5, 3. , 1.1],\n [5.7, 2.8, 4.1, 1.3],\n [6.3, 3.3, 6. , 2.5],\n [5.8, 2.7, 5.1, 1.9],\n [7.1, 3. , 5.9, 2.1],\n [6.3, 2.9, 5.6, 1.8],\n [6.5, 3. , 5.8, 2.2],\n [7.6, 3. , 6.6, 2.1],\n [4.9, 2.5, 4.5, 1.7],\n [7.3, 2.9, 6.3, 1.8],\n [6.7, 2.5, 5.8, 1.8],\n [7.2, 3.6, 6.1, 2.5],\n [6.5, 3.2, 5.1, 2. ],\n [6.4, 2.7, 5.3, 1.9],\n [6.8, 3. , 5.5, 2.1],\n [5.7, 2.5, 5. , 2. ],\n [5.8, 2.8, 5.1, 2.4],\n [6.4, 3.2, 5.3, 2.3],\n [6.5, 3. , 5.5, 1.8],\n [7.7, 3.8, 6.7, 2.2],\n [7.7, 2.6, 6.9, 2.3],\n [6. , 2.2, 5. , 1.5],\n [6.9, 3.2, 5.7, 2.3],\n [5.6, 2.8, 4.9, 2. ],\n [7.7, 2.8, 6.7, 2. ],\n [6.3, 2.7, 4.9, 1.8],\n [6.7, 3.3, 5.7, 2.1],\n [7.2, 3.2, 6. , 1.8],\n [6.2, 2.8, 4.8, 1.8],\n [6.1, 3. , 4.9, 1.8],\n [6.4, 2.8, 5.6, 2.1],\n [7.2, 3. , 5.8, 1.6],\n [7.4, 2.8, 6.1, 1.9],\n [7.9, 3.8, 6.4, 2. ],\n [6.4, 2.8, 5.6, 2.2],\n [6.3, 2.8, 5.1, 1.5],\n [6.1, 2.6, 5.6, 1.4],\n [7.7, 3. , 6.1, 2.3],\n [6.3, 3.4, 5.6, 2.4],\n [6.4, 3.1, 5.5, 1.8],\n [6. , 3. , 4.8, 1.8],\n [6.9, 3.1, 5.4, 2.1],\n [6.7, 3.1, 5.6, 2.4],\n [6.9, 3.1, 5.1, 2.3],\n [5.8, 2.7, 5.1, 1.9],\n [6.8, 3.2, 5.9, 2.3],\n [6.7, 3.3, 5.7, 2.5],\n [6.7, 3. , 5.2, 2.3],\n [6.3, 2.5, 5. , 1.9],\n [6.5, 3. , 5.2, 2. ],\n [6.2, 3.4, 5.4, 2.3],\n [5.9, 3. , 5.1, 1.8]]), 2, 10, 10, 1137, False, 4, True, 500, True, True, True)]"}}

@ -0,0 +1 @@
{"duration": 0.7937450408935547, "input_args": {"listofParamsPlusData": "[(array([[5.1, 3.5, 1.4, 0.2],\n [4.9, 3. , 1.4, 0.2],\n [4.7, 3.2, 1.3, 0.2],\n [4.6, 3.1, 1.5, 0.2],\n [5. , 3.6, 1.4, 0.2],\n [5.4, 3.9, 1.7, 0.4],\n [4.6, 3.4, 1.4, 0.3],\n [5. , 3.4, 1.5, 0.2],\n [4.4, 2.9, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5.4, 3.7, 1.5, 0.2],\n [4.8, 3.4, 1.6, 0.2],\n [4.8, 3. , 1.4, 0.1],\n [4.3, 3. , 1.1, 0.1],\n [5.8, 4. , 1.2, 0.2],\n [5.7, 4.4, 1.5, 0.4],\n [5.4, 3.9, 1.3, 0.4],\n [5.1, 3.5, 1.4, 0.3],\n [5.7, 3.8, 1.7, 0.3],\n [5.1, 3.8, 1.5, 0.3],\n [5.4, 3.4, 1.7, 0.2],\n [5.1, 3.7, 1.5, 0.4],\n [4.6, 3.6, 1. , 0.2],\n [5.1, 3.3, 1.7, 0.5],\n [4.8, 3.4, 1.9, 0.2],\n [5. , 3. , 1.6, 0.2],\n [5. , 3.4, 1.6, 0.4],\n [5.2, 3.5, 1.5, 0.2],\n [5.2, 3.4, 1.4, 0.2],\n [4.7, 3.2, 1.6, 0.2],\n [4.8, 3.1, 1.6, 0.2],\n [5.4, 3.4, 1.5, 0.4],\n [5.2, 4.1, 1.5, 0.1],\n [5.5, 4.2, 1.4, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [5. , 3.2, 1.2, 0.2],\n [5.5, 3.5, 1.3, 0.2],\n [4.9, 3.1, 1.5, 0.1],\n [4.4, 3. , 1.3, 0.2],\n [5.1, 3.4, 1.5, 0.2],\n [5. , 3.5, 1.3, 0.3],\n [4.5, 2.3, 1.3, 0.3],\n [4.4, 3.2, 1.3, 0.2],\n [5. , 3.5, 1.6, 0.6],\n [5.1, 3.8, 1.9, 0.4],\n [4.8, 3. , 1.4, 0.3],\n [5.1, 3.8, 1.6, 0.2],\n [4.6, 3.2, 1.4, 0.2],\n [5.3, 3.7, 1.5, 0.2],\n [5. , 3.3, 1.4, 0.2],\n [7. , 3.2, 4.7, 1.4],\n [6.4, 3.2, 4.5, 1.5],\n [6.9, 3.1, 4.9, 1.5],\n [5.5, 2.3, 4. , 1.3],\n [6.5, 2.8, 4.6, 1.5],\n [5.7, 2.8, 4.5, 1.3],\n [6.3, 3.3, 4.7, 1.6],\n [4.9, 2.4, 3.3, 1. ],\n [6.6, 2.9, 4.6, 1.3],\n [5.2, 2.7, 3.9, 1.4],\n [5. , 2. , 3.5, 1. ],\n [5.9, 3. , 4.2, 1.5],\n [6. , 2.2, 4. , 1. ],\n [6.1, 2.9, 4.7, 1.4],\n [5.6, 2.9, 3.6, 1.3],\n [6.7, 3.1, 4.4, 1.4],\n [5.6, 3. , 4.5, 1.5],\n [5.8, 2.7, 4.1, 1. ],\n [6.2, 2.2, 4.5, 1.5],\n [5.6, 2.5, 3.9, 1.1],\n [5.9, 3.2, 4.8, 1.8],\n [6.1, 2.8, 4. , 1.3],\n [6.3, 2.5, 4.9, 1.5],\n [6.1, 2.8, 4.7, 1.2],\n [6.4, 2.9, 4.3, 1.3],\n [6.6, 3. , 4.4, 1.4],\n [6.8, 2.8, 4.8, 1.4],\n [6.7, 3. , 5. , 1.7],\n [6. , 2.9, 4.5, 1.5],\n [5.7, 2.6, 3.5, 1. ],\n [5.5, 2.4, 3.8, 1.1],\n [5.5, 2.4, 3.7, 1. ],\n [5.8, 2.7, 3.9, 1.2],\n [6. , 2.7, 5.1, 1.6],\n [5.4, 3. , 4.5, 1.5],\n [6. , 3.4, 4.5, 1.6],\n [6.7, 3.1, 4.7, 1.5],\n [6.3, 2.3, 4.4, 1.3],\n [5.6, 3. , 4.1, 1.3],\n [5.5, 2.5, 4. , 1.3],\n [5.5, 2.6, 4.4, 1.2],\n [6.1, 3. , 4.6, 1.4],\n [5.8, 2.6, 4. , 1.2],\n [5. , 2.3, 3.3, 1. ],\n [5.6, 2.7, 4.2, 1.3],\n [5.7, 3. , 4.2, 1.2],\n [5.7, 2.9, 4.2, 1.3],\n [6.2, 2.9, 4.3, 1.3],\n [5.1, 2.5, 3. , 1.1],\n [5.7, 2.8, 4.1, 1.3],\n [6.3, 3.3, 6. , 2.5],\n [5.8, 2.7, 5.1, 1.9],\n [7.1, 3. , 5.9, 2.1],\n [6.3, 2.9, 5.6, 1.8],\n [6.5, 3. , 5.8, 2.2],\n [7.6, 3. , 6.6, 2.1],\n [4.9, 2.5, 4.5, 1.7],\n [7.3, 2.9, 6.3, 1.8],\n [6.7, 2.5, 5.8, 1.8],\n [7.2, 3.6, 6.1, 2.5],\n [6.5, 3.2, 5.1, 2. ],\n [6.4, 2.7, 5.3, 1.9],\n [6.8, 3. , 5.5, 2.1],\n [5.7, 2.5, 5. , 2. ],\n [5.8, 2.8, 5.1, 2.4],\n [6.4, 3.2, 5.3, 2.3],\n [6.5, 3. , 5.5, 1.8],\n [7.7, 3.8, 6.7, 2.2],\n [7.7, 2.6, 6.9, 2.3],\n [6. , 2.2, 5. , 1.5],\n [6.9, 3.2, 5.7, 2.3],\n [5.6, 2.8, 4.9, 2. ],\n [7.7, 2.8, 6.7, 2. ],\n [6.3, 2.7, 4.9, 1.8],\n [6.7, 3.3, 5.7, 2.1],\n [7.2, 3.2, 6. , 1.8],\n [6.2, 2.8, 4.8, 1.8],\n [6.1, 3. , 4.9, 1.8],\n [6.4, 2.8, 5.6, 2.1],\n [7.2, 3. , 5.8, 1.6],\n [7.4, 2.8, 6.1, 1.9],\n [7.9, 3.8, 6.4, 2. ],\n [6.4, 2.8, 5.6, 2.2],\n [6.3, 2.8, 5.1, 1.5],\n [6.1, 2.6, 5.6, 1.4],\n [7.7, 3. , 6.1, 2.3],\n [6.3, 3.4, 5.6, 2.4],\n [6.4, 3.1, 5.5, 1.8],\n [6. , 3. , 4.8, 1.8],\n [6.9, 3.1, 5.4, 2.1],\n [6.7, 3.1, 5.6, 2.4],\n [6.9, 3.1, 5.1, 2.3],\n [5.8, 2.7, 5.1, 1.9],\n [6.8, 3.2, 5.9, 2.3],\n [6.7, 3.3, 5.7, 2.5],\n [6.7, 3. , 5.2, 2.3],\n [6.3, 2.5, 5. , 1.9],\n [6.5, 3. , 5.2, 2. ],\n [6.2, 3.4, 5.4, 2.3],\n [5.9, 3. , 5.1, 1.8]]), 2, 30, 10, 1137, False, 4, True, 500, True, True, True)]"}}

@ -0,0 +1 @@
{"duration": 8.928506851196289, "input_args": {"listofParamsPlusData": "[(array([[ 5, 1, 1, ..., 3, 1, 1],\n [ 5, 4, 4, ..., 3, 2, 1],\n [ 3, 1, 1, ..., 3, 1, 1],\n ...,\n [ 5, 10, 10, ..., 8, 10, 2],\n [ 4, 8, 6, ..., 10, 6, 1],\n [ 4, 8, 8, ..., 10, 4, 1]]), 2, 30, 10, 1137, False, 9, True, 500, True, True, True)]"}}

@ -1,5 +1,5 @@
# first line: 198 # first line: 217
def wrapGetResults(listofParamsPlusData): def wrapGetResults(listofParamsPlusData):
pool = Pool() pool = Pool()
return pool.map(multi_run_wrapper, listofParamsPlusData) return zip(*pool.map(multi_run_wrapper, listofParamsPlusData))

@ -227,7 +227,7 @@ circle.swatch{
/* Legend of the Overview t-SNE canvas */ /* Legend of the Overview t-SNE canvas */
#legend4 { #legend4 {
height: 7vw; height: 7vw;
width: 5vw; width: 7vw;
margin-left: -20px; margin-left: -20px;
margin-top: -10px; margin-top: -10px;
text-align: left; text-align: left;
@ -512,7 +512,7 @@ ul {
height: 140px; height: 140px;
-webkit-animation: spin 2s linear infinite; /* Safari */ -webkit-animation: spin 2s linear infinite; /* Safari */
animation: spin 2s linear infinite; animation: spin 2s linear infinite;
margin-left: 540px; margin-left: 450px;
margin-top: 500px; margin-top: 500px;
margin-bottom: 500px; margin-bottom: 500px;
} }

@ -104,12 +104,9 @@
</div> </div>
<div class="param"> <div class="param">
<label for="param-learningrate" data-toggle="tooltip" data-placement="right" title="Tip: if the learning rate is too high, the data may look like a ‘ball’ with any point approximately equidistant from its nearest neighbours. If the learning rate is too low, most points may look compressed in a dense cloud with few outliers. If the cost function gets stuck in a bad local minimum increasing the learning rate may help. (Source: https://scikit-learn.org/stable/modules/generated/sklearn.manifold.TSNE.html)">Learning rate</label> <label for="param-learningrate" data-toggle="tooltip" data-placement="right" title="Tip: if the learning rate is too high, the data may look like a ‘ball’ with any point approximately equidistant from its nearest neighbours. If the learning rate is too low, most points may look compressed in a dense cloud with few outliers. If the cost function gets stuck in a bad local minimum increasing the learning rate may help. (Source: https://scikit-learn.org/stable/modules/generated/sklearn.manifold.TSNE.html)">Learning rate</label>
<input id="param-learningrate" type="range" min="1" max="150" value="10", step="1"> <input id="param-learningrate" type="range" min="1" max="150" value="1", step="1">
<output for="param-learningrate" id="param-learningrate-value">10</output> <output for="param-learningrate" id="param-learningrate-value">1</output>
</div> </div>
<div class="param"> <div class="param">
<div class="row"> <div class="row">
<div class="col-md-3"> <div class="col-md-3">
@ -129,36 +126,23 @@
</div> </div>
</div> </div>
<div class="param"> <div class="param" style="margin-top: -10px">
<label for="param-distance" data-toggle="tooltip" data-placement="right" title="Tip: distance different measurements. Usually Euclidean distance is used.">Distance metric</label>
<select id="param-distance" name="param-distance">
<option value="euclideanDist" selected>Euclidean distance</option>
<option value="jaccardDist">Jaccard dissimilarity</option>
</select>
<input id="file-input" type="file" name="name" style="display: none;" /> <input id="file-input" type="file" name="name" style="display: none;" />
<button type="button" class="button" onclick='loadAnalysis();' style="padding:0 12px 0 12px" data-toggle="tooltip" data-placement="right" title="Tip: load previously executed file in .txt format.">Load execut.</button> <button type="button" class="button" onclick='loadAnalysis();' style="padding:15px 12px 15px 12px; margin-left:15px" data-toggle="tooltip" data-placement="right" title="Tip: load previously executed file in .txt format.">Load execution</button>
</div> <button type="button" class="button" onclick="SaveAnalysis()" style="padding:15px 12px 15px 12px; margin-left:20px" data-toggle="tooltip" data-placement="right" title="Tip: save/store previously executed file in .txt format.">Store execution</button>
<div class="param"> <div class="col-md-" style="margin-top: 14px; margin-left:15px">
<label for="param-transform" data-toggle="tooltip" data-placement="right" title="Tip: distance transformation measurements. Usually either no transformation or Log10/Asinh (logarithmic/hyperbolic) distance are used.">Data transform</label>
<select id="param-transform" name="param-transform">
<option value="noTrans" selected>No transform</option>
<option value="logTrans">Log10</option>
<option value="asinhTrans">Asinh</option>
<option value="binTrans">Binarize</option>
</select>
<button type="button" class="button" onclick="SaveAnalysis()" style="padding:0 10px 0 10px" data-toggle="tooltip" data-placement="right" title="Tip: save/store previously executed file in .txt format.">Store execut.</button>
</div>
<div class="row">
<div class="col-md-8">
<p><div id="run-button"><button id="ExecuteBut" class="btn btn-primary btn-block" onclick="getData();" value="Execute new t-SNE analysis" style="margin-top: 4px"><i class="fas fa-running fa-lg" style="margin-right: 10px"></i>Execute new t-SNE analysis</button></div></p>
</div>
<div class="col-md-4" style="margin-top: 10px">
<label data-toggle="tooltip" data-placement="right" title="Tip: if you store distances the file size will be larger but on a loading of this execution it will be processed much quicker than without this option enabled."> <label data-toggle="tooltip" data-placement="right" title="Tip: if you store distances the file size will be larger but on a loading of this execution it will be processed much quicker than without this option enabled.">
<input id="downloadDists" checked type="checkbox" > <input id="downloadDists" checked type="checkbox" >
Distances cached on "Store execution" Distances cached on "Store execution"
</label> </label>
</div> </div>
</div> </div>
<div class="row">
<div class="col-md-12" style="margin-top:10px">
<p><div id="run-button"><button id="ExecuteBut" class="btn btn-primary btn-block" onclick="getData();" value="Execute new t-SNE analysis" style="margin-top: 4px"><i class="fas fa-running fa-lg" style="margin-right: 10px"></i>Execute new t-SNE analysis</button></div></p>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
@ -291,7 +275,7 @@
<svg id="legend1" style = "margin-left: -25px"></svg> <svg id="legend1" style = "margin-left: -25px"></svg>
</div> </div>
<div class="col-md-2"> <div class="col-md-2">
<svg id="legend4" style = "margin-left: -45px"></svg> <svg id="legend4" style = "margin-left: -50px"></svg>
</div> </div>
</div> </div>
<div class="annotationAllClass" style="margin-top: 20px"> <div class="annotationAllClass" style="margin-top: 20px">
@ -318,7 +302,7 @@
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-3" style="margin-top:-4px"> <div class="col-md-3" style="margin-top:-4px">
<div class="panel panel-default" style="padding-bottom : 60px"> <div class="panel panel-default" style="padding-bottom : 70px">
<div class="panel-heading"> <div class="panel-heading">
<h2 class="panel-title" data-toggle="tooltip" data-placement="right" style="display:inline-block" title="Tip: a view related to the overall quality of the projection.">Shepard Heatmap</h2> <h2 class="panel-title" data-toggle="tooltip" data-placement="right" style="display:inline-block" title="Tip: a view related to the overall quality of the projection.">Shepard Heatmap</h2>
<div style="display:inline-block; float:right"> <div style="display:inline-block; float:right">
@ -423,6 +407,7 @@
$("#ExecuteBut").click(function(){ $("#ExecuteBut").click(function(){
var mode = document.getElementById('param-EX-view').value var mode = document.getElementById('param-EX-view').value
mode = parseInt(mode) mode = parseInt(mode)
if (mode == 1) { if (mode == 1) {
$("#myModal").modal('show'); $("#myModal").modal('show');
$('.modal-backdrop').removeClass("modal-backdrop"); $('.modal-backdrop').removeClass("modal-backdrop");
@ -434,7 +419,7 @@
$('#myModal').modal('hide'); $('#myModal').modal('hide');
} }
$("#cost").html('(Unknown Iteration and Cost Values)'); $("#cost").html('(Unknown Overall Cost)');
$("#datasetDetails").html('(Unknown Number of Dimensions and Instances)'); $("#datasetDetails").html('(Unknown Number of Dimensions and Instances)');
$("#CategoryName").html('No Classification'); $("#CategoryName").html('No Classification');
$("#knnBarChartDetails").html('(Number of Selected Points: 0/0)'); $("#knnBarChartDetails").html('(Number of Selected Points: 0/0)');

@ -19,7 +19,7 @@ var dim = document.getElementById('overviewRect').offsetWidth-2; var dimensions
// Category = the name of the category if it exists. The user has to add an asterisk ("*") mark in order to let the program identify this feature as a label/category name. // Category = the name of the category if it exists. The user has to add an asterisk ("*") mark in order to let the program identify this feature as a label/category name.
// ColorsCategorical = the categorical colors (maximum value = 10). // ColorsCategorical = the categorical colors (maximum value = 10).
var Category; var ColorsCategorical; var valCategExists = 0; var Category; var ColorsCategorical; var valCategExists = 0; var insideCall = false;
// This is for the removal of the distances cache. // This is for the removal of the distances cache.
var returnVal = false; var returnVal = false;
@ -34,7 +34,7 @@ var sliderTrigger = false; var sliderInsideTrigger = false; var parameters; var
var inside = 0; var kValuesLegend = []; var findNearestTable = []; var howManyPoints; var inside = 0; var kValuesLegend = []; var findNearestTable = []; var howManyPoints;
var maxKNN = 0 var maxKNN = 0
var mode = 1; var colors = ['#a6cee3','#fb9a99','#b2df8a','#33a02c','#1f78b4','#e31a1c','#fdbf6f','#ff7f00','#cab2d6','#6a3d9a']; var projections = []; var metricsSorting = []; var dataReceivedFromServer = []; var dataReceivedFromServerOptimized = []; var metrics = []; var FocusedIDs = []; var mode = 1; var colors = ['#a6cee3','#fb9a99','#b2df8a','#33a02c','#1f78b4','#e31a1c','#fdbf6f','#ff7f00','#cab2d6','#6a3d9a']; var projections = []; var betas = []; var cost_per_point = []; var cost_overall; var metricsSorting = []; var dataReceivedFromServer = []; var dataReceivedFromServerOptimized = []; var metrics = []; var FocusedIDs = [];
var Category; var target_names = [] var Category; var target_names = []
@ -140,6 +140,9 @@ function ReSort(flagInitialize) {
projections = dataReceivedFromServer['projections'] projections = dataReceivedFromServer['projections']
parameters = dataReceivedFromServer['parameters'] parameters = dataReceivedFromServer['parameters']
metricsSorting = dataReceivedFromServer['metrics'] metricsSorting = dataReceivedFromServer['metrics']
betas = dataReceivedFromServer['betas']
cost_per_point = dataReceivedFromServer['cpp']
cost_overall = dataReceivedFromServer['cpi']
if (FocusedIDs.length != 0) { if (FocusedIDs.length != 0) {
if (globalFlagCheck) { if (globalFlagCheck) {
@ -147,11 +150,12 @@ function ReSort(flagInitialize) {
metricsCopy = metrics metricsCopy = metrics
} }
globalFlagCheck = false globalFlagCheck = false
document.getElementById("textToChange").innerHTML = "[Sorting Projections According to Metric for the Current Points Selection:";
metricsSorting = dataReceivedFromServerOptimized['metrics'] metricsSorting = dataReceivedFromServerOptimized['metrics']
metrics = dataReceivedFromServerOptimized['metricsEntire'] metrics = dataReceivedFromServerOptimized['metricsEntire']
if (FocusedIDs.length == points.length) { if (FocusedIDs.length == points.length) {
document.getElementById("textToChange").innerHTML = "[Sorting Metric:"; document.getElementById("textToChange").innerHTML = "[Sorting Projections According to Metric:";
} else {
document.getElementById("textToChange").innerHTML = "[Sorting Projections According to Metric for Current Selection:";
} }
} else { } else {
if (!globalFlagCheck) { if (!globalFlagCheck) {
@ -669,6 +673,7 @@ if(k >= 6) {
Plotly.relayout(graphDiv, update) Plotly.relayout(graphDiv, update)
sliderInsideTrigger = true sliderInsideTrigger = true
insideCall = true;
activeProjectionNumberProv = order[SelProjIDSProv[0]] activeProjectionNumberProv = order[SelProjIDSProv[0]]
getData() getData()
@ -676,6 +681,7 @@ if(k >= 6) {
if (flagInitialize) { if (flagInitialize) {
closeModalFun() closeModalFun()
insideCall = true;
getData() getData()
} }
@ -804,19 +810,68 @@ function parseData(url) {
// results.data variable is all the columns except strings, undefined values, or "Version" plus beta and cost values." // results.data variable is all the columns except strings, undefined values, or "Version" plus beta and cost values."
// results.meta.fields variable is all the features (columns) plus beta and cost strings. // results.meta.fields variable is all the features (columns) plus beta and cost strings.
if (mode == 2) { if (mode == 2) {
init(results.data, results_all, results.meta.fields); // Call the init() function that starts everything! if (insideCall) {
init(results.data, results_all, results.meta.fields); // Call the init() function that starts everything!
} else {
$.post("http://127.0.0.1:5000/resetAll", JSON.stringify(''), function(){
});
var parametersLocal = []
parametersLocal.push(document.getElementById("param-perplexity-value").value)
parametersLocal.push(document.getElementById("param-learningrate-value").value)
parametersLocal.push(document.getElementById("param-maxiter-value").value)
parametersLocal.push(results_all)
$.post("http://127.0.0.1:5000/receiverSingle", JSON.stringify(parametersLocal), function(){
$.get("http://127.0.0.1:5000/senderSingle", function( data ) {
dataReceivedFromServer = data
projections = dataReceivedFromServer['projections']
betas = dataReceivedFromServer['betas']
cost_per_point = dataReceivedFromServer['cpp']
cost_overall = dataReceivedFromServer['cpi']
activeProjectionNumber = 0
activeProjectionNumberProv = 0
init(results.data, results_all, results.meta.fields); // Call the init() function that starts everything!
});
});
}
} else { } else {
// ajax the JSON to the server if (flagAnalysis) {
$.post("http://127.0.0.1:5000/resetAll", JSON.stringify(''), function(){
});
$.post("http://127.0.0.1:5000/receiver", JSON.stringify(results_all), function(){
$.get("http://127.0.0.1:5000/sender", function( data ) {
dataReceivedFromServer = data
ReSortOver()
}); $('#myModal').modal('hide');
$.post("http://127.0.0.1:5000/resetAll", JSON.stringify(''), function(){
});
var parametersLocal = []
parametersLocal.push(document.getElementById("param-perplexity-value").value)
parametersLocal.push(document.getElementById("param-learningrate-value").value)
parametersLocal.push(document.getElementById("param-maxiter-value").value)
parametersLocal.push(results_all)
$.post("http://127.0.0.1:5000/receiverSingle", JSON.stringify(parametersLocal), function(){
$.get("http://127.0.0.1:5000/senderSingle", function( data ) {
dataReceivedFromServer = data
projections = dataReceivedFromServer['projections']
betas = dataReceivedFromServer['betas']
cost_per_point = dataReceivedFromServer['cpp']
cost_overall = dataReceivedFromServer['cpi']
activeProjectionNumber = 0
init(results.data, results_all, results.meta.fields); // Call the init() function that starts everything!
});
});
} else {
// ajax the JSON to the server
$.post("http://127.0.0.1:5000/resetAll", JSON.stringify(''), function(){
});
$.post("http://127.0.0.1:5000/receiver", JSON.stringify(results_all), function(){
$.get("http://127.0.0.1:5000/sender", function( data ) {
dataReceivedFromServer = data
ReSortOver()
});
});
}
});
} }
} }
@ -834,6 +889,9 @@ function ReSortOver() {
parameters = dataReceivedFromServer['parameters'] parameters = dataReceivedFromServer['parameters']
metricsSorting = dataReceivedFromServer['metrics'] metricsSorting = dataReceivedFromServer['metrics']
metrics = dataReceivedFromServer['metricsEntire'] metrics = dataReceivedFromServer['metricsEntire']
betas = dataReceivedFromServer['betas']
cost_per_point = dataReceivedFromServer['cpp']
cost_overall = dataReceivedFromServer['cpi']
var traces = [] var traces = []
var target_names = [] var target_names = []
@ -2629,10 +2687,10 @@ function init(data, results_all, fields) {
} else{ } else{
tsne = new tsnejs.tSNE(opt); // Set new t-SNE with specific perplexity. tsne = new tsnejs.tSNE(opt); // Set new t-SNE with specific perplexity.
dists = []; dists = [];
dists = computeDistances(data, document.getElementById("param-distance").value, document.getElementById("param-transform").value); // Compute the distances in the high-dimensional space. dists = computeDistances(data, 'euclideanDist', 'noTrans'); // Compute the distances in the high-dimensional space.
InitialFormDists.push(dists); InitialFormDists.push(dists);
tsne.initDataDist(dists); // Init t-SNE with dists. //tsne.initDataDist(dists); // Init t-SNE with dists.
for(var i = 0; i < final_dataset.length; i++) {final_dataset[i].beta = tsne.beta[i]; beta_all[i] = tsne.beta[i];} // Calculate beta and bring it back from the t-SNE algorithm. //for(var i = 0; i < final_dataset.length; i++) {final_dataset[i].beta = tsne.beta[i]; beta_all[i] = tsne.beta[i];} // Calculate beta and bring it back from the t-SNE algorithm.
} }
var object; var object;
all_labels = []; all_labels = [];
@ -2748,28 +2806,6 @@ function euclideanDist(data) {
} }
// Calculate jaccard dist
function jaccardDist(data) {
dist = initDist(data);
for(var i = 0; i < data.length; i++) {
for(var j = i + 1; j < data.length; j++) {
for(var d in data[0]) {
if(d != Category) {
x = data[i][d];
y = data[j][d];
if(x == y) {
dist[i][j] += 1;
}
}
}
dist[j][i] = dist[i][j];
}
}
return dist;
}
// Normalize distances to prevent numerical issues. // Normalize distances to prevent numerical issues.
function normDist(data, dist) { function normDist(data, dist) {
@ -2793,51 +2829,6 @@ function noTrans(data) {
return data; return data;
} }
// Log tranformation
function logTrans(data) {
for(var i = 0; i < data.length; i++) {
for(var d in data[0]) {
if(d != Category) {
X = data[i][d];
data[i][d] = Math.log10(X + 1);
}
}
}
return data;
}
// asinh tranformation
function asinhTrans(data) {
for(var i = 0; i < data.length; i++) {
for(var d in data[0]) {
if(d != Category) {
X = data[i][d];
data[i][d] = Math.log(X + Math.sqrt(X * X + 1));
}
}
}
return data;
}
// Binarize tranformation
function binTrans(data) {
for(var i = 0; i < data.length; i++) {
for(var d in data[0]) {
if(d != Category) {
X = data[i][d];
if(X > 0) data[i][d] = 1;
if(X < 0) data[i][d] = 0;
}
}
}
return data;
}
// Compute the distances by applying the chosen distance functions and transformation functions. // Compute the distances by applying the chosen distance functions and transformation functions.
function computeDistances(data, distFunc, transFunc) { function computeDistances(data, distFunc, transFunc) {
dist = eval(distFunc)(eval(transFunc)(data)); dist = eval(distFunc)(eval(transFunc)(data));
@ -2884,7 +2875,7 @@ function OverallCostLineChart(){
margin: { margin: {
l: 40, l: 40,
r: 15, r: 15,
b: 26, b: 30,
t: 5 t: 5
}, },
}; };
@ -2899,7 +2890,15 @@ function updateEmbedding(AnalysisResults) {
points = []; points = [];
points2d = []; points2d = [];
if (AnalysisResults == ""){ // Check if the embedding does not need to load because we had a previous analysis uploaded. if (AnalysisResults == ""){ // Check if the embedding does not need to load because we had a previous analysis uploaded.
var Y = tsne.getSolution(); // We receive the solution from the t-SNE if (sliderTrigger) {
if (sliderInsideTrigger) {
var Y = projections[activeProjectionNumberProv]
} else {
var Y = projections[activeProjectionNumber]
}
} else {
var Y = projections[activeProjectionNumber]
}
var xExt = d3.extent(Y, d => d[0]); var xExt = d3.extent(Y, d => d[0]);
var yExt = d3.extent(Y, d => d[1]); var yExt = d3.extent(Y, d => d[1]);
var maxExt = [Math.min(xExt[0], yExt[0]), Math.max(xExt[1], yExt[1])]; var maxExt = [Math.min(xExt[0], yExt[0]), Math.max(xExt[1], yExt[1])];
@ -2911,10 +2910,11 @@ function updateEmbedding(AnalysisResults) {
var y = d3.scaleLinear() // Scale the y points into the canvas width/height var y = d3.scaleLinear() // Scale the y points into the canvas width/height
.domain(maxExt) .domain(maxExt)
.range([10, +dimensionsY-10]); .range([10, +dimensionsY-10]);
for(var i = 0; i < final_dataset.length; i++) {
for(var i = 0; i < betas[activeProjectionNumber].length; i++) {
x_position[i] = x(Y[i][0]); // x points position x_position[i] = x(Y[i][0]); // x points position
y_position[i] = y(Y[i][1]); // y points position y_position[i] = y(Y[i][1]); // y points position
points[i] = {id: i, x: x_position[i], y: y_position[i], beta: final_dataset[i].beta, cost: final_dataset[i].cost, selected: true, schemaInv: false, DimON: null, pcp: false}; // Create the points and points2D (2 dimensions) points[i] = {id: i, x: x_position[i], y: y_position[i], beta: betas[activeProjectionNumber][i], cost: cost_per_point[activeProjectionNumber][i], selected: true, schemaInv: false, DimON: null, pcp: false}; // Create the points and points2D (2 dimensions)
points2d[i] = {x: x_position[i], y: y_position[i]}; // and add everything that we know about the points (e.g., selected = true, pcp = false in the beginning and so on) points2d[i] = {x: x_position[i], y: y_position[i]}; // and add everything that we know about the points (e.g., selected = true, pcp = false in the beginning and so on)
points[i] = extend(points[i], ArrayContainsDataFeaturesCleared[i]); points[i] = extend(points[i], ArrayContainsDataFeaturesCleared[i]);
points[i] = extend(points[i], dataFeatures[i]); points[i] = extend(points[i], dataFeatures[i]);
@ -2934,12 +2934,10 @@ function updateEmbedding(AnalysisResults) {
ArrayWithCostsList = AnalysisResults.slice(2*dataFeatures.length+length+10, 2*dataFeatures.length+length+11); ArrayWithCostsList = AnalysisResults.slice(2*dataFeatures.length+length+10, 2*dataFeatures.length+length+11);
Iterations = IterationsList[0]; Iterations = IterationsList[0];
ArrayWithCosts = ArrayWithCostsList[0]; ArrayWithCosts = ArrayWithCostsList[0];
$("#cost").html("(Number. of Iter.: " + ParametersSet[3] + ", Ov. Cost: " + overallCost + ")"); $("#cost").html("(Overall Cost: " + overallCost + ")");
$('#param-perplexity-value').text(ParametersSet[1]); $('#param-perplexity-value').text(ParametersSet[1]);
$('#param-learningrate-value').text(ParametersSet[2]); $('#param-learningrate-value').text(ParametersSet[2]);
$('#param-maxiter-value').text(ParametersSet[3]); $('#param-maxiter-value').text(ParametersSet[3]);
document.getElementById("param-distance").value = ParametersSet[4];
document.getElementById("param-transform").value = ParametersSet[5];
} else{ } else{
var length = (AnalysisResults.length - 9) / 2; var length = (AnalysisResults.length - 9) / 2;
points = AnalysisResults.slice(0, length); // Load the points from the previous analysis points = AnalysisResults.slice(0, length); // Load the points from the previous analysis
@ -2950,12 +2948,10 @@ function updateEmbedding(AnalysisResults) {
ArrayWithCostsList = AnalysisResults.slice(2*length+8, 2*length+9); ArrayWithCostsList = AnalysisResults.slice(2*length+8, 2*length+9);
Iterations = IterationsList[0]; Iterations = IterationsList[0];
ArrayWithCosts = ArrayWithCostsList[0]; ArrayWithCosts = ArrayWithCostsList[0];
$("#cost").html("(Number of Iter.: " + ParametersSet[3] + ", Ov. Cost: " + overallCost + ")"); $("#cost").html("(Overall Cost: " + overallCost + ")");
$('#param-perplexity-value').text(ParametersSet[1]); $('#param-perplexity-value').text(ParametersSet[1]);
$('#param-learningrate-value').text(ParametersSet[2]); $('#param-learningrate-value').text(ParametersSet[2]);
$('#param-maxiter-value').text(ParametersSet[3]); $('#param-maxiter-value').text(ParametersSet[3]);
document.getElementById("param-distance").value = ParametersSet[4];
document.getElementById("param-transform").value = ParametersSet[5];
} }
$("#data").html(ParametersSet[0]); // Print on the screen the classification label. $("#data").html(ParametersSet[0]); // Print on the screen the classification label.
$("#param-dataset").html('-'); $("#param-dataset").html('-');
@ -3014,7 +3010,7 @@ function ShepardHeatMap () {
dist_list2d = []; // Distances lists empty dist_list2d = []; // Distances lists empty
dist_list = []; dist_list = [];
// Calculate the 2D distances. // Calculate the 2D distances.
dists2d = computeDistances(points2d, document.getElementById("param-distance").value, document.getElementById("param-transform").value); dists2d = computeDistances(points2d, 'euclideanDist', 'noTrans');
InitialFormDists2D.push(dists2d); InitialFormDists2D.push(dists2d);
for (var j=0; j<dists2d.length; j++){ // Fill them with the distances 2D and high-dimensional, respectively. for (var j=0; j<dists2d.length; j++){ // Fill them with the distances 2D and high-dimensional, respectively.
dists2d[j] = dists2d[j].slice(0,j); dists2d[j] = dists2d[j].slice(0,j);
@ -3237,7 +3233,7 @@ function ShepardHeatMap () {
dist_list2d = []; // Distances lists empty dist_list2d = []; // Distances lists empty
dist_list = []; dist_list = [];
// Calculate the 2D distances. // Calculate the 2D distances.
dists2d = computeDistances(points2d, document.getElementById("param-distance").value, document.getElementById("param-transform").value); dists2d = computeDistances(points2d, 'euclideanDist', 'noTrans');
InitialFormDists2D.push(dists2d); InitialFormDists2D.push(dists2d);
} }
@ -3381,12 +3377,43 @@ function ShepardHeatMap () {
function step() { function step() {
step_counter++; step_counter++;
if(step_counter <= max_counter) { if(step_counter <= max_counter) {
cost = tsne.step(); //cost = tsne.step();
cost_each = cost[1]; //cost_each = cost[1];
for(var i = 0; i < final_dataset.length; i++) final_dataset[i].cost = cost_each[i]; //for(var i = 0; i < final_dataset.length; i++) final_dataset[i].cost = cost_each[i];
$("#cost").html("(Number of Iter.: " + tsne.iter + ", Ov. Cost: " + cost[0].toFixed(3) + ")"); if (sliderTrigger) {
ArrayWithCosts.push(cost[0].toFixed(3)); if (sliderInsideTrigger) {
Iterations.push(step_counter); if (cost_overall[activeProjectionNumberProv][step_counter-1].toFixed(3) < 0) {
$("#cost").html("(Overall Cost: 0.000)");
ArrayWithCosts.push(0);
Iterations.push(step_counter);
} else {
$("#cost").html("(Overall Cost: " + cost_overall[activeProjectionNumberProv][step_counter-1].toFixed(3) + ")");
ArrayWithCosts.push(cost_overall[activeProjectionNumberProv][step_counter-1].toFixed(3));
Iterations.push(step_counter);
}
} else {
if (cost_overall[activeProjectionNumber][step_counter-1].toFixed(3) < 0) {
$("#cost").html("(Overall Cost: 0.000)");
ArrayWithCosts.push(0);
Iterations.push(step_counter);
} else {
$("#cost").html("(Overall Cost: " + cost_overall[activeProjectionNumber][step_counter-1].toFixed(3) + ")");
ArrayWithCosts.push(cost_overall[activeProjectionNumber][step_counter-1].toFixed(3));
Iterations.push(step_counter);
}
}
} else {
if (cost_overall[activeProjectionNumber][step_counter-1].toFixed(3) < 0) {
$("#cost").html("(Overall Cost: 0.000)");
ArrayWithCosts.push(0);
Iterations.push(step_counter);
} else {
$("#cost").html("(Overall Cost: " + cost_overall[activeProjectionNumber][step_counter-1].toFixed(3) + ")");
ArrayWithCosts.push(cost_overall[activeProjectionNumber][step_counter-1].toFixed(3));
Iterations.push(step_counter);
}
}
} }
else { else {
clearInterval(runner); clearInterval(runner);
@ -3586,7 +3613,11 @@ function CostHistogram(points){
var max = (d3.max(points,function(d){ return d.cost; })); var max = (d3.max(points,function(d){ return d.cost; }));
var min = (d3.min(points,function(d){ return d.cost; })); var min = (d3.min(points,function(d){ return d.cost; }));
for (var i=0; i<points.length; i++){ for (var i=0; i<points.length; i++){
frequency.push((points[i].cost-min)/(max-min)); if ((points[i].cost-min)/(max-min) < 0) {
frequency.push(0)
} else {
frequency.push((points[i].cost-min)/(max-min));
}
} }
var trace2 = { var trace2 = {
x: frequency, x: frequency,
@ -5179,7 +5210,7 @@ if (points.length) { // If points exist (at least 1 point)
var minSize1 = points[temp].cost; var minSize1 = points[temp].cost;
for (var i=temp+1; i<points.length; i++){ for (var i=temp+1; i<points.length; i++){
if (minSize1 > points[i].cost){ if (minSize1 > points[i].cost){
minSize1 = points[i].cost; minSize1 = points[i].cost;
} }
} }
@ -5233,7 +5264,12 @@ if (points.length) { // If points exist (at least 1 point)
.attr("transform", "translate(10,20)"); .attr("transform", "translate(10,20)");
var SizeRange1 = []; var SizeRange1 = [];
SizeRange1.push((minSize1).toFixed(4));
if (minSize1 < 0) {
SizeRange1.push(0.0000)
} else {
SizeRange1.push((minSize1).toFixed(4));
}
SizeRange1.push(((maxSize1-minSize1)/2).toFixed(4)); SizeRange1.push(((maxSize1-minSize1)/2).toFixed(4));
SizeRange1.push((maxSize1).toFixed(4)); SizeRange1.push((maxSize1).toFixed(4));
@ -5267,7 +5303,11 @@ if (points.length) { // If points exist (at least 1 point)
var min = points[temp].cost; var min = points[temp].cost;
for (var i=temp+1; i<points.length; i++){ for (var i=temp+1; i<points.length; i++){
if (min > points[i].cost){ if (min > points[i].cost){
min = points[i].cost; if (points[i].cost < 0) {
min = 0;
} else {
min = points[i].cost;
}
} }
} }
@ -5294,7 +5334,7 @@ if (points.length) { // If points exist (at least 1 point)
labels_cost = d3.range(min, max+calcStep, calcStep); labels_cost = d3.range(min, max+calcStep, calcStep);
for (var i=0; i<9; i++){ for (var i=0; i<9; i++){
labels_cost[i] = labels_cost[i].toFixed(5); labels_cost[i] = labels_cost[i].toFixed(5);
abbr_labels_cost[i] = abbreviateNumber(labels_cost[i]); abbr_labels_cost[i] = Math.abs(abbreviateNumber(labels_cost[i]));
} }
var svg = d3.select("#legend1"); // Add the legend for the beta/cost var svg = d3.select("#legend1"); // Add the legend for the beta/cost
@ -5575,8 +5615,8 @@ if (points.length) { // If points exist (at least 1 point)
var abbr_labels_cost = []; var abbr_labels_cost = [];
labels_cost = d3.range(min, max+calcStep, calcStep); labels_cost = d3.range(min, max+calcStep, calcStep);
for (var i=0; i<7; i++){ for (var i=0; i<7; i++){
labels_cost[i] = labels_cost[i].toFixed(5); labels_cost[i] = labels_cost[i].toFixed(4);
abbr_labels_cost[i] = abbreviateNumber(labels_cost[i]); abbr_labels_cost[i] = Math.abs(abbreviateNumber(labels_cost[i]));
} }
var svg = d3.select("#legend1"); // Add the legend for the beta/cost var svg = d3.select("#legend1"); // Add the legend for the beta/cost
@ -5588,7 +5628,7 @@ if (points.length) { // If points exist (at least 1 point)
.labelFormat(d3.format(",.5f")) .labelFormat(d3.format(",.5f"))
.cells(7) .cells(7)
.labels([abbr_labels_cost[0],abbr_labels_cost[1],abbr_labels_cost[2],abbr_labels_cost[3],abbr_labels_cost[4],abbr_labels_cost[5],abbr_labels_cost[6]]) .labels([abbr_labels_cost[0],abbr_labels_cost[1],abbr_labels_cost[2],abbr_labels_cost[3],abbr_labels_cost[4],abbr_labels_cost[5],abbr_labels_cost[6]])
.title("Remaining Cost") .title("Rem. Cost")
.scale(colorScale); .scale(colorScale);
svg.select(".legendLinear") svg.select(".legendLinear")
@ -6027,8 +6067,8 @@ function SaveAnalysis(){ // Save the analysis into a .txt file
let perplexity = document.getElementById("param-perplexity-value").value; let perplexity = document.getElementById("param-perplexity-value").value;
let learningRate = document.getElementById("param-learningrate-value").value; let learningRate = document.getElementById("param-learningrate-value").value;
let IterValue = document.getElementById("param-maxiter-value").value; let IterValue = document.getElementById("param-maxiter-value").value;
let parDist = document.getElementById("param-distance").value; let parDist = 'euclideanDist';
let parTrans = document.getElementById("param-transform").value; let parTrans = 'noTrans';
let Parameters = []; let Parameters = [];
if (dataset == "empty"){ if (dataset == "empty"){
Parameters.push(new_file.name); Parameters.push(new_file.name);

@ -43,9 +43,23 @@
using namespace std; using namespace std;
static double sign(double x) { return (x == .0 ? .0 : (x < .0 ? -1.0 : 1.0)); }
static void zeroMean(double* X, int N, int D);
static void computeGaussianPerplexity(double* X, int N, int D, double* P, double perplexity);
static void computeGaussianPerplexity(double* X, int N, int D, unsigned int** _row_P, unsigned int** _col_P, double** _val_P, double perplexity, int K);
static double randn();
static void computeExactGradient(double* P, double* Y, int N, int D, double* dC);
static void computeGradient(unsigned int* inp_row_P, unsigned int* inp_col_P, double* inp_val_P, double* Y, int N, int D, double* dC, double theta);
static double evaluateError(double* P, double* Y, int N, int D);
static double evaluateError(unsigned int* row_P, unsigned int* col_P, double* val_P, double* Y, int N, int D, double theta, bool save_cost_per_point = false);
static void computeSquaredEuclideanDistance(double* X, int N, int D, double* DD);
static void symmetrizeMatrix(unsigned int** row_P, unsigned int** col_P, double** val_P, int N);
static void save_1D_array(double* array, int n, const char* filename);
// Perform t-SNE // Perform t-SNE
void TSNE::run(double* X, int N, int D, double* Y, int no_dims, double perplexity, double theta, int rand_seed, void TSNE::run(double* X, int N, int D, double* Y, int no_dims, double perplexity, double theta, int rand_seed,
bool skip_random_init, int max_iter, int stop_lying_iter, int mom_switch_iter) { bool skip_random_init, int max_iter, int stop_lying_iter, int mom_switch_iter, int cost_iter_step) {
// Set random seed // Set random seed
if (skip_random_init != true) { if (skip_random_init != true) {
@ -133,20 +147,22 @@ void TSNE::run(double* X, int N, int D, double* Y, int no_dims, double perplexit
else { for(int i = 0; i < row_P[N]; i++) val_P[i] *= 12.0; } else { for(int i = 0; i < row_P[N]; i++) val_P[i] *= 12.0; }
// Initialize solution (randomly) // Initialize solution (randomly)
if (skip_random_init != true) { if (skip_random_init != true) {
for(int i = 0; i < N * no_dims; i++) Y[i] = randn() * .0001; for(int i = 0; i < N * no_dims; i++) Y[i] = randn() * .0001;
} }
// Perform main training loop // Perform main training loop
if(exact) printf("Input similarities computed in %4.2f seconds!\nLearning embedding...\n", (float) (end - start) / CLOCKS_PER_SEC); if(exact) printf("Input similarities computed in %4.2f seconds!\nLearning embedding...\n", (float) (end - start) / CLOCKS_PER_SEC);
else printf("Input similarities computed in %4.2f seconds (sparsity = %f)!\nLearning embedding...\n", (float) (end - start) / CLOCKS_PER_SEC, (double) row_P[N] / ((double) N * (double) N)); else printf("Input similarities computed in %4.2f seconds (sparsity = %f)!\nLearning embedding...\n", (float) (end - start) / CLOCKS_PER_SEC, (double) row_P[N] / ((double) N * (double) N));
start = clock(); start = clock();
double* cost_per_iter = new double[max_iter];
for(int iter = 0; iter < max_iter; iter++) { for(int iter = 0; iter < max_iter; iter++) {
// Compute (approximate) gradient // Compute (approximate) gradient
if(exact) computeExactGradient(P, Y, N, no_dims, dY); if(exact) computeExactGradient(P, Y, N, no_dims, dY);
else computeGradient(P, row_P, col_P, val_P, Y, N, no_dims, dY, theta); else computeGradient(row_P, col_P, val_P, Y, N, no_dims, dY, theta);
// Update gains // Update gains
for(int i = 0; i < N * no_dims; i++) gains[i] = (sign(dY[i]) != sign(uY[i])) ? (gains[i] + .2) : (gains[i] * .8); for(int i = 0; i < N * no_dims; i++) gains[i] = (sign(dY[i]) != sign(uY[i])) ? (gains[i] + .2) : (gains[i] * .8);
@ -167,22 +183,29 @@ void TSNE::run(double* X, int N, int D, double* Y, int no_dims, double perplexit
if(iter == mom_switch_iter) momentum = final_momentum; if(iter == mom_switch_iter) momentum = final_momentum;
// Print out progress // Print out progress
if (iter > 0 && (iter % 50 == 0 || iter == max_iter - 1)) { if (iter % cost_iter_step == 0 || iter == max_iter - 1) {
end = clock(); end = clock();
double C = .0; double C = .0;
if(exact) C = evaluateError(P, Y, N, no_dims); if(exact) C = evaluateError(P, Y, N, no_dims);
else C = evaluateError(row_P, col_P, val_P, Y, N, no_dims, theta); // doing approximate computation here! else C = evaluateError(row_P, col_P, val_P, Y, N, no_dims, theta); // doing approximate computation here!
if(iter == 0) if(iter == 0)
printf("Iteration %d: error is %f\n", iter + 1, C); printf("Iteration %d: error is %f\n", iter, C);
else { else {
total_time += (float) (end - start) / CLOCKS_PER_SEC; total_time += (float) (end - start) / CLOCKS_PER_SEC;
printf("Iteration %d: error is %f (50 iterations in %4.2f seconds)\n", iter, C, (float) (end - start) / CLOCKS_PER_SEC); printf("Iteration %d: error is %f (%d iterations in %4.2f seconds)\n", iter, C, cost_iter_step, (float) (end - start) / CLOCKS_PER_SEC);
} }
cost_per_iter[iter] = C;
start = clock(); start = clock();
} }
} }
end = clock(); total_time += (float) (end - start) / CLOCKS_PER_SEC; end = clock(); total_time += (float) (end - start) / CLOCKS_PER_SEC;
// Save the cost per iteration to file
save_1D_array(cost_per_iter, max_iter, "cost_per_iter.txt");
// This time it's for saving the final cost per point
evaluateError(row_P, col_P, val_P, Y, N, no_dims, theta, true);
// Clean up memory // Clean up memory
free(dY); free(dY);
free(uY); free(uY);
@ -193,12 +216,13 @@ void TSNE::run(double* X, int N, int D, double* Y, int no_dims, double perplexit
free(col_P); col_P = NULL; free(col_P); col_P = NULL;
free(val_P); val_P = NULL; free(val_P); val_P = NULL;
} }
delete[] cost_per_iter;
printf("Fitting performed in %4.2f seconds.\n", total_time); printf("Fitting performed in %4.2f seconds.\n", total_time);
} }
// Compute gradient of the t-SNE cost function (using Barnes-Hut algorithm) // Compute gradient of the t-SNE cost function (using Barnes-Hut algorithm)
void TSNE::computeGradient(double* P, unsigned int* inp_row_P, unsigned int* inp_col_P, double* inp_val_P, double* Y, int N, int D, double* dC, double theta) static void computeGradient(unsigned int* inp_row_P, unsigned int* inp_col_P, double* inp_val_P, double* Y, int N, int D, double* dC, double theta)
{ {
// Construct space-partitioning tree on current map // Construct space-partitioning tree on current map
@ -222,7 +246,7 @@ void TSNE::computeGradient(double* P, unsigned int* inp_row_P, unsigned int* inp
} }
// Compute gradient of the t-SNE cost function (exact) // Compute gradient of the t-SNE cost function (exact)
void TSNE::computeExactGradient(double* P, double* Y, int N, int D, double* dC) { static void computeExactGradient(double* P, double* Y, int N, int D, double* dC) {
// Make sure the current gradient contains zeros // Make sure the current gradient contains zeros
for(int i = 0; i < N * D; i++) dC[i] = 0.0; for(int i = 0; i < N * D; i++) dC[i] = 0.0;
@ -272,7 +296,7 @@ void TSNE::computeExactGradient(double* P, double* Y, int N, int D, double* dC)
// Evaluate t-SNE cost function (exactly) // Evaluate t-SNE cost function (exactly)
double TSNE::evaluateError(double* P, double* Y, int N, int D) { static double evaluateError(double* P, double* Y, int N, int D) {
// Compute the squared Euclidean distance matrix // Compute the squared Euclidean distance matrix
double* DD = (double*) malloc(N * N * sizeof(double)); double* DD = (double*) malloc(N * N * sizeof(double));
@ -308,7 +332,7 @@ double TSNE::evaluateError(double* P, double* Y, int N, int D) {
} }
// Evaluate t-SNE cost function (approximately) // Evaluate t-SNE cost function (approximately)
double TSNE::evaluateError(unsigned int* row_P, unsigned int* col_P, double* val_P, double* Y, int N, int D, double theta) static double evaluateError(unsigned int* row_P, unsigned int* col_P, double* val_P, double* Y, int N, int D, double theta, bool save_cost_per_point)
{ {
// Get estimate of normalization term // Get estimate of normalization term
@ -316,11 +340,13 @@ double TSNE::evaluateError(unsigned int* row_P, unsigned int* col_P, double* val
double* buff = (double*) calloc(D, sizeof(double)); double* buff = (double*) calloc(D, sizeof(double));
double sum_Q = .0; double sum_Q = .0;
for(int n = 0; n < N; n++) tree->computeNonEdgeForces(n, theta, buff, &sum_Q); for(int n = 0; n < N; n++) tree->computeNonEdgeForces(n, theta, buff, &sum_Q);
double* cost_per_point = new double[N];
// Loop over all edges to compute t-SNE error // Loop over all edges to compute t-SNE error
int ind1, ind2; int ind1, ind2;
double C = .0, Q; double C = .0, Q, c;
for(int n = 0; n < N; n++) { for(int n = 0; n < N; n++) {
cost_per_point[n] = .0;
ind1 = n * D; ind1 = n * D;
for(int i = row_P[n]; i < row_P[n + 1]; i++) { for(int i = row_P[n]; i < row_P[n + 1]; i++) {
Q = .0; Q = .0;
@ -329,19 +355,25 @@ double TSNE::evaluateError(unsigned int* row_P, unsigned int* col_P, double* val
for(int d = 0; d < D; d++) buff[d] -= Y[ind2 + d]; for(int d = 0; d < D; d++) buff[d] -= Y[ind2 + d];
for(int d = 0; d < D; d++) Q += buff[d] * buff[d]; for(int d = 0; d < D; d++) Q += buff[d] * buff[d];
Q = (1.0 / (1.0 + Q)) / sum_Q; Q = (1.0 / (1.0 + Q)) / sum_Q;
C += val_P[i] * log((val_P[i] + FLT_MIN) / (Q + FLT_MIN)); c = val_P[i] * log((val_P[i] + FLT_MIN) / (Q + FLT_MIN));
cost_per_point[n] += c;
C += c;
} }
} }
if (save_cost_per_point)
save_1D_array(cost_per_point, N, "cost_per_point.txt");
// Clean up memory // Clean up memory
free(buff); free(buff);
delete tree; delete tree;
delete[] cost_per_point;
return C; return C;
} }
// Compute input similarities with a fixed perplexity // Compute input similarities with a fixed perplexity
void TSNE::computeGaussianPerplexity(double* X, int N, int D, double* P, double perplexity) { static void computeGaussianPerplexity(double* X, int N, int D, double* P, double perplexity) {
// Compute the squared Euclidean distance matrix // Compute the squared Euclidean distance matrix
double* DD = (double*) malloc(N * N * sizeof(double)); double* DD = (double*) malloc(N * N * sizeof(double));
@ -412,7 +444,7 @@ void TSNE::computeGaussianPerplexity(double* X, int N, int D, double* P, double
// Compute input similarities with a fixed perplexity using ball trees (this function allocates memory another function should free) // Compute input similarities with a fixed perplexity using ball trees (this function allocates memory another function should free)
void TSNE::computeGaussianPerplexity(double* X, int N, int D, unsigned int** _row_P, unsigned int** _col_P, double** _val_P, double perplexity, int K) { static void computeGaussianPerplexity(double* X, int N, int D, unsigned int** _row_P, unsigned int** _col_P, double** _val_P, double perplexity, int K) {
if(perplexity > K) printf("Perplexity should be lower than K!\n"); if(perplexity > K) printf("Perplexity should be lower than K!\n");
@ -439,6 +471,7 @@ void TSNE::computeGaussianPerplexity(double* X, int N, int D, unsigned int** _ro
printf("Building tree...\n"); printf("Building tree...\n");
vector<DataPoint> indices; vector<DataPoint> indices;
vector<double> distances; vector<double> distances;
double* betas = new double[N];
for(int n = 0; n < N; n++) { for(int n = 0; n < N; n++) {
if(n % 10000 == 0) printf(" - point %d of %d\n", n, N); if(n % 10000 == 0) printf(" - point %d of %d\n", n, N);
@ -495,6 +528,9 @@ void TSNE::computeGaussianPerplexity(double* X, int N, int D, unsigned int** _ro
iter++; iter++;
} }
// Save the found beta to a vector of all betas
betas[n] = beta;
// Row-normalize current row of P and store in matrix // Row-normalize current row of P and store in matrix
for(unsigned int m = 0; m < K; m++) cur_P[m] /= sum_P; for(unsigned int m = 0; m < K; m++) cur_P[m] /= sum_P;
for(unsigned int m = 0; m < K; m++) { for(unsigned int m = 0; m < K; m++) {
@ -503,15 +539,19 @@ void TSNE::computeGaussianPerplexity(double* X, int N, int D, unsigned int** _ro
} }
} }
// Save the betas to disk, so we can recover them later
save_1D_array(betas, N, "betas.txt");
// Clean up memory // Clean up memory
obj_X.clear(); obj_X.clear();
free(cur_P); free(cur_P);
delete tree; delete tree;
delete[] betas;
} }
// Symmetrizes a sparse matrix // Symmetrizes a sparse matrix
void TSNE::symmetrizeMatrix(unsigned int** _row_P, unsigned int** _col_P, double** _val_P, int N) { static void symmetrizeMatrix(unsigned int** _row_P, unsigned int** _col_P, double** _val_P, int N) {
// Get sparse matrix // Get sparse matrix
unsigned int* row_P = *_row_P; unsigned int* row_P = *_row_P;
@ -599,7 +639,7 @@ void TSNE::symmetrizeMatrix(unsigned int** _row_P, unsigned int** _col_P, double
} }
// Compute squared Euclidean distance matrix // Compute squared Euclidean distance matrix
void TSNE::computeSquaredEuclideanDistance(double* X, int N, int D, double* DD) { static void computeSquaredEuclideanDistance(double* X, int N, int D, double* DD) {
const double* XnD = X; const double* XnD = X;
for(int n = 0; n < N; ++n, XnD += D) { for(int n = 0; n < N; ++n, XnD += D) {
const double* XmD = XnD + D; const double* XmD = XnD + D;
@ -618,7 +658,7 @@ void TSNE::computeSquaredEuclideanDistance(double* X, int N, int D, double* DD)
// Makes data zero-mean // Makes data zero-mean
void TSNE::zeroMean(double* X, int N, int D) { static void zeroMean(double* X, int N, int D) {
// Compute data mean // Compute data mean
double* mean = (double*) calloc(D, sizeof(double)); double* mean = (double*) calloc(D, sizeof(double));
@ -647,7 +687,7 @@ void TSNE::zeroMean(double* X, int N, int D) {
// Generates a Gaussian random number // Generates a Gaussian random number
double TSNE::randn() { static double randn() {
double x, y, radius; double x, y, radius;
do { do {
x = 2 * (rand() / ((double) RAND_MAX + 1)) - 1; x = 2 * (rand() / ((double) RAND_MAX + 1)) - 1;
@ -702,3 +742,19 @@ void TSNE::save_data(double* data, int* landmarks, double* costs, int n, int d)
fclose(h); fclose(h);
printf("Wrote the %i x %i data matrix successfully!\n", n, d); printf("Wrote the %i x %i data matrix successfully!\n", n, d);
} }
// Function that saves a 1D array in the numpy.savetxt format
void save_1D_array(double* array, int n, const char* filename) {
// Open file, write first 2 integers and then the data
FILE *h;
if((h = fopen(filename, "w")) == NULL) {
printf("Error: could not open [%s] for writing.\n", filename);
return;
}
//fprintf(h, "%d\n", n);
for (int i = 0; i < n; ++i)
fprintf(h, "%f\n", array[i]);
fclose(h);
printf("Wrote [%s] successfully, with %i rows!\n", filename, n);
}

@ -34,30 +34,18 @@
#ifndef TSNE_H #ifndef TSNE_H
#define TSNE_H #define TSNE_H
#ifdef __cplusplus
static inline double sign(double x) { return (x == .0 ? .0 : (x < .0 ? -1.0 : 1.0)); } extern "C" {
namespace TSNE {
#endif
class TSNE
{
public:
void run(double* X, int N, int D, double* Y, int no_dims, double perplexity, double theta, int rand_seed, void run(double* X, int N, int D, double* Y, int no_dims, double perplexity, double theta, int rand_seed,
bool skip_random_init, int max_iter=1000, int stop_lying_iter=250, int mom_switch_iter=250); bool skip_random_init, int max_iter, int stop_lying_iter, int mom_switch_iter, int cost_iter_step);
bool load_data(double** data, int* n, int* d, int* no_dims, double* theta, double* perplexity, int* rand_seed, int* max_iter); bool load_data(double** data, int* n, int* d, int* no_dims, double* theta, double* perplexity, int* rand_seed, int* max_iter);
void save_data(double* data, int* landmarks, double* costs, int n, int d); void save_data(double* data, int* landmarks, double* costs, int n, int d);
void symmetrizeMatrix(unsigned int** row_P, unsigned int** col_P, double** val_P, int N); // should be static! //void save_1D_array(double* data, int N, char* filename);
#ifdef __cplusplus
private:
void computeGradient(double* P, unsigned int* inp_row_P, unsigned int* inp_col_P, double* inp_val_P, double* Y, int N, int D, double* dC, double theta);
void computeExactGradient(double* P, double* Y, int N, int D, double* dC);
double evaluateError(double* P, double* Y, int N, int D);
double evaluateError(unsigned int* row_P, unsigned int* col_P, double* val_P, double* Y, int N, int D, double theta);
void zeroMean(double* X, int N, int D);
void computeGaussianPerplexity(double* X, int N, int D, double* P, double perplexity);
void computeGaussianPerplexity(double* X, int N, int D, unsigned int** _row_P, unsigned int** _col_P, double** _val_P, double perplexity, int K);
void computeSquaredEuclideanDistance(double* X, int N, int D, double* DD);
double randn();
}; };
}
#endif
#endif #endif

@ -42,12 +42,30 @@ def Reset():
global projectionsAll global projectionsAll
projectionsAll = [] projectionsAll = []
global betas
betas = []
global cpp
cpp = []
global cpi
cpi = []
global SelectedListofParams global SelectedListofParams
SelectedListofParams = [] SelectedListofParams = []
global SelectedProjectionsReturn global SelectedProjectionsReturn
SelectedProjectionsReturn = [] SelectedProjectionsReturn = []
global SelectedProjectionsBeta
SelectedProjectionsBeta = []
global SelectedProjectionsCPP
SelectedProjectionsCPP = []
global SelectedProjectionsCPI
SelectedProjectionsCPI = []
global clusterIndex global clusterIndex
clusterIndex = [] clusterIndex = []
@ -160,8 +178,9 @@ def preprocess(data):
return dataNP, length, gatherLabels return dataNP, length, gatherLabels
def multi_run_wrapper(args): def multi_run_wrapper(args):
embedding_array = bhtsne.run_bh_tsne(*args) projectionsAllLoc, betasL, cppL, cpiL = bhtsne.run_bh_tsne(*args)
return embedding_array
return projectionsAllLoc, betasL, cppL, cpiL
def procrustesFun(projections): def procrustesFun(projections):
similarityList = [] similarityList = []
@ -198,7 +217,7 @@ memory = Memory(location, verbose=0)
def wrapGetResults(listofParamsPlusData): def wrapGetResults(listofParamsPlusData):
pool = Pool() pool = Pool()
return pool.map(multi_run_wrapper, listofParamsPlusData) return zip(*pool.map(multi_run_wrapper, listofParamsPlusData))
wrapGetResults = memory.cache(wrapGetResults) wrapGetResults = memory.cache(wrapGetResults)
@ -213,12 +232,9 @@ def calculateGrid():
D_highSpace = distance.squareform(distance.pdist(dataProc)) D_highSpace = distance.squareform(distance.pdist(dataProc))
DEFAULT_NO_DIMS = 2 DEFAULT_NO_DIMS = 2
INITIAL_DIMENSIONS = 50 VERBOSE = False
DEFAULT_PERPLEXITY = 50 DEFAULT_USE_PCA = True
DEFAULT_THETA = 0.5 randseed=1137
EMPTY_SEED = -1
VERBOSE = True
DEFAULT_USE_PCA = False
# all other data sets # all other data sets
perplexity = [5,10,15,20,25,30,35,40,45,50] # 10 perplexity perplexity = [5,10,15,20,25,30,35,40,45,50] # 10 perplexity
@ -249,16 +265,26 @@ def calculateGrid():
for k in n_iter: for k in n_iter:
for j in learning_rate: for j in learning_rate:
for i in perplexity: for i in perplexity:
listofParamsPlusData.append((dataProc,DEFAULT_NO_DIMS,length,i,j,EMPTY_SEED,VERBOSE,DEFAULT_USE_PCA,k)) listofParamsPlusData.append((dataProc,DEFAULT_NO_DIMS,i,j,randseed,VERBOSE,length,DEFAULT_USE_PCA,k,True,True,True))
listofParamsAll.append((i,j,k)) listofParamsAll.append((i,j,k))
projectionsAll = wrapGetResults(listofParamsPlusData) projectionsAll, betas, cpp, cpi = wrapGetResults(listofParamsPlusData)
global SelectedListofParams global SelectedListofParams
SelectedListofParams = [] SelectedListofParams = []
global SelectedProjectionsReturn global SelectedProjectionsReturn
SelectedProjectionsReturn = [] SelectedProjectionsReturn = []
global SelectedProjectionsBeta
SelectedProjectionsBeta = []
global SelectedProjectionsCPP
SelectedProjectionsCPP = []
global SelectedProjectionsCPI
SelectedProjectionsCPI = []
global clusterIndex global clusterIndex
clusterIndex = procrustesFun(projectionsAll) clusterIndex = procrustesFun(projectionsAll)
@ -295,10 +321,18 @@ def calculateGrid():
global KeepKs global KeepKs
KeepKs = [] KeepKs = []
for index in clusterIndex: for index in clusterIndex:
SelectedProjectionsReturn.append(projectionsAll[index].tolist()) SelectedProjectionsReturn.append(projectionsAll[index].tolist())
SelectedListofParams.append(listofParamsAll[index]) SelectedListofParams.append(listofParamsAll[index])
SelectedProjectionsBeta.append(betas[index].tolist())
SelectedProjectionsCPP.append(cpp[index].tolist())
SelectedProjectionsCPI.append(cpi[index].tolist())
D_lowSpace = distance.squareform(distance.pdist(projectionsAll[index])) D_lowSpace = distance.squareform(distance.pdist(projectionsAll[index]))
D_lowSpaceList.append(D_lowSpace) D_lowSpaceList.append(D_lowSpace)
@ -372,10 +406,13 @@ def background_process():
global overalProjectionsNumber global overalProjectionsNumber
global metricsMatrix global metricsMatrix
global metricsMatrixEntire global metricsMatrixEntire
global SelectedProjectionsBeta
global SelectedProjectionsCPP
global SelectedProjectionsCPI
while (len(projectionsAll) != overalProjectionsNumber): while (len(projectionsAll) != overalProjectionsNumber):
pass pass
return jsonify({ 'projections': SelectedProjectionsReturn, 'parameters': SelectedListofParams, 'metrics': metricsMatrix, 'metricsEntire': metricsMatrixEntire }) return jsonify({ 'projections': SelectedProjectionsReturn, 'parameters': SelectedListofParams, 'metrics': metricsMatrix, 'metricsEntire': metricsMatrixEntire, 'betas': SelectedProjectionsBeta, 'cpp': SelectedProjectionsCPP, 'cpi': SelectedProjectionsCPI})
@app.route('/receiverOptimizer', methods = ['POST']) @app.route('/receiverOptimizer', methods = ['POST'])
def OptimizeSelection(): def OptimizeSelection():
@ -462,6 +499,69 @@ def SendOptimizedProjections():
return jsonify({'metrics': metricsMatrixSel, 'metricsEntire': metricsMatrixEntireSel }) return jsonify({'metrics': metricsMatrixSel, 'metricsEntire': metricsMatrixEntireSel })
@app.route('/receiverSingle', methods = ['POST'])
def singleParameters():
data = request.get_data().decode('utf8').replace("'", '"')
data = json.loads(data)
global dataProc
dataProc, length, labels = preprocess(data[3])
DEFAULT_NO_DIMS = 2
VERBOSE = False
DEFAULT_USE_PCA = True
randseed=1137
perplexity = int(data[0])
learning_rate = int(data[1])
n_iter = int(data[2])
global projectionsAll
listofParamsPlusData = []
listofParamsAll= []
listofParamsPlusData.append((dataProc,DEFAULT_NO_DIMS,perplexity,learning_rate,randseed,VERBOSE,length,DEFAULT_USE_PCA,n_iter,True,True,True))
listofParamsAll.append((perplexity,learning_rate,n_iter))
projectionsAll, betas, cpp, cpi = wrapGetResults(listofParamsPlusData)
global SelectedProjectionsReturn
SelectedProjectionsReturn = []
global SelectedProjectionsBeta
SelectedProjectionsBeta = []
global SelectedProjectionsCPP
SelectedProjectionsCPP = []
global SelectedProjectionsCPI
SelectedProjectionsCPI = []
SelectedProjectionsReturn.append(projectionsAll[0].tolist())
SelectedProjectionsBeta.append(betas[0].tolist())
SelectedProjectionsCPP.append(cpp[0].tolist())
SelectedProjectionsCPI.append(cpi[0].tolist())
return 'OK'
@app.route('/senderSingle')
def sendSingle():
global projectionsAll
global SelectedProjectionsReturn
global SelectedProjectionsBeta
global SelectedProjectionsCPP
global SelectedProjectionsCPI
while (len(projectionsAll) != 1):
pass
return jsonify({ 'projections': SelectedProjectionsReturn, 'betas': SelectedProjectionsBeta, 'cpp': SelectedProjectionsCPP, 'cpi': SelectedProjectionsCPI})
if __name__ == '__main__': if __name__ == '__main__':
app.run("0.0.0.0", "5000") app.run("0.0.0.0", "5000")

@ -10,14 +10,12 @@
int main() { int main() {
// Define some variables // Define some variables
int origN, N, D, no_dims, max_iter, *landmarks; int origN, N, D, no_dims, max_iter;
double perc_landmarks;
double perplexity, theta, *data; double perplexity, theta, *data;
int rand_seed = -1; int rand_seed = -1;
TSNE* tsne = new TSNE();
// Read the parameters and the dataset // Read the parameters and the dataset
if(tsne->load_data(&data, &origN, &D, &no_dims, &theta, &perplexity, &rand_seed, &max_iter)) { if(TSNE::load_data(&data, &origN, &D, &no_dims, &theta, &perplexity, &rand_seed, &max_iter)) {
// Make dummy landmarks // Make dummy landmarks
N = origN; N = origN;
@ -29,10 +27,10 @@ int main() {
double* Y = (double*) malloc(N * no_dims * sizeof(double)); double* Y = (double*) malloc(N * no_dims * sizeof(double));
double* costs = (double*) calloc(N, sizeof(double)); double* costs = (double*) calloc(N, sizeof(double));
if(Y == NULL || costs == NULL) { printf("Memory allocation failed!\n"); exit(1); } if(Y == NULL || costs == NULL) { printf("Memory allocation failed!\n"); exit(1); }
tsne->run(data, N, D, Y, no_dims, perplexity, theta, rand_seed, false, max_iter); TSNE::run(data, N, D, Y, no_dims, perplexity, theta, rand_seed, false, max_iter, 250, 250, 1);
// Save the results // Save the results
tsne->save_data(Y, landmarks, costs, N, no_dims); TSNE::save_data(Y, landmarks, costs, N, no_dims);
// Clean up the memory // Clean up the memory
free(data); data = NULL; free(data); data = NULL;
@ -40,5 +38,4 @@ int main() {
free(costs); costs = NULL; free(costs); costs = NULL;
free(landmarks); landmarks = NULL; free(landmarks); landmarks = NULL;
} }
delete(tsne);
} }

Loading…
Cancel
Save