sinapsis-data-tools 0.2.27__tar.gz → 0.2.28__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 (115) hide show
  1. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/PKG-INFO +1 -1
  2. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_analysis/src/sinapsis_data_analysis/templates/inference/ml_base_inference.py +3 -4
  3. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_analysis/src/sinapsis_data_analysis/templates/inference/sklearn_inference.py +0 -1
  4. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_analysis/src/sinapsis_data_analysis/templates/inference/xgboost_inference.py +0 -1
  5. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_analysis/src/sinapsis_data_analysis/templates/training/ml_base_training.py +30 -31
  6. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_analysis/src/sinapsis_data_analysis/templates/training/sklearn_manifold.py +24 -27
  7. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_analysis/src/sinapsis_data_analysis/templates/training/sklearn_train.py +1 -2
  8. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_analysis/src/sinapsis_data_analysis/templates/training/xgboost_train.py +0 -1
  9. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_analysis/src/sinapsis_data_analysis/templates/transformation/categorical_to_numerical.py +8 -8
  10. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/templates/datasets_readers/csv_datasets.py +3 -2
  11. sinapsis_data_tools-0.2.28/packages/sinapsis_data_readers/src/sinapsis_data_readers/templates/datasets_readers/dataset_splitter.py +66 -0
  12. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/templates/datasets_readers/sklearn_datasets.py +16 -17
  13. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/templates/datasets_readers/sktime_datasets.py +43 -35
  14. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_tools.egg-info/PKG-INFO +1 -1
  15. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/pyproject.toml +1 -1
  16. sinapsis_data_tools-0.2.27/packages/sinapsis_data_readers/src/sinapsis_data_readers/templates/datasets_readers/dataset_splitter.py +0 -254
  17. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/LICENSE +0 -0
  18. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/README.md +0 -0
  19. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_analysis/__init__.py +0 -0
  20. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_analysis/src/__init__.py +0 -0
  21. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_analysis/src/sinapsis_data_analysis/__init__.py +0 -0
  22. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_analysis/src/sinapsis_data_analysis/helpers/__init__.py +0 -0
  23. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_analysis/src/sinapsis_data_analysis/helpers/excluded_models.py +0 -0
  24. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_analysis/src/sinapsis_data_analysis/helpers/model_metrics.py +0 -0
  25. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_analysis/src/sinapsis_data_analysis/helpers/tags.py +0 -0
  26. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_analysis/src/sinapsis_data_analysis/templates/__init__.py +0 -0
  27. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_analysis/src/sinapsis_data_analysis/templates/inference/__init__.py +0 -0
  28. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_analysis/src/sinapsis_data_analysis/templates/training/__init__.py +0 -0
  29. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/__init__.py +0 -0
  30. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/helpers/__init__.py +0 -0
  31. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/helpers/coco_dataclasses.py +0 -0
  32. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/helpers/csv_reader.py +0 -0
  33. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/helpers/file_path_helpers.py +0 -0
  34. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/helpers/sklearn_dataset_subset.py +0 -0
  35. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/helpers/sktime_datasets_subset.py +0 -0
  36. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/helpers/tags.py +0 -0
  37. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/helpers/text_input_helpers.py +0 -0
  38. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/templates/__init__.py +0 -0
  39. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/templates/audio_readers/__init__.py +0 -0
  40. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/templates/audio_readers/audio_reader_pydub.py +0 -0
  41. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/templates/audio_readers/audio_reader_soundfile.py +0 -0
  42. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/templates/audio_readers/audio_reader_to_bytes.py +0 -0
  43. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/templates/audio_readers/base_audio_reader.py +0 -0
  44. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/templates/base_file_data_loader.py +0 -0
  45. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/templates/datasets_readers/__init__.py +0 -0
  46. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/templates/image_readers/__init__.py +0 -0
  47. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/templates/image_readers/base_image_folder_data_loader.py +0 -0
  48. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/templates/image_readers/coco_dataset_reader.py +0 -0
  49. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/templates/image_readers/csv_dataset_reader.py +0 -0
  50. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/templates/image_readers/image_folder_reader_cv2.py +0 -0
  51. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/templates/image_readers/image_folder_reader_kornia.py +0 -0
  52. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/templates/text_readers/__init__.py +0 -0
  53. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/templates/text_readers/text_input.py +0 -0
  54. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/templates/video_readers/__init__.py +0 -0
  55. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/templates/video_readers/base_video_reader.py +0 -0
  56. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/templates/video_readers/video_reader_cv2.py +0 -0
  57. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/templates/video_readers/video_reader_dali.py +0 -0
  58. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/templates/video_readers/video_reader_ffmpeg.py +0 -0
  59. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_readers/src/sinapsis_data_readers/templates/video_readers/video_reader_torchcodec.py +0 -0
  60. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_tools.egg-info/SOURCES.txt +0 -0
  61. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_tools.egg-info/dependency_links.txt +0 -0
  62. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_tools.egg-info/requires.txt +0 -0
  63. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_tools.egg-info/top_level.txt +0 -0
  64. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_visualization/src/__init__.py +0 -0
  65. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_visualization/src/sinapsis_data_visualization/__init__.py +0 -0
  66. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_visualization/src/sinapsis_data_visualization/helpers/__init__.py +0 -0
  67. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_visualization/src/sinapsis_data_visualization/helpers/annotation_drawer_tools.py +0 -0
  68. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_visualization/src/sinapsis_data_visualization/helpers/annotation_drawer_types.py +0 -0
  69. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_visualization/src/sinapsis_data_visualization/helpers/color_utils.py +0 -0
  70. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_visualization/src/sinapsis_data_visualization/helpers/detection_utils.py +0 -0
  71. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_visualization/src/sinapsis_data_visualization/helpers/plot_distributions.py +0 -0
  72. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_visualization/src/sinapsis_data_visualization/helpers/scikit_pca_analysis.py +0 -0
  73. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_visualization/src/sinapsis_data_visualization/helpers/tags.py +0 -0
  74. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_visualization/src/sinapsis_data_visualization/templates/__init__.py +0 -0
  75. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_visualization/src/sinapsis_data_visualization/templates/base_annotation_drawer.py +0 -0
  76. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_visualization/src/sinapsis_data_visualization/templates/base_visualization_template.py +0 -0
  77. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_visualization/src/sinapsis_data_visualization/templates/bbox_drawer.py +0 -0
  78. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_visualization/src/sinapsis_data_visualization/templates/data_distribution_visualization.py +0 -0
  79. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_visualization/src/sinapsis_data_visualization/templates/key_points_drawer.py +0 -0
  80. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_visualization/src/sinapsis_data_visualization/templates/label_drawer.py +0 -0
  81. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_visualization/src/sinapsis_data_visualization/templates/oriented_bbox_drawer.py +0 -0
  82. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_visualization/src/sinapsis_data_visualization/templates/segmentation_mask_drawer.py +0 -0
  83. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_visualization/src/sinapsis_data_visualization/templates/tabular_data_visualization.py +0 -0
  84. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_writers/src/sinapsis_data_writers/__init__.py +0 -0
  85. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_writers/src/sinapsis_data_writers/helpers/__init__.py +0 -0
  86. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_writers/src/sinapsis_data_writers/helpers/tags.py +0 -0
  87. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_writers/src/sinapsis_data_writers/templates/__init__.py +0 -0
  88. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_writers/src/sinapsis_data_writers/templates/annotation_writers/__init__.py +0 -0
  89. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_writers/src/sinapsis_data_writers/templates/annotation_writers/base_annotation_writer.py +0 -0
  90. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_writers/src/sinapsis_data_writers/templates/annotation_writers/coco_annotation_writer.py +0 -0
  91. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_writers/src/sinapsis_data_writers/templates/audio_writers/__init__.py +0 -0
  92. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_writers/src/sinapsis_data_writers/templates/audio_writers/audio_writer_soundfile.py +0 -0
  93. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_writers/src/sinapsis_data_writers/templates/generic_data_writers/generic_data_json_writer.py +0 -0
  94. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_writers/src/sinapsis_data_writers/templates/image_writers/__init__.py +0 -0
  95. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_writers/src/sinapsis_data_writers/templates/image_writers/image_saver.py +0 -0
  96. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_writers/src/sinapsis_data_writers/templates/image_writers/pdf_to_image_converter.py +0 -0
  97. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_writers/src/sinapsis_data_writers/templates/video_writers/__init__.py +0 -0
  98. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_writers/src/sinapsis_data_writers/templates/video_writers/base_video_writer.py +0 -0
  99. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_writers/src/sinapsis_data_writers/templates/video_writers/video_writer_cv2.py +0 -0
  100. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_data_writers/src/sinapsis_data_writers/templates/video_writers/video_writer_ffmpeg.py +0 -0
  101. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_generic_data_tools/src/sinapsis_generic_data_tools/__init__.py +0 -0
  102. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_generic_data_tools/src/sinapsis_generic_data_tools/helpers/__init__.py +0 -0
  103. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_generic_data_tools/src/sinapsis_generic_data_tools/helpers/audio_encoder.py +0 -0
  104. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_generic_data_tools/src/sinapsis_generic_data_tools/helpers/encode_img_base64.py +0 -0
  105. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_generic_data_tools/src/sinapsis_generic_data_tools/helpers/file_downloader.py +0 -0
  106. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_generic_data_tools/src/sinapsis_generic_data_tools/helpers/image_color_space_converter_cv.py +0 -0
  107. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_generic_data_tools/src/sinapsis_generic_data_tools/helpers/image_color_space_converter_torch.py +0 -0
  108. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_generic_data_tools/src/sinapsis_generic_data_tools/helpers/tags.py +0 -0
  109. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_generic_data_tools/src/sinapsis_generic_data_tools/templates/__init__.py +0 -0
  110. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_generic_data_tools/src/sinapsis_generic_data_tools/templates/image_color_conversion_np.py +0 -0
  111. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_generic_data_tools/src/sinapsis_generic_data_tools/templates/mask_non_roi.py +0 -0
  112. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_generic_data_tools/src/sinapsis_generic_data_tools/templates/packet_buffer_queue.py +0 -0
  113. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_generic_data_tools/src/sinapsis_generic_data_tools/templates/source_history_aggregator.py +0 -0
  114. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/packages/sinapsis_generic_data_tools/src/sinapsis_generic_data_tools/templates/text_content_filter.py +0 -0
  115. {sinapsis_data_tools-0.2.27 → sinapsis_data_tools-0.2.28}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sinapsis-data-tools
