nkululeko 0.77.12__tar.gz → 0.77.14__tar.gz

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 (165) hide show
  1. {nkululeko-0.77.12 → nkululeko-0.77.14}/CHANGELOG.md +8 -0
  2. {nkululeko-0.77.12/nkululeko.egg-info → nkululeko-0.77.14}/PKG-INFO +9 -1
  3. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/constants.py +1 -1
  4. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/experiment.py +3 -0
  5. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/runmanager.py +4 -2
  6. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/scaler.py +31 -5
  7. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/utils/util.py +8 -1
  8. {nkululeko-0.77.12 → nkululeko-0.77.14/nkululeko.egg-info}/PKG-INFO +9 -1
  9. {nkululeko-0.77.12 → nkululeko-0.77.14}/LICENSE +0 -0
  10. {nkululeko-0.77.12 → nkululeko-0.77.14}/README.md +0 -0
  11. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/aesdd/process_database.py +0 -0
  12. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/androids/process_database.py +0 -0
  13. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/androids_orig/process_database.py +0 -0
  14. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/androids_test/process_database.py +0 -0
  15. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/ased/process_database.py +0 -0
  16. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/asvp-esd/process_database.py +0 -0
  17. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/baved/process_database.py +0 -0
  18. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/cafe/process_database.py +0 -0
  19. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/clac/process_database.py +0 -0
  20. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/cmu-mosei/process_database.py +0 -0
  21. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/crema-d/process_database.py +0 -0
  22. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/demos/process_database.py +0 -0
  23. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/ekorpus/process_database.py +0 -0
  24. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/emns/process_database.py +0 -0
  25. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/emofilm/convert_to_16k.py +0 -0
  26. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/emofilm/process_database.py +0 -0
  27. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/emorynlp/process_database.py +0 -0
  28. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/emov-db/process_database.py +0 -0
  29. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/emovo/process_database.py +0 -0
  30. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/emozionalmente/create.py +0 -0
  31. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/enterface/process_database.py +0 -0
  32. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/esd/process_database.py +0 -0
  33. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/gerparas/process_database.py +0 -0
  34. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/iemocap/process_database.py +0 -0
  35. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/jl/process_database.py +0 -0
  36. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/jtes/process_database.py +0 -0
  37. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/meld/process_database.py +0 -0
  38. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/mesd/process_database.py +0 -0
  39. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/mess/process_database.py +0 -0
  40. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/mlendsnd/process_database.py +0 -0
  41. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/msp-improv/process_database2.py +0 -0
  42. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/msp-podcast/process_database.py +0 -0
  43. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/oreau2/process_database.py +0 -0
  44. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/portuguese/process_database.py +0 -0
  45. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/ravdess/process_database.py +0 -0
  46. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/ravdess/process_database_speaker.py +0 -0
  47. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/savee/process_database.py +0 -0
  48. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/shemo/process_database.py +0 -0
  49. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/subesco/process_database.py +0 -0
  50. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/tess/process_database.py +0 -0
  51. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/thorsten-emotional/process_database.py +0 -0
  52. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/urdu/process_database.py +0 -0
  53. {nkululeko-0.77.12 → nkululeko-0.77.14}/data/vivae/process_database.py +0 -0
  54. {nkululeko-0.77.12 → nkululeko-0.77.14}/docs/source/conf.py +0 -0
  55. {nkululeko-0.77.12 → nkululeko-0.77.14}/meta/demos/demo_best_model.py +0 -0
  56. {nkululeko-0.77.12 → nkululeko-0.77.14}/meta/demos/multiple_exeriments/do_experiments.py +0 -0
  57. {nkululeko-0.77.12 → nkululeko-0.77.14}/meta/demos/multiple_exeriments/parse_nkulu.py +0 -0
  58. {nkululeko-0.77.12 → nkululeko-0.77.14}/meta/demos/my_experiment.py +0 -0
  59. {nkululeko-0.77.12 → nkululeko-0.77.14}/meta/demos/my_experiment_local.py +0 -0
  60. {nkululeko-0.77.12 → nkululeko-0.77.14}/meta/demos/plot_faster_anim.py +0 -0
  61. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/__init__.py +0 -0
  62. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/aug_train.py +0 -0
  63. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/augment.py +0 -0
  64. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/augmenting/__init__.py +0 -0
  65. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/augmenting/augmenter.py +0 -0
  66. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/augmenting/randomsplicer.py +0 -0
  67. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/augmenting/randomsplicing.py +0 -0
  68. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/augmenting/resampler.py +0 -0
  69. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/autopredict/__init__.py +0 -0
  70. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/autopredict/ap_age.py +0 -0
  71. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/autopredict/ap_arousal.py +0 -0
  72. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/autopredict/ap_dominance.py +0 -0
  73. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/autopredict/ap_gender.py +0 -0
  74. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/autopredict/ap_mos.py +0 -0
  75. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/autopredict/ap_pesq.py +0 -0
  76. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/autopredict/ap_sdr.py +0 -0
  77. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/autopredict/ap_snr.py +0 -0
  78. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/autopredict/ap_stoi.py +0 -0
  79. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/autopredict/ap_valence.py +0 -0
  80. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/autopredict/estimate_snr.py +0 -0
  81. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/cacheddataset.py +0 -0
  82. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/data/__init__.py +0 -0
  83. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/data/dataset.py +0 -0
  84. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/data/dataset_csv.py +0 -0
  85. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/demo.py +0 -0
  86. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/demo_predictor.py +0 -0
  87. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/explore.py +0 -0
  88. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/export.py +0 -0
  89. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/feat_extract/__init__.py +0 -0
  90. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/feat_extract/feats_agender.py +0 -0
  91. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/feat_extract/feats_agender_agender.py +0 -0
  92. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/feat_extract/feats_analyser.py +0 -0
  93. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/feat_extract/feats_audmodel.py +0 -0
  94. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/feat_extract/feats_audmodel_dim.py +0 -0
  95. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/feat_extract/feats_clap.py +0 -0
  96. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/feat_extract/feats_hubert.py +0 -0
  97. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/feat_extract/feats_import.py +0 -0
  98. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/feat_extract/feats_mld.py +0 -0
  99. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/feat_extract/feats_mos.py +0 -0
  100. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/feat_extract/feats_opensmile.py +0 -0
  101. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/feat_extract/feats_oxbow.py +0 -0
  102. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/feat_extract/feats_praat.py +0 -0
  103. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/feat_extract/feats_snr.py +0 -0
  104. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/feat_extract/feats_spectra.py +0 -0
  105. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/feat_extract/feats_spkrec.py +0 -0
  106. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/feat_extract/feats_squim.py +0 -0
  107. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/feat_extract/feats_trill.py +0 -0
  108. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/feat_extract/feats_wav2vec2.py +0 -0
  109. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/feat_extract/feats_wavlm.py +0 -0
  110. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/feat_extract/featureset.py +0 -0
  111. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/feat_extract/feinberg_praat.py +0 -0
  112. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/feature_extractor.py +0 -0
  113. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/file_checker.py +0 -0
  114. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/filter_data.py +0 -0
  115. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/glob_conf.py +0 -0
  116. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/losses/__init__.py +0 -0
  117. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/losses/loss_ccc.py +0 -0
  118. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/losses/loss_softf1loss.py +0 -0
  119. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/modelrunner.py +0 -0
  120. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/models/__init__.py +0 -0
  121. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/models/model.py +0 -0
  122. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/models/model_bayes.py +0 -0
  123. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/models/model_cnn.py +0 -0
  124. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/models/model_gmm.py +0 -0
  125. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/models/model_knn.py +0 -0
  126. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/models/model_knn_reg.py +0 -0
  127. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/models/model_lin_reg.py +0 -0
  128. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/models/model_mlp.py +0 -0
  129. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/models/model_mlp_regression.py +0 -0
  130. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/models/model_svm.py +0 -0
  131. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/models/model_svr.py +0 -0
  132. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/models/model_tree.py +0 -0
  133. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/models/model_tree_reg.py +0 -0
  134. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/models/model_xgb.py +0 -0
  135. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/models/model_xgr.py +0 -0
  136. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/multidb.py +0 -0
  137. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/nkululeko.py +0 -0
  138. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/plots.py +0 -0
  139. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/predict.py +0 -0
  140. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/reporter.py +0 -0
  141. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/reporting/__init__.py +0 -0
  142. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/reporting/defines.py +0 -0
  143. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/reporting/latex_writer.py +0 -0
  144. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/reporting/report.py +0 -0
  145. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/reporting/report_item.py +0 -0
  146. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/resample.py +0 -0
  147. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/result.py +0 -0
  148. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/segment.py +0 -0
  149. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/segmenting/__init__.py +0 -0
  150. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/segmenting/seg_inaspeechsegmenter.py +0 -0
  151. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/segmenting/seg_silero.py +0 -0
  152. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/syllable_nuclei.py +0 -0
  153. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/test.py +0 -0
  154. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/test_predictor.py +0 -0
  155. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/utils/__init__.py +0 -0
  156. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/utils/files.py +0 -0
  157. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko/utils/stats.py +0 -0
  158. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko.egg-info/SOURCES.txt +0 -0
  159. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko.egg-info/dependency_links.txt +0 -0
  160. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko.egg-info/requires.txt +0 -0
  161. {nkululeko-0.77.12 → nkululeko-0.77.14}/nkululeko.egg-info/top_level.txt +0 -0
  162. {nkululeko-0.77.12 → nkululeko-0.77.14}/pyproject.toml +0 -0
  163. {nkululeko-0.77.12 → nkululeko-0.77.14}/setup.cfg +0 -0
  164. {nkululeko-0.77.12 → nkululeko-0.77.14}/setup.py +0 -0
  165. {nkululeko-0.77.12 → nkululeko-0.77.14}/venv/bin/activate_this.py +0 -0
