nkululeko 0.76.0__py3-none-any.whl → 0.77.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. nkululeko/augment.py +1 -1
  2. nkululeko/augmenting/augmenter.py +1 -1
  3. nkululeko/augmenting/randomsplicer.py +1 -1
  4. nkululeko/augmenting/resampler.py +4 -9
  5. nkululeko/autopredict/ap_age.py +2 -4
  6. nkululeko/autopredict/ap_arousal.py +2 -4
  7. nkululeko/autopredict/ap_dominance.py +2 -4
  8. nkululeko/autopredict/ap_gender.py +2 -4
  9. nkululeko/autopredict/ap_mos.py +2 -4
  10. nkululeko/autopredict/ap_pesq.py +2 -4
  11. nkululeko/autopredict/ap_sdr.py +2 -4
  12. nkululeko/autopredict/ap_snr.py +2 -4
  13. nkululeko/autopredict/ap_stoi.py +2 -4
  14. nkululeko/autopredict/ap_valence.py +2 -4
  15. nkululeko/constants.py +1 -1
  16. nkululeko/data/dataset.py +8 -5
  17. nkululeko/demo.py +4 -10
  18. nkululeko/demo_predictor.py +1 -1
  19. nkululeko/experiment.py +10 -5
  20. nkululeko/explore.py +6 -13
  21. nkululeko/export.py +14 -25
  22. nkululeko/feat_extract/feats_analyser.py +121 -17
  23. nkululeko/feat_extract/feats_clap.py +4 -10
  24. nkululeko/feat_extract/feats_import.py +2 -4
  25. nkululeko/feat_extract/feats_mld.py +4 -9
  26. nkululeko/feat_extract/feats_mos.py +5 -13
  27. nkululeko/feat_extract/feats_oxbow.py +5 -12
  28. nkululeko/feat_extract/feats_snr.py +3 -7
  29. nkululeko/feat_extract/feats_squim.py +5 -13
  30. nkululeko/feat_extract/feats_trill.py +5 -13
  31. nkululeko/feat_extract/featureset.py +2 -4
  32. nkululeko/feat_extract/feinberg_praat.py +1 -1
  33. nkululeko/feature_extractor.py +1 -1
  34. nkululeko/file_checker.py +5 -5
  35. nkululeko/filter_data.py +6 -16
  36. nkululeko/modelrunner.py +1 -1
  37. nkululeko/models/model.py +1 -1
  38. nkululeko/models/model_cnn.py +1 -1
  39. nkululeko/models/model_mlp.py +1 -1
  40. nkululeko/models/model_mlp_regression.py +1 -1
  41. nkululeko/nkululeko.py +5 -13
  42. nkululeko/plots.py +40 -3
  43. nkululeko/predict.py +5 -13
  44. nkululeko/reporter.py +1 -1
  45. nkululeko/reporting/latex_writer.py +14 -9
  46. nkululeko/reporting/report.py +2 -1
  47. nkululeko/resample.py +5 -13
  48. nkululeko/runmanager.py +1 -1
  49. nkululeko/scaler.py +1 -1
  50. nkululeko/segment.py +1 -1
  51. nkululeko/segmenting/seg_silero.py +3 -5
  52. nkululeko/test.py +4 -10
  53. nkululeko/test_predictor.py +1 -1
  54. nkululeko/utils/stats.py +8 -0
  55. {nkululeko-0.76.0.dist-info → nkululeko-0.77.1.dist-info}/METADATA +12 -1
  56. nkululeko-0.77.1.dist-info/RECORD +104 -0
  57. nkululeko/balancer.py +0 -1
  58. nkululeko/split/__init__.py +0 -3
  59. nkululeko/split/example_binning.py +0 -27
  60. nkululeko/split/example_trainDevTestSplit.py +0 -81
  61. nkululeko/split/example_trainTestSplit.py +0 -77
  62. nkululeko/split/split_utils.py +0 -528
  63. nkululeko-0.76.0.dist-info/RECORD +0 -110
  64. /nkululeko/{util.py → utils/util.py} +0 -0
  65. {nkululeko-0.76.0.dist-info → nkululeko-0.77.1.dist-info}/LICENSE +0 -0
  66. {nkululeko-0.76.0.dist-info → nkululeko-0.77.1.dist-info}/WHEEL +0 -0
  67. {nkululeko-0.76.0.dist-info → nkululeko-0.77.1.dist-info}/top_level.txt +0 -0
nkululeko/models/model.py CHANGED
@@ -1,5 +1,5 @@
1
1
  # model.py
2
- from nkululeko.util import Util
2
+ from nkululeko.utils.util import Util
3
3
  import pandas as pd
4
4
  import numpy as np
5
5
  import nkululeko.glob_conf as glob_conf
@@ -16,7 +16,7 @@ from sklearn.metrics import recall_score
16
16
  from collections import OrderedDict
17
17
  from PIL import Image
18
18
 
19
- from nkululeko.util import Util
19
+ from nkululeko.utils.util import Util
20
20
  import nkululeko.glob_conf as glob_conf
21
21
  from nkululeko.models.model import Model
22
22
  from nkululeko.reporter import Reporter