3
- Version: 0.2.27
3
+ Version: 0.2.28
4
4
  Summary: Module that contains different packages to perform data-related operations through Sinapsis templates.
5
5
  Author-email: SinapsisAI <dev@sinapsis.tech>
6
6
  Project-URL: Homepage, https://sinapsis.tech
@@ -7,7 +7,7 @@ import numpy as np
7
7
  from sinapsis_core.data_containers.data_packet import DataContainer
8
8
  from sinapsis_core.template_base.base_models import TemplateAttributes
9
9
  from sinapsis_core.template_base.template import Template
10
- from sinapsis_core.utils.env_var_keys import SINAPSIS_CACHE_DIR
10
+ from sinapsis_core.utils.env_var_keys import WORKING_DIR
11
11
 
12
12
 
13
13
  class MLBaseInference(Template):
@@ -26,7 +26,7 @@ class MLBaseInference(Template):
26
26
  """
27
27
 
28
28
  model_path: str
29
- root_dir : str = SINAPSIS_CACHE_DIR
29
+ root_dir : str = WORKING_DIR
30
30
  generic_field_key: str
31
31
  target_key : str
32
32
 
@@ -43,7 +43,7 @@ class MLBaseInference(Template):
43
43
  Returns:
44
44
  Any: The data from the generic field
45
45
  """