@@ -1,6 +1,14 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ Version 0.77.14
5
+ --------------
6
+ * fixed bug preventing bin scaling to work
7
+
8
+ Version 0.77.13
9
+ --------------
10
+ * added bins scaler
11
+
4
12
  Version 0.77.12
5
13
  --------------
6
14
  * fixed bug with scatter plots for numeric targets
@@ -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
@@ -314,6 +314,14 @@ F. Burkhardt, Johannes Wagner, Hagen Wierstorf, Florian Eyben and Björn Schulle
314
314
  Changelog
315
315
  =========
316
316
 
317
+ Version 0.77.14
318
+ --------------
319
+ * fixed bug preventing bin scaling to work
320
+
321
+ Version 0.77.13
322
+ --------------
323
+ * added bins scaler
324
+
317
325
  Version 0.77.12
318
326
  --------------
319
327
  * fixed bug with scatter plots for numeric targets
@@ -1,2 +1,2 @@
1
- VERSION="0.77.12"
1
+ VERSION="0.77.14"
2
2
  SAMPLING_RATE = 16000
@@ -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."""
@@ -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)
@@ -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
@@ -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
@@ -314,6 +314,14 @@ F. Burkhardt, Johannes Wagner, Hagen Wierstorf, Florian Eyben and Björn Schulle
314
314
  Changelog
315
315
  =========
316
316
 
317
+ Version 0.77.14
318
+ --------------
319
+ * fixed bug preventing bin scaling to work
320
+
321
+ Version 0.77.13
322
+ --------------
323
+ * added bins scaler
324
+
317
325
  Version 0.77.12
318
326
  --------------
319
327
  * fixed bug with scatter plots for numeric targets
File without changes
File without changes
File without changes
File without changes
File without changes