@@ -1,5 +1,5 @@
1
1
  # model_mlp.py
2
- from nkululeko.util import Util
2
+ from nkululeko.utils.util import Util
3
3
  import nkululeko.glob_conf as glob_conf
4
4
  from nkululeko.models.model import Model
5
5
  from nkululeko.reporter import Reporter
@@ -1,5 +1,5 @@
1
1
  # model_mlp.py
2
- from nkululeko.util import Util
2
+ from nkululeko.utils.util import Util
3
3
  import nkululeko.glob_conf as glob_conf
4
4
  from nkululeko.models.model import Model
5
5
  from nkululeko.reporter import Reporter
nkululeko/nkululeko.py CHANGED
@@ -5,17 +5,13 @@ import os.path
5
5
  import configparser
6
6
  import argparse
7
7
  import nkululeko.experiment as exp
8
- from nkululeko.util import Util
8
+ from nkululeko.utils.util import Util
9
9
  from nkululeko.constants import VERSION
10
10
 
11
11
 
12
12
  def main(src_dir):
13
- parser = argparse.ArgumentParser(
14
- description="Call the nkululeko framework."
15
- )
16
- parser.add_argument(
17
- "--config", default="exp.ini", help="The base configuration"
18
- )
13
+ parser = argparse.ArgumentParser(description="Call the nkululeko framework.")
14
+ parser.add_argument("--config", default="exp.ini", help="The base configuration")
19
15
  args = parser.parse_args()
20
16
  if args.config is not None:
21
17
  config_file = args.config
@@ -49,9 +45,7 @@ def main(src_dir):
49
45
 
50
46
  # split into train and test
51
47
  expr.fill_train_and_tests()
52
- util.debug(
53
- f"train shape : {expr.df_train.shape}, test shape:{expr.df_test.shape}"
54
- )
48
+ util.debug(f"train shape : {expr.df_train.shape}, test shape:{expr.df_test.shape}")
55
49
 
56
50
  # extract features
57
51
  expr.extract_feats()
@@ -69,6 +63,4 @@ def main(src_dir):
69
63
 
70
64
  if __name__ == "__main__":
71
65
  cwd = os.path.dirname(os.path.abspath(__file__))
72
- main(
73
- cwd
74
- ) # use this if you want to state the config file path on command line
66
+ main(cwd) # use this if you want to state the config file path on command line
nkululeko/plots.py CHANGED
@@ -6,7 +6,7 @@ import seaborn as sns
6
6
  import numpy as np
7
7
  import ast
8
8
  from scipy import stats
9
- from nkululeko.util import Util
9
+ from nkululeko.utils.util import Util
10
10
  import nkululeko.utils.stats as su
11
11
  import nkululeko.glob_conf as glob_conf
12
12
  from nkululeko.reporting.report_item import ReportItem
@@ -347,9 +347,18 @@ class Plots:
347
347
  kind="bar", ax=axes, title=f"samples ({sampl_num})"
348
348
  )
349
349
  # plt.tight_layout()
350
- plt.savefig(f"{fig_dir}{filename}.{self.format}")
350
+ img_path = f"{fig_dir}{filename}.{self.format}"
351
+ plt.savefig(img_path)
351
352
  fig.clear()
352
353
  plt.close(fig)
354
+ glob_conf.report.add_item(
355
+ ReportItem(
356
+ Header.HEADER_EXPLORE,
357
+ f"Overview on {df.shape[0]} samples",
358
+ "",
359
+ img_path,
360
+ )
361
+ )
353
362
 
354
363
  def scatter_plot(self, feats, label_df, label, dimred_type):
355
364
  fig_dir = self.util.get_path("fig_dir") + "../" # one up because of the runs
@@ -401,6 +410,14 @@ class Plots:
401
410
  plt.savefig(filename)
402
411
  fig.clear()
403
412
  plt.close(fig)
413
+ glob_conf.report.add_item(
414
+ ReportItem(
415
+ Header.HEADER_EXPLORE,
416
+ f"Scatter plot",
417
+ f"using {dimred_type}",
418
+ filename,
419
+ )
420
+ )
404
421
 
405
422
  def plotTsne(self, feats, labels, filename, perplexity=30, learning_rate=200):
406
423
  """Make a TSNE plot to see whether features are useful for classification"""
@@ -439,8 +456,10 @@ class Plots:
439
456
  return tsne_data
440
457
 
441
458
  def plot_feature(self, title, feature, label, df_labels, df_features):
459
+ # remove fullstops in the name
460
+ feature_name = feature.replace(".", "-")
442
461
  fig_dir = self.util.get_path("fig_dir") + "../" # one up because of the runs
443
- filename = f"{fig_dir}feat_dist_{title}_{feature}.{self.format}"
462
+ filename = f"{fig_dir}feat_dist_{title}_{feature_name}.{self.format}"
444
463
  if self.util.is_categorical(df_labels[label]):