46
- return self._get_generic_data(container, self.attributes.generic_field_key)
46
+ return container.data_frames[-1].content
47
47
 
48
48
  @staticmethod
49
49
  def data_is_valid(data: Any) -> bool:
@@ -96,7 +96,6 @@ class MLBaseInference(Template):
96
96
  Returns:
97
97
  np.ndarray: The model's predictions
98
98
  """
99
-
100
99
  return self.model.predict(data)
101
100
 
102
101
  def execute(self, container: DataContainer) -> DataContainer:
@@ -3,7 +3,6 @@ from typing import Any
3
3
 
4
4
  import joblib
5
5
  from sinapsis_core.template_base.base_models import UIPropertiesMetadata
6
-
7
6
  from sinapsis_data_analysis.helpers.tags import Tags
8
7
  from sinapsis_data_analysis.templates.inference.ml_base_inference import MLBaseInference
9
8
 
@@ -2,7 +2,6 @@
2
2
 
3
3
 
4
4
  from sinapsis_core.template_base.base_models import UIPropertiesMetadata
5
-
6
5
  from sinapsis_data_analysis.helpers.tags import Tags
7
6
  from sinapsis_data_analysis.templates.inference.sklearn_inference import SKLearnInference
8
7
 
@@ -4,12 +4,14 @@ from abc import abstractmethod
4
4
  from typing import Any
5
5
 
6
6
  import numpy as np
7
- import pandas as pd
8
- from sinapsis_core.data_containers.data_packet import DataContainer
7
+ from sinapsis_core.data_containers.data_packet import DataContainer, DataFramePacket
9
8
  from sinapsis_core.template_base.base_models import TemplateAttributes
10
9
  from sinapsis_core.template_base.dynamic_template import BaseDynamicWrapperTemplate
11
10
  from sinapsis_core.utils.env_var_keys import WORKING_DIR
12
- from sinapsis_data_readers.templates.datasets_readers.dataset_splitter import TabularDatasetSplit
11
+ from sinapsis_data_analysis.helpers.model_metrics import (
12
+ ModelMetrics,
13
+ ModelPredictionResults,
14
+ )
13
15
  from sklearn.base import is_classifier, is_regressor
14
16
  from sklearn.metrics import (
15
17
  accuracy_score,
@@ -21,21 +23,14 @@ from sklearn.metrics import (
21
23
  recall_score,
22
24
  )
23
25
 
24
- from sinapsis_data_analysis.helpers.model_metrics import (
25
- ModelMetrics,
26
- ModelPredictionResults,
27
- )
28
-
29
26
 
30
27
  class MLBaseAttributes(TemplateAttributes):
31
28
  """Base attributes for machine learning model templates.
