nkululeko 0.77.12__py3-none-any.whl → 0.77.14__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.
nkululeko/constants.py CHANGED
@@ -1,2 +1,2 @@
1
- VERSION="0.77.12"
1
+ VERSION="0.77.14"
2
2
  SAMPLING_RATE = 16000
nkululeko/experiment.py CHANGED
@@ -577,6 +577,9 @@ class Experiment:
577
577
  scale_feats,
578
578
  )
579
579
  self.feats_train, self.feats_test = self.scaler_feats.scale()
580
+ # store versions
581
+ self.util.save_to_store(self.feats_train, "feats_train_scaled")
582
+ self.util.save_to_store(self.feats_test, "feats_test_scaled")
580
583
 
581
584
  def init_runmanager(self):
582
585
  """Initialize the manager object for the runs."""
nkululeko/runmanager.py CHANGED
@@ -70,7 +70,8 @@ class Runmanager:
70
70
  plot_epoch_progression = self.util.config_val(
71
71
  "PLOT", "epoch_progression", 0
72
72
  )
73
- if plot_epoch_progression:
73
+ epoch_num = int(self.util.config_val("EXP", "epochs", 1))
74
+ if epoch_num > 1 and plot_epoch_progression:
74
75
  plot_name_suggest = self.util.get_exp_name()
75
76
  plot_name = (
76
77
  self.util.config_val("PLOT", "name", plot_name_suggest)
@@ -81,7 +82,8 @@ class Runmanager:
81
82
  # remember the best run
82
83
  best_report = self.get_best_result(self.reports)
83
84
  plot_best_model = self.util.config_val("PLOT", "best_model", False)
84
- if plot_best_model:
85
+
86
+ if epoch_num > 1 and plot_best_model:
85
87
  plot_name_suggest = self.util.get_exp_name()
86
88
  plot_name = (
87
89
  self.util.config_val("PLOT", "name", plot_name_suggest)
nkululeko/scaler.py CHANGED
@@ -1,8 +1,9 @@
1
1
  # scaler.py
2
2
 
3
-
3
+ import numpy as np
4
4
  from sklearn.preprocessing import StandardScaler, RobustScaler
5
5
  import pandas as pd
6
+
6
7
  from nkululeko.utils.util import Util
7
8
 
8
9
 
@@ -32,6 +33,8 @@ class Scaler:
32
33
  self.scaler = RobustScaler()
33
34
  elif scaler_type == "speaker":
34
35
  self.scaler = StandardScaler()
36
+ elif scaler_type == "bins":
37
+ pass
35
38
  else:
36
39
  self.util.error("unknown scaler: " + scaler_type)
37
40
  self.scaler_type = scaler_type
@@ -56,10 +59,13 @@ class Scaler:
56
59
  return self.speaker_scale()
57
60
 
58
61
  def scale_all(self):
59
- self.scaler.fit(self.feats_train.values)
60
- self.feats_train = self.scale_df(self.feats_train)
61
- if self.feats_test is not None:
62
- self.feats_test = self.scale_df(self.feats_test)
62
+ if self.scaler_type != "bins":
63
+ self.scaler.fit(self.feats_train.values)
64
+ self.feats_train = self.scale_df(self.feats_train)
65
+ if self.feats_test is not None:
66
+ self.feats_test = self.scale_df(self.feats_test)
67
+ else:
68
+ self.bin_to_three()
63
69
  return self.feats_train, self.feats_test
64
70
 
65
71
  def scale_df(self, df):
@@ -80,3 +86,23 @@ class Scaler:
80
86
  feats_df.loc[indices, :]
81
87
  )
82
88
  return feats_df
89
+
90
+ def bin_to_three(self):
91
+ feats_bin_train = pd.DataFrame(index=self.feats_train.index)
92
+ feats_bin_test = pd.DataFrame(index=self.feats_test.index)
93
+ for c in self.feats_train.columns:
94
+ b1 = np.quantile(self.feats_train[c], 0.33)
95
+ b2 = np.quantile(self.feats_train[c], 0.66)
96
+ feats_bin_train[c] = self._bin(self.feats_train[c].values, b1, b2).values
97
+ feats_bin_test[c] = self._bin(self.feats_test[c].values, b1, b2).values
98
+ self.feats_train = feats_bin_train
99
+ self.feats_test = feats_bin_test
100
+
101
+ def _bin(self, series, b1, b2):
102
+ bins = [-1000000, b1, b2, 1000000]
103
+ labels = [0, 0.5, 1]
104
+ result = np.digitize(series, bins) - 1
105
+ result = pd.Series(result)
106
+ for i, l in enumerate(labels):
107
+ result = result.replace(i, str(l))
108
+ return result
nkululeko/utils/util.py CHANGED
@@ -195,6 +195,7 @@ class Util:
195
195
  ["MODEL", "learning_rate"],
196
196
  ["MODEL", "k_fold_cross"],
197
197
  ["FEATS", "balancing"],
198
+ ["FEATS", "scale"],
198
199
  ]