445
464
  df_plot = pd.DataFrame(
446
465
  {label: df_labels[label], feature: df_features[feature]}
@@ -458,6 +477,16 @@ class Plots:
458
477
  plt.savefig(filename)
459
478
  fig.clear()
460
479
  plt.close(fig)
480
+ caption = f"Feature plot for feature {feature}"
481
+ content = caption
482
+ glob_conf.report.add_item(
483
+ ReportItem(
484
+ Header.HEADER_EXPLORE,
485
+ caption,
486
+ content,
487
+ filename,
488
+ )
489
+ )
461
490
 
462
491
  def plot_tree(self, model, features):
463
492
  from sklearn import tree
@@ -476,3 +505,11 @@ class Plots:
476
505
  fig.savefig(filename)
477
506
  fig.clear()
478
507
  plt.close(fig)
508
+ glob_conf.report.add_item(
509
+ ReportItem(
510
+ Header.HEADER_EXPLORE,
511
+ f"Tree plot",
512
+ f"for feature importance",
513
+ filename,
514
+ )
515
+ )
nkululeko/predict.py CHANGED
@@ -3,19 +3,15 @@
3
3
 
4
4
  from nkululeko.experiment import Experiment
5
5
  import configparser
6
- from nkululeko.util import Util
6
+ from nkululeko.utils.util import Util
7
7
  from nkululeko.constants import VERSION
8
8
  import argparse
9
9
  import os
10
10
 
11
11
 
12
12
  def main(src_dir):
13
- parser = argparse.ArgumentParser(
14
- description="Call the nkululeko framework."
15
- )
16
- parser.add_argument(
17
- "--config", default="exp.ini", help="The base configuration"
18
- )
13
+ parser = argparse.ArgumentParser(description="Call the nkululeko framework.")
14
+ parser.add_argument("--config", default="exp.ini", help="The base configuration")
19
15
  args = parser.parse_args()
20
16
  if args.config is not None:
21
17
  config_file = args.config
@@ -43,9 +39,7 @@ def main(src_dir):
43
39
 
44
40
  # split into train and test
45
41
  expr.fill_train_and_tests()
46
- util.debug(
47
- f"train shape : {expr.df_train.shape}, test shape:{expr.df_test.shape}"
48
- )
42
+ util.debug(f"train shape : {expr.df_train.shape}, test shape:{expr.df_test.shape}")
49
43
 
50
44
  # process the data
51
45
  df = expr.autopredict()
@@ -61,6 +55,4 @@ def main(src_dir):
61
55
 
62
56
  if __name__ == "__main__":
63
57
  cwd = os.path.dirname(os.path.abspath(__file__))
64
- main(
65
- cwd
66
- ) # use this if you want to state the config file path on command line
58
+ main(cwd) # use this if you want to state the config file path on command line
nkululeko/reporter.py CHANGED
@@ -21,7 +21,7 @@ import nkululeko.glob_conf as glob_conf
21
21
  from nkululeko.reporting.report_item import ReportItem
22
22
  from nkululeko.result import Result
23
23
  from nkululeko.reporting.defines import Header
24
- from nkululeko.util import Util
24
+ from nkululeko.utils.util import Util
25
25
 
26
26
 
27
27
  class Reporter:
@@ -6,7 +6,7 @@ print out report as latex file and pdf
6
6
  from pylatex import Document, Section, Subsection, Command, Figure
7
7
  from pylatex.utils import italic, NoEscape
8
8
  from nkululeko.reporting.report_item import ReportItem
9
- from nkululeko.util import Util
9
+ from nkululeko.utils.util import Util
10
10
 
11
11
 
12
12
  class LatexWriter:
@@ -27,15 +27,20 @@ class LatexWriter:
27
27
  with self.doc.create(Subsection(ri.caption)):
28
28
  self.doc.append(ri.contents)
29
29
  if ri.has_image:
30
- with self.doc.create(Figure(position='h!')) as pic:
31
- pic.add_image(ri.image, width='250px')
30
+ with self.doc.create(Figure(position="h!")) as pic:
31
+ pic.add_image(ri.image, width="250px")
32
32
  pic.add_caption(ri.caption)
33
+ # reference = pic.dumps_as_content()
34
+ # self.doc.append(f"See figure: {reference}")
33
35
 
34
36
  def finish_doc(self):
35
- target_filename = self.util.config_val(
36
- "REPORT", "latex", "nkululeko_latex"
37
- )
37
+ from subprocess import CalledProcessError
38
+
39
+ target_filename = self.util.config_val("REPORT", "latex", "nkululeko_latex")
38
40
  target_dir = self.util.get_exp_dir()
39
- path = '/'.join([target_dir, target_filename])
40
- self.util.debug(f'Generated latex report to {path}')
41
- self.doc.generate_pdf(path, clean_tex=False)
41
+ path = "/".join([target_dir, target_filename])
42
+ self.util.debug(f"Generated latex report to {path}")
43
+ try:
44
+ self.doc.generate_pdf(path, clean_tex=False)
45
+ except CalledProcessError as e:
46
+ self.util.debug(f"Error while generating PDF file: {e}")
@@ -4,10 +4,11 @@ report.py
4
4
  Collector class for report items collected during module processing.
5
5
 
6
6
  """
7
- from nkululeko.util import Util
7
+ from nkululeko.utils.util import Util
8
8
  from nkululeko.reporting.report_item import ReportItem
9
9
  from nkululeko.reporting.latex_writer import LatexWriter
10
10
 
11
+
11
12
  class Report:
12
13
  def __init__(self):
13
14
  self.report_items = {}
nkululeko/resample.py CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  from nkululeko.experiment import Experiment
5
5
  import configparser
6
- from nkululeko.util import Util
6
+ from nkululeko.utils.util import Util
7
7
  from nkululeko.constants import VERSION
8
8
  import argparse
9
9
  import os
@@ -12,12 +12,8 @@ from nkululeko.augmenting.resampler import Resampler
12
12
 
13
13
 
14
14
  def main(src_dir):
15
- parser = argparse.ArgumentParser(
16
- description="Call the nkululeko framework."
17
- )
18
- parser.add_argument(
19
- "--config", default="exp.ini", help="The base configuration"
20
- )
15
+ parser = argparse.ArgumentParser(description="Call the nkululeko framework.")
16
+ parser.add_argument("--config", default="exp.ini", help="The base configuration")
21
17
  args = parser.parse_args()
22
18
  if args.config is not None:
23
19
  config_file = args.config
@@ -50,9 +46,7 @@ def main(src_dir):
50
46
 
51
47
  # split into train and test
52
48
  expr.fill_train_and_tests()
53
- util.debug(
54
- f"train shape : {expr.df_train.shape}, test shape:{expr.df_test.shape}"
55
- )
49
+ util.debug(f"train shape : {expr.df_train.shape}, test shape:{expr.df_test.shape}")
56
50
 
57
51
  sample_selection = util.config_val("RESAMPLE", "sample_selection", "all")
58
52
  if sample_selection == "all":
@@ -74,6 +68,4 @@ def main(src_dir):
74
68
 
75
69
  if __name__ == "__main__":
76
70
  cwd = os.path.dirname(os.path.abspath(__file__))
77
- main(
78
- cwd
79
- ) # use this if you want to state the config file path on command line
71
+ main(cwd) # use this if you want to state the config file path on command line
nkululeko/runmanager.py CHANGED
@@ -1,7 +1,7 @@
1
1
  # runmanager.py
2
2
 
3
3
  from nkululeko.reporter import Reporter
4
- from nkululeko.util import Util
4
+ from nkululeko.utils.util import Util
5
5
  import nkululeko.glob_conf as glob_conf
6
6
  from nkululeko.modelrunner import Modelrunner
7
7
 
nkululeko/scaler.py CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  from sklearn.preprocessing import StandardScaler, RobustScaler
5
5
  import pandas as pd
6
- from nkululeko.util import Util
6
+ from nkululeko.utils.util import Util
7
7
 
8
8
 
9
9
  class Scaler:
nkululeko/segment.py CHANGED
@@ -6,7 +6,7 @@ import os
6
6
  import pandas as pd
7
7
  import configparser
8
8
  from nkululeko.experiment import Experiment
9
- from nkululeko.util import Util
9
+ from nkululeko.utils.util import Util
10
10
  from nkululeko.constants import VERSION
11
11
  import nkululeko.glob_conf as glob_conf
12
12
  from nkululeko.reporting.report_item import ReportItem
@@ -7,11 +7,11 @@ segment a dataset with the Silero segmenter
7
7
 
8
8
  import torch
9
9
  import pandas as pd
10
- from tqdm import tqdm
10
+ from tqdm import tqdm
11
11
  import audformat
12
12
  from audformat.utils import to_filewise_index
13
13
  from audformat import segmented_index
14
- from nkululeko.util import Util
14
+ from nkululeko.utils.util import Util
15
15
 
16
16
  # from nkululeko.constants import SAMPLING_RATE
17
17
 
@@ -44,9 +44,7 @@ class Silero_segmenter:
44
44
  SAMPLING_RATE = 16000
45
45
  if self.no_testing:
46
46
  min_length = float(self.util.config_val("SEGMENT", "min_length", 2))
47
- max_length = float(
48
- self.util.config_val("SEGMENT", "max_length", 10)
49
- )
47
+ max_length = float(self.util.config_val("SEGMENT", "max_length", 10))
50
48
  else:
51
49
  min_length = 2
52
50
  max_length = 10
nkululeko/test.py CHANGED
@@ -3,19 +3,15 @@
3
3
 
4
4
  from nkululeko.experiment import Experiment
5
5
  import configparser
6
- from nkululeko.util import Util
6
+ from nkululeko.utils.util import Util
7
7
  from nkululeko.constants import VERSION
8
8
  import argparse
9
9
  import os
10
10
 
11
11
 
12
12
  def main(src_dir):
13
- parser = argparse.ArgumentParser(
14
- description="Call the nkululeko framework."
15
- )
16
- parser.add_argument(
17
- "--config", default="exp.ini", help="The base configuration"
18
- )
13
+ parser = argparse.ArgumentParser(description="Call the nkululeko framework.")
14
+ parser.add_argument("--config", default="exp.ini", help="The base configuration")
19
15
  parser.add_argument(
20
16
  "--outfile",
21
17
  default="my_results.csv",
@@ -54,6 +50,4 @@ def main(src_dir):
54
50
 
55
51
  if __name__ == "__main__":
56
52
  cwd = os.path.dirname(os.path.abspath(__file__))
57
- main(
58
- cwd
59
- ) # use this if you want to state the config file path on command line
53
+ main(cwd) # use this if you want to state the config file path on command line
@@ -3,7 +3,7 @@
3
3
 
4
4
  """
5
5
  import nkululeko.glob_conf as glob_conf
6
- from nkululeko.util import Util
6
+ from nkululeko.utils.util import Util
7
7
  import pandas as pd
8
8
  from nkululeko.data.dataset import Dataset
9
9
  from nkululeko.feature_extractor import FeatureExtractor
nkululeko/utils/stats.py CHANGED
@@ -85,3 +85,11 @@ def cohens_D_to_string(val):
85
85
  else:
86
86
  rval = "large effect"
87
87
  return f"Cohen's d: {rval}"
88
+
89
+
90
+ def normalize(values):
91
+ """Do a z-transformation of a distribution, so that mean = 0 and variance = 1"""
92
+ from sklearn.preprocessing import StandardScaler
93
+
94
+ scaler = StandardScaler()
95
+ return scaler.fit_transform(values)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nkululeko
3
- Version: 0.76.0
3
+ Version: 0.77.1
4
4
  Summary: Machine learning audio prediction experiments based on templates
5
5
  Home-page: https://github.com/felixbur/nkululeko
6
6
  Author: Felix Burkhardt
@@ -33,6 +33,7 @@ Requires-Dist: scikit-learn
33
33
  Requires-Dist: scipy
34
34
  Requires-Dist: seaborn
35
35
  Requires-Dist: sounddevice
36
+ Requires-Dist: splitutils
36
37
  Requires-Dist: tensorflow
37
38
  Requires-Dist: tensorflow-hub
38
39
  Requires-Dist: torch
@@ -308,6 +309,16 @@ F. Burkhardt, Johannes Wagner, Hagen Wierstorf, Florian Eyben and Björn Schulle
308
309
  Changelog
309
310
  =========
310
311
 
312
+ Version 0.77.1
313
+ --------------
314
+ * added permutation algorithm to compute feature importance
315
+ * shifted util.py to utils
316
+
317
+ Version 0.77.0
318
+ --------------
319
+ * added more latex report output
320
+ * got splitutils from a package
321
+
311
322
  Version 0.76.0
312
323
  --------------
313
324
  * added possibility to aggregate feature importance models
@@ -0,0 +1,104 @@
1
+ nkululeko/__init__.py,sha256=62f8HiEzJ8rG2QlTFJXUCMpvuH3fKI33DoJSj33mscc,63
2
+ nkululeko/augment.py,sha256=IZFawvv5GgSfK0QsrQfVkIfEm0kjoK4DWj8vP9GnU8M,2686
3
+ nkululeko/cacheddataset.py,sha256=lIJ6hUo5LoxSrzXtWV8mzwO7wRtUETWnOQ4ws2XfL1E,969
4
+ nkululeko/constants.py,sha256=rnEDMLKd0n74AGnMGQoidO0S-qk4TOQTN8rGc_3kp8E,39
5
+ nkululeko/demo.py,sha256=FFR8qHMCY8kKKRWDTa8xA7A8mWeYalRKYNtV5rjGg44,1915
6
+ nkululeko/demo_predictor.py,sha256=j4ySWWcIxW7ZAIBH86m9BfRFokzrUNkRD6fpsvAQGTw,2629
7
+ nkululeko/experiment.py,sha256=3kgZ59U5XnTrZWv3o9vdB1bcUScKBiP_oE2FPGXmjc0,28720
8
+ nkululeko/explore.py,sha256=pfciOL66e0T4Bk0RTkwDyE6pK_baSUdjMo2Ybpst3L4,2202
9
+ nkululeko/export.py,sha256=mHeEAAmtZuxdyebLlbSzPrHSi9OMgJHbk35d3DTxRBc,4632
10
+ nkululeko/feature_extractor.py,sha256=tKv1b1-o7xNMgBavTR8VY8_H5HKoJEnnosS-KcjmOEU,7281
11
+ nkululeko/file_checker.py,sha256=LoLnL8aHpW-axMQ46qbqrManTs5otG9ShpEZuz9iRSk,3474
12
+ nkululeko/filter_data.py,sha256=w-X2mhKdYr5DxDIz50E5yzO6Jmzk4jjDBoXsgOOVtcA,7222
13
+ nkululeko/glob_conf.py,sha256=6MZe83QCgHD_zB79Sl9m6UJQASwfqJlyb-1nqrQ_6Iw,381
14
+ nkululeko/modelrunner.py,sha256=KZPoalwtl9k2SCVPhpaAjUGtPafzjUxhtYSGc75OUwk,9037
15
+ nkululeko/nkululeko.py,sha256=MyjjbCg8qgLHHpvwJOEHBGNCDKf0GTv7gnXX27L56R4,1724
16
+ nkululeko/plots.py,sha256=l-bxUoChkCIMsLPK4hMZyIWfuPNN_n-3g8Usc4sJ85A,21262
17
+ nkululeko/predict.py,sha256=dRXX-sQVESa7cNi_56S6UkUOa_pV1g_K4xYtYVM1SJs,1876
18
+ nkululeko/reporter.py,sha256=wrtWbU_UKDwhKQNMi7Q_Ix5N_UTzTagRwZikgUGk1c8,11606
19
+ nkululeko/resample.py,sha256=C2S3aOTwlx5iYah_hs0JARHBC8Cq4Z5cH_mnDMb5RKk,2185
20
+ nkululeko/result.py,sha256=HeiOrrqf9W2yxMryN33zgEmQejNWRxNmm589AYt6-eM,499
21
+ nkululeko/runmanager.py,sha256=HjAesq19ZbDg5imMOjhqnt063W7JGggm6bY06h6bfM8,7085
22
+ nkululeko/scaler.py,sha256=HVXMjmzDAj87K9O4aPU6aeqBk-ACVzQBTHOf1RwDCaM,3055
23
+ nkululeko/segment.py,sha256=DfJYZsCEH41gwKyjpMgv8kWUzfVkmC0wWTbgHOL4i4g,4787
24
+ nkululeko/syllable_nuclei.py,sha256=Sky-C__MeUDaxqHnDl2TGLLYOYvsahD35TUjWGeG31k,10047
25
+ nkululeko/test.py,sha256=cRtOn_d3Fh2kZmnT4nnQeGzZTRtpr5jRhowykOwunME,1421
26
+ nkululeko/test_predictor.py,sha256=8eyHJ_YNIwR2OfICkqo7zF2f7UP8nL0nzCwC-8XnkZY,2409
27
+ nkululeko/augmenting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
+ nkululeko/augmenting/augmenter.py,sha256=hk5jkFGdmCg2IgE4UQPsv0kFdgefO5pSrq9QjCjA5Io,2306
29
+ nkululeko/augmenting/randomsplicer.py,sha256=OIBmfzyx1vhKl1cUQGlQw-CWZwsCV8XG9miITb41CT0,2395
30
+ nkululeko/augmenting/randomsplicing.py,sha256=ldym9vZNsZIU5BAAaJVaOmAgmVHNs4a5i5K3bW-WAQU,1791
31
+ nkululeko/augmenting/resampler.py,sha256=cRrn27w_f2I6aN0CftlTuHT2edi7pTREh3Yc6BxhcGU,3335
32
+ nkululeko/autopredict/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
+ nkululeko/autopredict/ap_age.py,sha256=2Wn5E-Jd49sTn40WqaMcYtUEl4zEq3OY75XmjOpdxsA,1095
34
+ nkululeko/autopredict/ap_arousal.py,sha256=ymt0diu4v1osw3VxJbSglsVKDAJYRzebQ2TTfFMKKxk,1024
35
+ nkululeko/autopredict/ap_dominance.py,sha256=CIMjbHpYfJBV_F2y0Hen5U7WastuArDOkBmXY437efs,1039
36
+ nkululeko/autopredict/ap_gender.py,sha256=gVCMYHpcVp56xWIeI4HA0MJLLINRgvzrKC_wladnbiE,1008
37
+ nkululeko/autopredict/ap_mos.py,sha256=tmFBIKO0lW19fciH9syLnOLI699I_WU0yn1axdo6iEw,1104
38
+ nkululeko/autopredict/ap_pesq.py,sha256=3Zvl47jyCLv7NXwbaDlOhltVcpskcHoU8CcjCJWGkMc,1137
39
+ nkululeko/autopredict/ap_sdr.py,sha256=qpgvJGl0NYMa8o7zHS4qU4dfY1Ey_R1p-0T8BnX3uNs,1185
40
+ nkululeko/autopredict/ap_snr.py,sha256=xHb7mmGfa4wF1r0GK7dIZ1d9m4cEz0LcpK0n3sLF9pQ,1107
41
+ nkululeko/autopredict/ap_stoi.py,sha256=It0Lk-ki-gohA2AzD8nkLAN2WahYvD9rPDGTQuvdLRA,1184
42
+ nkululeko/autopredict/ap_valence.py,sha256=n-hctRKySzhmJtowuMOTUu0T_ld3uK5pnfOzWeWW4VM,1024
43
+ nkululeko/autopredict/estimate_snr.py,sha256=kJbvkt2alMN5ouS03USheU7hJ2l7U9JF0s9AtNT1Vx0,4818
44
+ nkululeko/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
+ nkululeko/data/dataset.py,sha256=-HLten8BFwb2T03CqSNaU4h98UbrXIkqlX7J8H95b6Y,27035
46
+ nkululeko/data/dataset_csv.py,sha256=9ysujWHQnOHLWtJxGtvdpHE3c_sM_l9svFYWYCpamVs,3094
47
+ nkululeko/feat_extract/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
+ nkululeko/feat_extract/feats_agender.py,sha256=sDfsvSC2zt1JLn5rmB7bdck1JmXIIol3oIwN90TossM,2867
49
+ nkululeko/feat_extract/feats_agender_agender.py,sha256=UYATYWE-zCt9F1qA4xQbYZ2qM7DT2nwGxk7vSiyhit4,2953
50
+ nkululeko/feat_extract/feats_analyser.py,sha256=d3CKceTwT-wVtk1Zyeow3nFyTevBwfaWsmzEh-fXGZ4,10007
51
+ nkululeko/feat_extract/feats_audmodel.py,sha256=sZD8NBC3qId4ygzBvW5RvKVgCC1zxvO_cyFazYOEwCk,2901
52
+ nkululeko/feat_extract/feats_audmodel_dim.py,sha256=z48s-FXokREnir_dNMl8fNI5PLCXzOhvmjgfCjTDjh8,2817
53
+ nkululeko/feat_extract/feats_clap.py,sha256=v82mbjdjGDSKUUBggttw7jW0oka22fWAmfUf-4VmaDU,3379
54
+ nkululeko/feat_extract/feats_hubert.py,sha256=uL-9mgQHuGPQi1nuUaw6aNU9DscsO89uJAmBdmnCegM,5205
55
+ nkululeko/feat_extract/feats_import.py,sha256=SqTuNdbInOO_oXucSlwCTfNz6OUCNyJfUrGX_cS9Mn0,2054
56
+ nkululeko/feat_extract/feats_mld.py,sha256=Vvu7GZOkn7Vda8eIOXqHjg78zegkFe3vTUaCXyVM0eA,2021
57
+ nkululeko/feat_extract/feats_mos.py,sha256=XZI7U99QcSuzd1v5pVAo0JwdcrXrRICUNt_K5G6eRPU,4149
58
+ nkululeko/feat_extract/feats_opensmile.py,sha256=yDRGSiUQV3K3oLxVqq8Cxj5bkc-RiLzDYbAGKC9I5vc,4140
59
+ nkululeko/feat_extract/feats_oxbow.py,sha256=7W26NbEJnSckZzedolsIW1PJPSdCHhuh8YM19kOxaMA,4734
60
+ nkululeko/feat_extract/feats_praat.py,sha256=dqPhAUceze_6LN6vivXJFT2PPDXZKjmzYx0XnYKYGE8,3039
61
+ nkululeko/feat_extract/feats_snr.py,sha256=T2ID_AtlSg8QA086ys4gg83Z4MzMTThhGToGEpHU8eo,2771
62
+ nkululeko/feat_extract/feats_spectra.py,sha256=PLKoc_S3v3wibodUCiOnFFdF87U2rk2sfndRo2mmG64,3656
63
+ nkululeko/feat_extract/feats_spkrec.py,sha256=VK4ma3uWzM0YZStsgRTirfkbzjWIfRWSgsYI038QlRY,4803
64
+ nkululeko/feat_extract/feats_squim.py,sha256=cbaXMX4DtjxQ6sRDYy_OWPku6I2wStwGeSZTYQ8Yr9M,4309
65
+ nkululeko/feat_extract/feats_trill.py,sha256=X9a6Z5rmZtvHDjmQXqQ2nzWjm3O9Dna1t9OZuf8RiKQ,2888
66
+ nkululeko/feat_extract/feats_wav2vec2.py,sha256=r-HQ-oV6x9Ioe00gNMCTEI5iZuMyHvSUyKFDK_iXrdA,4728
67
+ nkululeko/feat_extract/feats_wavlm.py,sha256=QoLQNYLFJ8BgEyx0lVgb48HHH9LYUOX7pJtKbgNLk1I,4509
68
+ nkululeko/feat_extract/featureset.py,sha256=-ynkdor8iX7BFx10aIbB3LfwxrrzPoBGz9kXwyAJO9M,1375
69
+ nkululeko/feat_extract/feinberg_praat.py,sha256=-pgY8Koq7dFaz-99cjkNqsQn1bsKgPInEuwrfmR0ebA,21253
70
+ nkululeko/losses/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
71
+ nkululeko/losses/loss_ccc.py,sha256=NOK0y0fxKUnU161B5geap6Fmn8QzoPl2MqtPiV8IuJE,976
72
+ nkululeko/losses/loss_softf1loss.py,sha256=5gW-PuiqeAZcRgfwjueIOQtMokOjZWgQnVIv59HKTCo,1309
73
+ nkululeko/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
74
+ nkululeko/models/model.py,sha256=7hrPyqWdgQ5TbQKZTcr-XwK83070IZdWy5Ek7FeeVpQ,11311
75
+ nkululeko/models/model_bayes.py,sha256=N-pWe888RyweS-p7AjfqJjjHgqn9LKr_XgpfhS4mk20,441
76
+ nkululeko/models/model_cnn.py,sha256=ObNSQpADBx3X5m31KPUw0U8q7ztAcc56uBVE2-QSjYo,9249
77
+ nkululeko/models/model_gmm.py,sha256=onovzGBeguwZ-upXtuDLaBw9sd6fDDQslVBOrz1Z8TE,645
78
+ nkululeko/models/model_knn.py,sha256=5tGqiPo2JTw9VLmD-MXNZKFJ5RTLA6uv_blJDJ9lScA,573
79
+ nkululeko/models/model_knn_reg.py,sha256=Fbuk6Ku6eyrbbMEk7rB5dwfhvQOMsdZk6HI_0T0gYPw,580
80
+ nkululeko/models/model_mlp.py,sha256=0Fm1wZd69HoNTrsi3MpS5cOm2Cd7wJALSxoUcr3ELak,8494
81
+ nkululeko/models/model_mlp_regression.py,sha256=nFJwch23tUTCxAlgi3YkT-6KSPPLAE7wFK2zF2gg3F4,9457
82
+ nkululeko/models/model_svm.py,sha256=J1d8mf5T4QHtilkUTBkhegVB_0D2kRY0BiBGz-LUJmw,554
83
+ nkululeko/models/model_svr.py,sha256=au5AtzjEpaY9_7Fz6CQoIZ3s6OAvLUxjAXuqHF9dRbk,514
84
+ nkululeko/models/model_tree.py,sha256=soXjV523eRvRZ-jbX7X_3S73Wto1B9bm7ZzzDmgYzTc,390
85
+ nkululeko/models/model_tree_reg.py,sha256=QxkQEz3LOuCLkXw5xH9IwFg4IcTL3Y5RK03qKe4TtGQ,397
86
+ nkululeko/models/model_xgb.py,sha256=tzcksyGP9-XQGOBqt5gYSrQZsbtbcm5qwSkjnxsIX3I,221
87
+ nkululeko/models/model_xgr.py,sha256=yY6wZV8jdiQCIYQCjYSb8gE0jjeiY44eh3rERe2HDvg,227
88
+ nkululeko/reporting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
89
+ nkululeko/reporting/defines.py,sha256=IsY1YgKRMaABpylVKjBJgJ5bNCEbGCVA_E6pivraqSU,648
90
+ nkululeko/reporting/latex_writer.py,sha256=qiCRSmB4KOD_za4oHu5x-PhwjZohzfo8wecMOwlXZwc,1886
91
+ nkululeko/reporting/report.py,sha256=W0rcigDdjBvxZQ3pZja_gvToILYvaZ1BFtnN2qFRfYI,1060
92
+ nkululeko/reporting/report_item.py,sha256=siWeGNgo4bAE46YBMNcsdf3jTMTy76BO9Fi6DTvDig4,533
93
+ nkululeko/segmenting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
94
+ nkululeko/segmenting/seg_inaspeechsegmenter.py,sha256=pmLHuXsaqvcdYxB4PSW9l1mbQWZZBJFhi_CGabqydas,1947
95
+ nkululeko/segmenting/seg_silero.py,sha256=lLytS38KzARS17omwv8VBw-zz60RVSXGSvZ5EvWlcWQ,3301
96
+ nkululeko/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
97
+ nkululeko/utils/files.py,sha256=UiGAtZRWYjHSvlmPaTMtzyNNGE6qaLaxQkybctS7iRM,4021
98
+ nkululeko/utils/stats.py,sha256=29otJpUp1VqbtDKmlLkPPzBmVfTFiHZ70rUdR4860rM,2788
99
+ nkululeko/utils/util.py,sha256=CY7vfFFa2XnWexq0HoIUIMxxwJ_JkATa2eQplyfqOX4,11293
100
+ nkululeko-0.77.1.dist-info/LICENSE,sha256=0zGP5B_W35yAcGfHPS18Q2B8UhvLRY3dQq1MhpsJU_U,1076
101
+ nkululeko-0.77.1.dist-info/METADATA,sha256=sTdBab1r2GxsamQQWDxym-LjXyYpH4Wl_qpmmU-o_jw,30112
102
+ nkululeko-0.77.1.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
103
+ nkululeko-0.77.1.dist-info/top_level.txt,sha256=DPFNNSHPjUeVKj44dVANAjuVGRCC3MusJ08lc2a8xFA,10
104
+ nkululeko-0.77.1.dist-info/RECORD,,
nkululeko/balancer.py DELETED
@@ -1 +0,0 @@
1
- # balancer
@@ -1,3 +0,0 @@
1
- from nkululeko.constants import VERSION
2
-
3
- __version__ = VERSION
@@ -1,27 +0,0 @@
1
- """
2
- Code copyright by Uwe Reichel
3
- """
4
-
5
- import numpy as np
6
- from split_utils import binning, optimize_traindevtest_split
7
-
8
- np.random.seed(42)
9
- y = np.random.rand(10)
10
-
11
- # intrinsic binning by equidistant percentiles
12
- yci = binning(y, nbins=3)
13
-
14
- # extrinsic binning by explicit lower boundaries
15
- yce = binning(y, lower_boundaries=[0, 0.3, 0.8])
16
-
17
- print("yci:", yci)
18
- print("yce:", yce)
19
-
20
- """
21
- yci: [0 2 2 1 0 0 0 2 1 2]
22
- yce: [1 2 1 1 0 0 0 2 1 1]
23
-
24
- now yci or yce can be used for stratification, e.g.
25
- stratify_on = {"target": yci, ...}
26
- ... = optimize_traindevtest_split(..., y=y, stratify_on=stratify_on, ...)
27
- """