32
29
 
33
30
  Attributes:
34
- generic_field_key (str): Key of the generic field where datasets are stored.
35
31
  model_save_path (str): Path where the trained model will be saved.
36
32
  """
37
33
 
38
- generic_field_key: str | None = None
39
34
  root_dir : str = WORKING_DIR
40
35
  model_save_path: str
41
36
 
@@ -70,7 +65,9 @@ class MLBaseTraining(BaseDynamicWrapperTemplate):
70
65
  Returns:
71
66
  Any: The dataset from the generic field.
72
67
  """
73
- return self._get_generic_data(container, self.attributes.generic_field_key)
68
+
69
+
70
+ return container.data_frames
74
71
 
75
72
  @staticmethod
76
73
  def dataset_is_valid(dataset: Any) -> bool:
@@ -84,7 +81,7 @@ class MLBaseTraining(BaseDynamicWrapperTemplate):
84
81
  """
85
82
  return dataset is not None
86
83
 
87
- def process_dataset(self, dataset: TabularDatasetSplit | dict) -> tuple | None:
84
+ def process_dataset(self, dataset: list[DataFramePacket]) -> tuple | None:
88
85
  """
89
86
  Extracts x_train, y_train, x_test, y_test from the dataset
90
87
 
@@ -95,19 +92,23 @@ class MLBaseTraining(BaseDynamicWrapperTemplate):
95
92
  tuple | None: A tuple containing (x_train, y_train, x_test, y_test)
96
93
  or None if the dataset doesn't have the expected attributes
97
94
  """
98
- if isinstance(dataset, dict):
99
- dataset = TabularDatasetSplit(**dataset)
100
- try:
101
- x_train = dataset.x_train
102
- y_train = dataset.y_train
103
- x_test = dataset.x_test
104
- y_test = dataset.y_test
105
-
106
- return x_train, y_train, x_test, y_test
107
-
108
- except AttributeError:
109
- self.logger.warning("Dataset doesn't have the expected attributes")
110
- return None
95
+ x_train, y_train, x_test, y_test = None, None, None, None
96
+ for set in dataset:
97
+ if "x_train" in set.source:
98
+ x_train = set.content
99
+ elif "x_test" in set.source:
100
+ x_test = set.content
101
+ elif "y_train" in set.source:
102
+ y_train = set.content
103
+ elif "y_test" in set.source:
104
+ y_test = set.content
105
+ else:
106
+ if "x_dataset" in set.source:
107
+ x_train = set.content
108
+ elif "y_dataset" in set.source:
109
+ y_train = set.content
110
+
111
+ return x_train, y_train, x_test, y_test
111
112
 
112
113
  def train_model(self, x_train: Any, y_train: Any) -> None:
113
114
  """Train the model using the training data
@@ -117,7 +118,6 @@ class MLBaseTraining(BaseDynamicWrapperTemplate):
117
118
  y_train (Any): The training targets
118
119
  """
119
120
 
120
-
121
121
  self.trained_model = self.model.fit(x_train, y_train)
122
122
 
123
123
  @staticmethod
@@ -156,7 +156,7 @@ class MLBaseTraining(BaseDynamicWrapperTemplate):
156
156
 
157
157
  return metrics
158
158
 
159
- def calculate_metrics(self, y_true: np.ndarray, y_pred: np.ndarray) -> ModelMetrics:
159
+ def calculate_metrics(self, y_true: np.ndarray, y_pred: np.ndarray) -> ModelMetrics | None:
160
160
  """