199
200
  for option in options:
200
201
  return_string += self._get_value_descript(option[0], option[1])
@@ -306,7 +307,13 @@ class Util:
306
307
  elif format == "csv":
307
308
  return audformat.utils.read_csv(name)
308
309
  else:
309
- self.error(f"unkown store format: {format}")
310
+ self.error(f"unknown store format: {format}")
311
+
312
+ def save_to_store(self, df, name):
313
+ store = self.get_path("store")
314
+ store_format = self.config_val("FEATS", "store_format", "pkl")
315
+ storage = f"{store}{name}.{store_format}"
316
+ self.write_store(df, storage, store_format)
310
317
 
311
318
  def copy_flags(self, df_source, df_target):
312
319
  if hasattr(df_source, "is_labeled"):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nkululeko
3
- Version: 0.77.12
3
+ Version: 0.77.14
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
@@ -313,6 +313,14 @@ F. Burkhardt, Johannes Wagner, Hagen Wierstorf, Florian Eyben and Björn Schulle
313
313
  Changelog
314
314
  =========
315
315
 
316
+ Version 0.77.14
317
+ --------------
318
+ * fixed bug preventing bin scaling to work
319
+
320
+ Version 0.77.13
321
+ --------------
322
+ * added bins scaler
323
+
316
324
  Version 0.77.12
317
325
  --------------
318
326
  * fixed bug with scatter plots for numeric targets
@@ -2,10 +2,10 @@ nkululeko/__init__.py,sha256=62f8HiEzJ8rG2QlTFJXUCMpvuH3fKI33DoJSj33mscc,63
2
2
  nkululeko/aug_train.py,sha256=uUCqtAGhT6P1dyrPpwT409wEhxfzsxpCiq_v_zdmfOI,3103
3
3
  nkululeko/augment.py,sha256=sHWG4Jmb4BjnaaXXnRYMP7Jkk0qlaZ2ohsArP8uW_d8,3003
4
4
  nkululeko/cacheddataset.py,sha256=lIJ6hUo5LoxSrzXtWV8mzwO7wRtUETWnOQ4ws2XfL1E,969
5
- nkululeko/constants.py,sha256=JTIgRsrAXrRFfjOclO-_iuTezcoxwsNZnEJMftgAcL4,40
5
+ nkululeko/constants.py,sha256=Kax1gid7oVUaohOaTJKyxLVvRCHD3meNk_AuLxVrhV0,40
6
6
  nkululeko/demo.py,sha256=FFR8qHMCY8kKKRWDTa8xA7A8mWeYalRKYNtV5rjGg44,1915
7
7
  nkululeko/demo_predictor.py,sha256=j4ySWWcIxW7ZAIBH86m9BfRFokzrUNkRD6fpsvAQGTw,2629
8
- nkululeko/experiment.py,sha256=g-GdcvcWyQKj70VutyFPuzSxmsD-Tk_-vY-5FM7dszs,28644
8
+ nkululeko/experiment.py,sha256=znrMTpGqNeBQWD0F7sUHzQyRjCxsRH9t3V_8NhAtzrg,28823
9
9
  nkululeko/explore.py,sha256=pfciOL66e0T4Bk0RTkwDyE6pK_baSUdjMo2Ybpst3L4,2202
10
10
  nkululeko/export.py,sha256=mHeEAAmtZuxdyebLlbSzPrHSi9OMgJHbk35d3DTxRBc,4632