161
161
  Detects whether the model is a classifier or regressor and calculates
162
162
  the appropriate metrics
@@ -173,7 +173,7 @@ class MLBaseTraining(BaseDynamicWrapperTemplate):
173
173
  return self.calculate_classification_metrics(y_true, y_pred)
174
174
  elif is_regressor(self.trained_model):
175
175
  return self.calculate_regression_metrics(y_true, y_pred)
176
- return ModelMetrics()
176
+ return None
177
177
 
178
178
  def generate_predictions(self, x_test: np.ndarray, y_test: np.ndarray) -> ModelPredictionResults | None:
179
179
  """
@@ -187,7 +187,7 @@ class MLBaseTraining(BaseDynamicWrapperTemplate):
187
187
  Returns:
188
188
  ModelPredictionResults: Object containing predictions and metrics
189
189
  """
190
- if self.trained_model is not None:
190
+ if self.trained_model is not None and x_test is not None:
191
191
  predictions = self.trained_model.predict(x_test)
192
192
 
193
193
  metrics = self.calculate_metrics(y_test, predictions)
@@ -208,7 +208,6 @@ class MLBaseTraining(BaseDynamicWrapperTemplate):
208
208
  ModelPredictionResults: Object containing predictions and metrics.
209
209
  """
210
210
  x_train, y_train, x_test, y_test = processed_data
211
-
212
211
  self.train_model(x_train, y_train)
213
212
 
214
213
  return self.generate_predictions(x_test, y_test)
@@ -226,7 +225,7 @@ class MLBaseTraining(BaseDynamicWrapperTemplate):
226
225
  try:
227
226
  os.makedirs(os.path.dirname(full_path), exist_ok=True)
228
227
  self._save_model_implementation(full_path)
229
- self.logger.info(f"Model saved at {self.attributes.model_save_path}")
228
+ self.logger.info(f"Model saved at {full_path}")
230
229
  except (MemoryError, TypeError) as e:
231
230
  self.logger.error(f"Error saving model: {e}")
232
231
 
@@ -1,5 +1,4 @@
1
1
  # -*- coding: utf-8 -*-
2
- from typing import cast
3
2
 
4
3
  import numpy as np
5
4
  import pandas as pd
@@ -13,12 +12,8 @@ from sinapsis_core.template_base.dynamic_template import (
13
12
  )
14
13
  from sinapsis_core.template_base.dynamic_template_factory import make_dynamic_template
15
14
  from sinapsis_core.utils.env_var_keys import SINAPSIS_BUILD_DOCS
16
- from sinapsis_data_readers.templates.datasets_readers.dataset_splitter import (
17
- TabularDatasetSplit,
18
- )
19
- from sklearn import manifold
20
-
21
15
  from sinapsis_data_analysis.helpers.tags import Tags
16
+ from sklearn import manifold
22
17
 
23
18
 
24
19
  class ManifoldResults(BaseModel):
@@ -42,6 +37,14 @@ class SKLearnManifold(BaseDynamicWrapperTemplate):
42
37
  TSNE, MDS, Isomap, etc.
43
38
  """
44
39
 
40
+ class AttributesBaseModel(TemplateAttributes):
41
+ """Attributes for the MLBaseInference template.
42
+
43
+ Attributes:
44
+ target_key (str): Key of the generic field where data is stored.
45
+ """
46
+
47
+ target_key : str = 'target'
45
48
  WrapperEntry = WrapperEntryConfig(
46
49
  wrapped_object=manifold,
47
50
  signature_from_doc_string=True,
@@ -54,15 +57,6 @@ class SKLearnManifold(BaseDynamicWrapperTemplate):
54
57
  tags=[Tags.DATA_ANALYSIS, Tags.DYNAMIC, Tags.MANIFOLD, Tags.SKLEARN, Tags.MODELS],
55
58
  )
56
59
 
57
- class AttributesBaseModel(TemplateAttributes):
58
- """Attributes for the SKLearnManifold template.
59
-
60
- Attributes:
61
- generic_field_key (str): Key of the generic field
62
- where the input data is stored.
63
- """
64
-
65
- generic_field_key: str
66
60
 
67
61
  def __init__(self, attributes: TemplateAttributes) -> None:
68
62
  super().__init__(attributes)
@@ -83,7 +77,7 @@ class SKLearnManifold(BaseDynamicWrapperTemplate):
83
77
  array_data = np.array(feature_arrays)
84
78
  return array_data.reshape(array_data.shape[0], -1)
85
79
 
86
- def get_dataset(self, container: DataContainer) -> TabularDatasetSplit | None:
80
+ def get_dataset(self, container: DataContainer) -> list:
87
81
  """Get the dataset from the data container
88
82
 
89
83
  Args:
@@ -93,13 +87,10 @@ class SKLearnManifold(BaseDynamicWrapperTemplate):
93
87
  TabularDatasetSplit | None: The dataset from the generic field,
94
88
  or None if not found
95
89
  """
96
- dataset = self._get_generic_data(container, self.attributes.generic_field_key)
97
- dataset = cast(TabularDatasetSplit, dataset)
98
- if dataset:
99
- return dataset
100
- return None
90
+ return container.data_frames
101
91
 
102
- def process_dataset(self, dataset: TabularDatasetSplit) -> ManifoldResults | None:
92
+
93
+ def process_dataset(self, dataset: list) -> ManifoldResults | None:
103
94
  """
104
95
  Extracts the training data, reshapes it, and applies the
105
96
  manifold learning transformation
@@ -111,11 +102,17 @@ class SKLearnManifold(BaseDynamicWrapperTemplate):
111
102
  ManifoldResults | None: Results of the manifold transformation,
112
103
  or None if the dataset is empty
113
104
  """
114
- x_train = dataset.x_train
115
- y_train = dataset.y_train
105
+ x_train, y_train = None, None
106
+ for set in dataset:
107
+ if "x_train" in set.source:
108
+ x_train = set.content
109
+
110
+ elif "y_train" in set.source:
111
+ y_train = set.content
112
+ else:
113
+ y_train = set.content[self.attributes.target_key]
114
+ x_train = set.content.pop(self.attributes.target_key)
116
115
 
117
- if x_train is None or x_train.empty:
118
- return None
119
116
 
120
117
  x_train_reshaped = self.reshape_arrays(x_train)
121
118
  x_transformed = self.manifold_model.fit_transform(x_train_reshaped)
@@ -141,7 +138,7 @@ class SKLearnManifold(BaseDynamicWrapperTemplate):
141
138
  results = self.process_dataset(dataset)
142
139
 
143
140
  if results is not None:
144
- self._set_generic_data(container, results)
141
+ self._set_generic_data(container, results.model_dump())
145
142
 
146
143
  return container
147
144
 
@@ -5,8 +5,6 @@ from sinapsis_core.template_base.base_models import UIPropertiesMetadata
5
5
  from sinapsis_core.template_base.dynamic_template import WrapperEntryConfig
6
6
  from sinapsis_core.template_base.dynamic_template_factory import make_dynamic_template
7
7
  from sinapsis_core.utils.env_var_keys import SINAPSIS_BUILD_DOCS