11
11
  nkululeko/feature_extractor.py,sha256=tKv1b1-o7xNMgBavTR8VY8_H5HKoJEnnosS-KcjmOEU,7281
@@ -20,8 +20,8 @@ nkululeko/predict.py,sha256=dRXX-sQVESa7cNi_56S6UkUOa_pV1g_K4xYtYVM1SJs,1876
20
20
  nkululeko/reporter.py,sha256=wrtWbU_UKDwhKQNMi7Q_Ix5N_UTzTagRwZikgUGk1c8,11606
21
21
  nkululeko/resample.py,sha256=C2S3aOTwlx5iYah_hs0JARHBC8Cq4Z5cH_mnDMb5RKk,2185
22
22
  nkululeko/result.py,sha256=HeiOrrqf9W2yxMryN33zgEmQejNWRxNmm589AYt6-eM,499
23
- nkululeko/runmanager.py,sha256=HjAesq19ZbDg5imMOjhqnt063W7JGggm6bY06h6bfM8,7085
24
- nkululeko/scaler.py,sha256=HVXMjmzDAj87K9O4aPU6aeqBk-ACVzQBTHOf1RwDCaM,3055
23
+ nkululeko/runmanager.py,sha256=WoZ4cRyHV7kAhtt-55RAAj6D3iXqEvvEMm6Ll4YkV2E,7192
24
+ nkululeko/scaler.py,sha256=4nkIqoajkIkuTPK0Z02ifMN_awl6fP_i-GBYdoGYgGM,4101
25
25
  nkululeko/segment.py,sha256=DfJYZsCEH41gwKyjpMgv8kWUzfVkmC0wWTbgHOL4i4g,4787
26
26
  nkululeko/syllable_nuclei.py,sha256=Sky-C__MeUDaxqHnDl2TGLLYOYvsahD35TUjWGeG31k,10047
27
27
  nkululeko/test.py,sha256=cRtOn_d3Fh2kZmnT4nnQeGzZTRtpr5jRhowykOwunME,1421
@@ -99,9 +99,9 @@ nkululeko/segmenting/seg_silero.py,sha256=lLytS38KzARS17omwv8VBw-zz60RVSXGSvZ5Ev
99
99
  nkululeko/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
100
100
  nkululeko/utils/files.py,sha256=UiGAtZRWYjHSvlmPaTMtzyNNGE6qaLaxQkybctS7iRM,4021
101
101
  nkululeko/utils/stats.py,sha256=29otJpUp1VqbtDKmlLkPPzBmVfTFiHZ70rUdR4860rM,2788
102
- nkululeko/utils/util.py,sha256=TuMXUXAxB8lkra8ttc1TssPIsJA0K6vh7JhfKEqBwPs,11953
103
- nkululeko-0.77.12.dist-info/LICENSE,sha256=0zGP5B_W35yAcGfHPS18Q2B8UhvLRY3dQq1MhpsJU_U,1076
104
- nkululeko-0.77.12.dist-info/METADATA,sha256=bGkRQ6NFwjZ0t_IqUDEqn2jEVr0OQre6bWiIbDNeJog,31409
105
- nkululeko-0.77.12.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
106
- nkululeko-0.77.12.dist-info/top_level.txt,sha256=DPFNNSHPjUeVKj44dVANAjuVGRCC3MusJ08lc2a8xFA,10
107
- nkululeko-0.77.12.dist-info/RECORD,,
102
+ nkululeko/utils/util.py,sha256=Ibwco798iDhmamO7SjVStfxOl-DNBdzkKl2HniYgoNE,12238
103
+ nkululeko-0.77.14.dist-info/LICENSE,sha256=0zGP5B_W35yAcGfHPS18Q2B8UhvLRY3dQq1MhpsJU_U,1076
104
+ nkululeko-0.77.14.dist-info/METADATA,sha256=OOdBC4qOLKkaM4QbNYdGilyrrrdMUFpEedmpyr9wU9A,31536
105
+ nkululeko-0.77.14.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
106
+ nkululeko-0.77.14.dist-info/top_level.txt,sha256=DPFNNSHPjUeVKj44dVANAjuVGRCC3MusJ08lc2a8xFA,10
107
+ nkululeko-0.77.14.dist-info/RECORD,,