8
- from sklearn import linear_model, neighbors, neural_network, svm, tree
9
-
10
8
  from sinapsis_data_analysis.helpers.excluded_models import (
11
9
  excluded_linear_models,
12
10
  excluded_neighbors_models,
@@ -15,6 +13,7 @@ from sinapsis_data_analysis.helpers.excluded_models import (
15
13
  )
16
14
  from sinapsis_data_analysis.helpers.tags import Tags
17
15
  from sinapsis_data_analysis.templates.training.ml_base_training import MLBaseTraining
16
+ from sklearn import linear_model, neighbors, neural_network, svm, tree
18
17
 
19
18
 
20
19
  class SKLearnLinearModelsTrain(MLBaseTraining):
@@ -5,7 +5,6 @@ from sinapsis_core.template_base.base_models import UIPropertiesMetadata
5
5
  from sinapsis_core.template_base.dynamic_template import WrapperEntryConfig
6
6
  from sinapsis_core.template_base.dynamic_template_factory import make_dynamic_template
7
7
  from sinapsis_core.utils.env_var_keys import SINAPSIS_BUILD_DOCS
8
-
9
8
  from sinapsis_data_analysis.helpers.tags import Tags
10
9
  from sinapsis_data_analysis.templates.training.sklearn_train import SKLearnLinearModelsTrain
11
10
 
@@ -1,8 +1,7 @@
1
1
  import pandas as pd
2
- from sinapsis_core.data_containers.data_packet import DataContainer
3
- from sinapsis_core.template_base.template import Template
2
+ from sinapsis_core.data_containers.data_packet import DataContainer, DataFramePacket
4
3
  from sinapsis_core.template_base.base_models import TemplateAttributes
5
-
4
+ from sinapsis_core.template_base.template import Template
6
5
 
7
6
 
8
7
  class CategoricalToNumerical(Template):
@@ -10,7 +9,7 @@ class CategoricalToNumerical(Template):
10
9
  generic_key: str
11
10
 
12
11
  @staticmethod
13
- def map_categorical_to_numerical(df: pd.DataFrame| pd.Series)->pd.DataFrame | pd.Series:
12
+ def map_categorical_to_numerical(df: pd.DataFrame| pd.Series)->tuple:
14
13
 
15
14
  if isinstance(df, pd.Series):
16
15
  categorical_cols = [df.name] if df.dtype in ["object", "string", "category"] else []
@@ -36,10 +35,11 @@ class CategoricalToNumerical(Template):
36
35
 
37
36
 
38
37
  def execute(self, container: DataContainer) -> DataContainer:
39
- dataset = self._get_generic_data(container)
40
- transformed_dataset, labels = self.map_categorical_to_numerical(dataset)
41
- self._set_generic_data(container, transformed_dataset)
42
- print ('FINAL CONTAINER', container)
38
+ for data_frame in container.data_frames:
39
+
40
+ transformed_dataset, labels = self.map_categorical_to_numerical(data_frame.content)
41
+ container.data_frames.append(DataFramePacket(content=transformed_dataset, generic_data = labels))
42
+
43
43
  return container
44
44
 
45
45
 
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  import os
3
3
 
4
- from sinapsis_core.data_containers.data_packet import DataContainer, TimeSeriesPacket
4
+ from sinapsis_core.data_containers.data_packet import DataContainer, DataFramePacket, TimeSeriesPacket
5
5
  from sinapsis_core.template_base.base_models import TemplateAttributes, TemplateAttributeType
6
6
  from sinapsis_core.template_base.template import Template
7
7
  from sinapsis_core.utils.env_var_keys import SINAPSIS_CACHE_DIR
@@ -25,6 +25,7 @@ class CSVDatasetReader(Template):
25
25
  packet = TimeSeriesPacket(content=self.csv_file)
26
26
  container.time_series.append(packet)
27
27
  else:
28
- self._set_generic_data(container, self.csv_file)
28
+ packet = DataFramePacket(content=self.csv_file)
29
+ container.data_frames.append(packet)
29
30
 
30
31
  return container
@@ -0,0 +1,66 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ import pandas as pd
4
+ from sinapsis_core.data_containers.data_packet import DataContainer, DataFramePacket
5
+ from sinapsis_core.template_base import Template
6
+ from sinapsis_core.template_base.base_models import TemplateAttributes
7
+ from sklearn.model_selection import train_test_split
8
+
9
+
10
+ class CSVDatasetSplitter(Template):
11
+ """
12
+ Template to split a tabular data set into test and train samples.
13
+ The template retrieves the dataset from the dataframe packet of the
14
+ container and stores the features and targets as new dataframes, with source
15
+ indicating whether train or test samples
16
+ """
17
+
18
+ class AttributesBaseModel(TemplateAttributes):
19
+ target_key: str = "target" # labels
20
+ feature_key: str | None = None # arrays
21
+ random_state: int = 42
22
+ train_size: float = 0.2
23
+
24
+
25
+
26
+
27
+ def extract_x_y_from_packet(self, data_frame: DataFramePacket) -> tuple[pd.DataFrame, pd.DataFrame]:
28
+
29
+
30
+ target = data_frame.content.get(self.attributes.target_key)
31
+ feature = data_frame.content.get(self.attributes.feature_key) \
32
+ if self.attributes.feature_key \
33
+ else data_frame.drop(columns=[self.attributes.target_key])
34
+ return feature, target
35
+
36
+ def split_dataset(self, x_data:pd.DataFrame, y_data:pd.DataFrame) -> dict:
37
+
38
+ x_train, x_test, y_train, y_test = train_test_split(
39
+ x_data,
40
+ y_data,
41
+ train_size=self.attributes.train_size,
42
+ test_size=1 - self.attributes.train_size,
43
+ random_state=self.attributes.random_state,
44
+ )
45
+ data_map = {
46
+ "x_train": x_train,
47
+ "y_train": y_train,
48
+ "x_test": x_test,
49
+ "y_test": y_test
50
+ }
51
+ return data_map
52
+ def assign_to_dataframe_packets(self,container: DataContainer, source: str, data: pd.DataFrame) -> DataContainer:
53
+ df_packet = DataFramePacket(content=data, source=f"{self.instance_name}_{source}")
54
+ container.data_frames.append(df_packet)
55
+ return container
56
+
57
+ def execute(self, container: DataContainer) -> DataContainer:
58
+ for df in container.data_frames:
59
+ feature, target = self.extract_x_y_from_packet(df)
60
+ sample = feature, target, None, None
61
+ if self.attributes.train_size:
62
+ sample = self.split_dataset(feature, target)
63
+ for name, data_frame in sample.items():
64
+ container = self.assign_to_dataframe_packets(container, name, data_frame)
65
+ return container
66
+
@@ -2,7 +2,7 @@
2
2
 
3
3
  import numpy as np
4
4
  import pandas as pd
5
- from sinapsis_core.data_containers.data_packet import DataContainer, TimeSeriesPacket
5
+ from sinapsis_core.data_containers.data_packet import DataContainer, DataFramePacket, TimeSeriesPacket
6
6
  from sinapsis_core.template_base import Template
7
7
  from sinapsis_core.template_base.base_models import TemplateAttributes, TemplateAttributeType, UIPropertiesMetadata
8
8
  from sinapsis_core.template_base.dynamic_template import (
@@ -19,9 +19,6 @@ from sklearn.utils import Bunch
19
19
 
20
20
  from sinapsis_data_readers.helpers import sklearn_dataset_subset
21
21
  from sinapsis_data_readers.helpers.tags import Tags
22
- from sinapsis_data_readers.templates.datasets_readers.dataset_splitter import (
23
- TabularDatasetSplit,
24
- )
25
22
 
26
23
  TARGET: str = "target"
27
24
 
@@ -137,7 +134,7 @@ class SKLearnDatasets(BaseDynamicWrapperTemplate):
137
134
  results: pd.DataFrame, feature_name_cols: list, target_name_cols: list, n_features: int, split_size: float
138
135
  ) -> dict:
139
136
  """Method to split the dataset into training and testing samples"""
140
- if feature_name_cols:
137
+ if feature_name_cols is not None:
141
138
  X = results[feature_name_cols]
142
139
  y = results[target_name_cols]
143
140
  else:
@@ -145,30 +142,32 @@ class SKLearnDatasets(BaseDynamicWrapperTemplate):
145
142
  y = results.iloc[:, n_features:]
146
143
 
147
144
  x_train, x_test, y_train, y_test = train_test_split(X, y, train_size=split_size, random_state=0)
148
- split_data = TabularDatasetSplit(
149
- x_train=pd.DataFrame(x_train),
150
- x_test=pd.DataFrame(x_test),
151
- y_train=pd.DataFrame(y_train),
152
- y_test=pd.DataFrame(y_test),
153
- )
154
-
155
- return split_data.model_dump()
145
+ data_map = {
146
+ "x_train": x_train,
147
+ "y_train": y_train,
148
+ "x_test": x_test,
149
+ "y_test": y_test
150
+ }
151
+ return data_map
156
152
 
157
153
  def execute(self, container: DataContainer) -> DataContainer:
158
154
  sklearn_dataset = self.wrapped_callable.__func__(**self.dataset_attributes.model_dump())
159
155
  dataset, feature_columns, target_columns, n_features = self.parse_results(sklearn_dataset)
156
+
160
157
  if self.attributes.store_as_time_series:
161
158
  time_series_packet = TimeSeriesPacket(content=dataset)
162
159
  container.time_series.append(time_series_packet)
163
160
 
164
161
  if self.attributes.split_dataset:
165
- split_dataset = self.split_dataset(
162
+ data_map = self.split_dataset(
166
163
  dataset, feature_columns, target_columns, n_features, split_size=self.attributes.train_size
167
164
  )
168
- self._set_generic_data(container, split_dataset)
169
- if sklearn_dataset and not self.attributes.split_dataset:
170
- self._set_generic_data(container, dataset)
171
165
 
166
+ for name, df in data_map.items():
167
+ container.data_frames.append(DataFramePacket(content=df, source=f"{self.instance_name}_{name}"))
168
+
169
+ if sklearn_dataset and not self.attributes.split_dataset:
170
+ container.data_frames.append(DataFramePacket(content=dataset, source=self.instance_name))
172
171
  return container
173
172
 
174
173