julearn 0.3.2.dev80__tar.gz → 0.3.3__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 (233) hide show
  1. {julearn-0.3.2.dev80 → julearn-0.3.3}/.pre-commit-config.yaml +9 -9
  2. {julearn-0.3.2.dev80 → julearn-0.3.3}/PKG-INFO +8 -1
  3. {julearn-0.3.2.dev80 → julearn-0.3.3}/README.md +7 -0
  4. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/changes/contributors.inc +1 -0
  5. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/getting_started.rst +13 -6
  6. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/index.rst +6 -6
  7. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/links.inc +2 -1
  8. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/what_really_need_know/cross_validation.rst +1 -1
  9. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/whats_new.rst +18 -0
  10. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/99_docs/run_hyperparameters_docs.py +9 -9
  11. {julearn-0.3.2.dev80 → julearn-0.3.3}/ignore_words.txt +1 -1
  12. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/_version.py +2 -2
  13. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/conftest.py +2 -0
  14. julearn-0.3.3/julearn/external/optuna_searchcv.py +986 -0
  15. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/model_selection/__init__.py +0 -1
  16. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/model_selection/_optuna_searcher.py +6 -3
  17. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/model_selection/tests/test_optuna_searcher.py +1 -0
  18. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/model_selection/tests/test_skopt_searcher.py +1 -0
  19. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/pipeline/merger.py +1 -4
  20. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/pipeline/tests/test_merger.py +8 -4
  21. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/pipeline/tests/test_pipeline_creator.py +6 -2
  22. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/tests/test_api.py +10 -15
  23. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/cbpm.py +5 -3
  24. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/dataframe/change_column_types.py +3 -3
  25. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/tests/test_jucolumntransformers.py +3 -3
  26. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/utils/checks.py +1 -0
  27. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/utils/logging.py +1 -3
  28. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/utils/testing.py +1 -1
  29. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn.egg-info/PKG-INFO +8 -1
  30. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn.egg-info/SOURCES.txt +1 -0
  31. {julearn-0.3.2.dev80 → julearn-0.3.3}/pyproject.toml +14 -12
  32. {julearn-0.3.2.dev80 → julearn-0.3.3}/tox.ini +1 -0
  33. {julearn-0.3.2.dev80 → julearn-0.3.3}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
  34. {julearn-0.3.2.dev80 → julearn-0.3.3}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  35. {julearn-0.3.2.dev80 → julearn-0.3.3}/.github/ISSUE_TEMPLATE/documentation_request.yaml +0 -0
  36. {julearn-0.3.2.dev80 → julearn-0.3.3}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
  37. {julearn-0.3.2.dev80 → julearn-0.3.3}/.github/workflows/check-stale.yml +0 -0
  38. {julearn-0.3.2.dev80 → julearn-0.3.3}/.github/workflows/ci-docs.yml +0 -0
  39. {julearn-0.3.2.dev80 → julearn-0.3.3}/.github/workflows/ci.yml +0 -0
  40. {julearn-0.3.2.dev80 → julearn-0.3.3}/.github/workflows/docs-preview.yml +0 -0
  41. {julearn-0.3.2.dev80 → julearn-0.3.3}/.github/workflows/docs.yml +0 -0
  42. {julearn-0.3.2.dev80 → julearn-0.3.3}/.github/workflows/lint.yml +0 -0
  43. {julearn-0.3.2.dev80 → julearn-0.3.3}/.github/workflows/pypi.yml +0 -0
  44. {julearn-0.3.2.dev80 → julearn-0.3.3}/.gitignore +0 -0
  45. {julearn-0.3.2.dev80 → julearn-0.3.3}/AUTHORS.rst +0 -0
  46. {julearn-0.3.2.dev80 → julearn-0.3.3}/LICENSE.md +0 -0
  47. {julearn-0.3.2.dev80 → julearn-0.3.3}/codecov.yml +0 -0
  48. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/Makefile +0 -0
  49. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/_static/css/custom.css +0 -0
  50. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/_static/js/custom.js +0 -0
  51. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/_templates/class.rst +0 -0
  52. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/_templates/function.rst +0 -0
  53. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/_templates/function_warning.rst +0 -0
  54. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/_templates/versions.html +0 -0
  55. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/api/base.rst +0 -0
  56. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/api/index.rst +0 -0
  57. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/api/inspect.rst +0 -0
  58. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/api/main.rst +0 -0
  59. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/api/model_selection.rst +0 -0
  60. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/api/models.rst +0 -0
  61. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/api/pipeline.rst +0 -0
  62. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/api/prepare.rst +0 -0
  63. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/api/scoring.rst +0 -0
  64. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/api/stats.rst +0 -0
  65. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/api/transformers.rst +0 -0
  66. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/api/utils.rst +0 -0
  67. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/api/viz.rst +0 -0
  68. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/available_pipeline_steps.rst +0 -0
  69. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/changes/newsfragments/.gitignore +0 -0
  70. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/conf.py +0 -0
  71. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/configuration.rst +0 -0
  72. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/contributing.rst +0 -0
  73. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/examples.rst +0 -0
  74. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/faq.rst +0 -0
  75. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/corrected_ttest.png +0 -0
  76. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/final_estimator.png +0 -0
  77. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/iris_X.png +0 -0
  78. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/iris_df.png +0 -0
  79. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/iris_y.png +0 -0
  80. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/julearn_logo.png +0 -0
  81. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/julearn_logo_calm.png +0 -0
  82. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/julearn_logo_confbias.png +0 -0
  83. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/julearn_logo_cv.png +0 -0
  84. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/julearn_logo_generalization.png +0 -0
  85. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/julearn_logo_it.png +0 -0
  86. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/julearn_logo_ml.png +0 -0
  87. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/julearn_logo_mlit.png +0 -0
  88. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/multiple_scorers_run_cv.png +0 -0
  89. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/plot_scores.png +0 -0
  90. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/scores_run_cv.png +0 -0
  91. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/scores_run_cv_splitter.png +0 -0
  92. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/scores_run_cv_train.png +0 -0
  93. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/maintaining.rst +0 -0
  94. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/redirect.html +0 -0
  95. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/selected_deeper_topics/CBPM.rst +0 -0
  96. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/selected_deeper_topics/confound_removal.rst +0 -0
  97. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/selected_deeper_topics/cross_validation_splitter.rst +0 -0
  98. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/selected_deeper_topics/hyperparameter_tuning.rst +0 -0
  99. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/selected_deeper_topics/index.rst +0 -0
  100. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/selected_deeper_topics/model_inspect.rst +0 -0
  101. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/selected_deeper_topics/stacked_models.rst +0 -0
  102. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/selected_deeper_topics/target_transformers.rst +0 -0
  103. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/sphinxext/gh_substitutions.py +0 -0
  104. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/what_really_need_know/data.rst +0 -0
  105. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/what_really_need_know/index.rst +0 -0
  106. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/what_really_need_know/model_comparison.rst +0 -0
  107. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/what_really_need_know/model_evaluation.rst +0 -0
  108. {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/what_really_need_know/pipeline.rst +0 -0
  109. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/00_starting/README.rst +0 -0
  110. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/00_starting/plot_cm_acc_multiclass.py +0 -0
  111. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/00_starting/plot_example_regression.py +0 -0
  112. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/00_starting/plot_stratified_kfold_reg.py +0 -0
  113. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/00_starting/run_combine_pandas.py +0 -0
  114. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/00_starting/run_grouped_cv.py +0 -0
  115. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/00_starting/run_simple_binary_classification.py +0 -0
  116. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/01_model_comparison/README.rst +0 -0
  117. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/01_model_comparison/plot_simple_model_comparison.py +0 -0
  118. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/02_inspection/README.rst +0 -0
  119. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/02_inspection/plot_groupcv_inspect_svm.py +0 -0
  120. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/02_inspection/plot_inspect_random_forest.py +0 -0
  121. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/02_inspection/plot_preprocess.py +0 -0
  122. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/02_inspection/run_binary_inspect_folds.py +0 -0
  123. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/03_complex_models/README.rst +0 -0
  124. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/03_complex_models/run_apply_to_target.py +0 -0
  125. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/03_complex_models/run_example_pca_featsets.py +0 -0
  126. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/03_complex_models/run_hyperparameter_multiple_grids.py +0 -0
  127. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/03_complex_models/run_hyperparameter_tuning.py +0 -0
  128. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/03_complex_models/run_hyperparameter_tuning_bayessearch.py +0 -0
  129. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/03_complex_models/run_stacked_models.py +0 -0
  130. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/04_confounds/README.rst +0 -0
  131. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/04_confounds/plot_confound_removal_classification.py +0 -0
  132. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/04_confounds/run_return_confounds.py +0 -0
  133. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/05_customization/README.rst +0 -0
  134. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/05_customization/run_custom_scorers_regression.py +0 -0
  135. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/99_docs/README.rst +0 -0
  136. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/99_docs/run_cbpm_docs.py +0 -0
  137. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/99_docs/run_confound_removal_docs.py +0 -0
  138. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/99_docs/run_cv_splitters_docs.py +0 -0
  139. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/99_docs/run_data_docs.py +0 -0
  140. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/99_docs/run_model_comparison_docs.py +0 -0
  141. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/99_docs/run_model_evaluation_docs.py +0 -0
  142. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/99_docs/run_model_inspection_docs.py +0 -0
  143. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/99_docs/run_pipeline_docs.py +0 -0
  144. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/99_docs/run_stacked_models_docs.py +0 -0
  145. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/99_docs/run_target_transformer_docs.py +0 -0
  146. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/README.rst +0 -0
  147. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/XX_disabled/dis_run_n_jobs.py +0 -0
  148. {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/XX_disabled/dis_run_target_confound_removal.py +0 -0
  149. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/__init__.py +0 -0
  150. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/api.py +0 -0
  151. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/base/__init__.py +0 -0
  152. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/base/column_types.py +0 -0
  153. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/base/estimators.py +0 -0
  154. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/base/tests/test_base_estimators.py +0 -0
  155. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/base/tests/test_column_types.py +0 -0
  156. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/config.py +0 -0
  157. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/inspect/__init__.py +0 -0
  158. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/inspect/_cv.py +0 -0
  159. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/inspect/_pipeline.py +0 -0
  160. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/inspect/_preprocess.py +0 -0
  161. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/inspect/inspector.py +0 -0
  162. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/inspect/tests/test_cv.py +0 -0
  163. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/inspect/tests/test_inspector.py +0 -0
  164. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/inspect/tests/test_pipeline.py +0 -0
  165. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/inspect/tests/test_preprocess.py +0 -0
  166. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/model_selection/_skopt_searcher.py +0 -0
  167. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/model_selection/available_searchers.py +0 -0
  168. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/model_selection/continuous_stratified_kfold.py +0 -0
  169. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/model_selection/stratified_bootstrap.py +0 -0
  170. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/model_selection/tests/test_available_searchers.py +0 -0
  171. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/model_selection/tests/test_continous_stratified_kfold.py +0 -0
  172. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/model_selection/tests/test_stratified_bootstrap.py +0 -0
  173. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/models/__init__.py +0 -0
  174. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/models/available_models.py +0 -0
  175. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/models/dynamic.py +0 -0
  176. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/models/tests/test_available_models.py +0 -0
  177. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/models/tests/test_dynamic.py +0 -0
  178. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/models/tests/test_models.py +0 -0
  179. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/pipeline/__init__.py +0 -0
  180. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/pipeline/pipeline_creator.py +0 -0
  181. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/pipeline/target_pipeline.py +0 -0
  182. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/pipeline/target_pipeline_creator.py +0 -0
  183. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/pipeline/tests/test_target_pipeline.py +0 -0
  184. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/pipeline/tests/test_target_pipeline_creator.py +0 -0
  185. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/prepare.py +0 -0
  186. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/scoring/__init__.py +0 -0
  187. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/scoring/available_scorers.py +0 -0
  188. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/scoring/metrics.py +0 -0
  189. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/scoring/tests/test_available_scorers.py +0 -0
  190. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/scoring/tests/test_metrics.py +0 -0
  191. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/stats/__init__.py +0 -0
  192. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/stats/corrected_ttest.py +0 -0
  193. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/stats/tests/test_corrected_ttest.py +0 -0
  194. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/tests/test_config.py +0 -0
  195. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/tests/test_prepare.py +0 -0
  196. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/__init__.py +0 -0
  197. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/available_transformers.py +0 -0
  198. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/confound_remover.py +0 -0
  199. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/dataframe/__init__.py +0 -0
  200. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/dataframe/drop_columns.py +0 -0
  201. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/dataframe/filter_columns.py +0 -0
  202. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/dataframe/set_column_types.py +0 -0
  203. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/dataframe/tests/test_change_column_types.py +0 -0
  204. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/dataframe/tests/test_drop_columns.py +0 -0
  205. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/dataframe/tests/test_filter_columns.py +0 -0
  206. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/dataframe/tests/test_set_column_types.py +0 -0
  207. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/ju_column_transformer.py +0 -0
  208. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/target/__init__.py +0 -0
  209. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/target/available_target_transformers.py +0 -0
  210. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/target/ju_target_transformer.py +0 -0
  211. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/target/ju_transformed_target_model.py +0 -0
  212. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/target/target_confound_remover.py +0 -0
  213. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/target/tests/test_available_target_transformers.py +0 -0
  214. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/target/tests/test_ju_target_transformer.py +0 -0
  215. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/target/tests/test_ju_transformed_target_model.py +0 -0
  216. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/target/tests/test_target_confound_remover.py +0 -0
  217. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/tests/test_available_transformers.py +0 -0
  218. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/tests/test_cbpm.py +0 -0
  219. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/tests/test_confounds.py +0 -0
  220. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/utils/__init__.py +0 -0
  221. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/utils/_cv.py +0 -0
  222. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/utils/tests/test_logging.py +0 -0
  223. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/utils/tests/test_version.py +0 -0
  224. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/utils/typing.py +0 -0
  225. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/utils/versions.py +0 -0
  226. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/viz/__init__.py +0 -0
  227. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/viz/_scores.py +0 -0
  228. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/viz/res/julearn_logo_generalization.png +0 -0
  229. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn.egg-info/dependency_links.txt +0 -0
  230. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn.egg-info/requires.txt +0 -0
  231. {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn.egg-info/top_level.txt +0 -0
  232. {julearn-0.3.2.dev80 → julearn-0.3.3}/setup.cfg +0 -0
  233. {julearn-0.3.2.dev80 → julearn-0.3.3}/setup.py +0 -0
@@ -4,7 +4,7 @@ ci:
4
4
 
5
5
  repos:
6
6
  - repo: https://github.com/pre-commit/pre-commit-hooks
7
- rev: v4.4.0
7
+ rev: v4.6.0
8
8
  hooks:
9
9
  - id: check-ast
10
10
  - id: check-docstring-first
@@ -17,27 +17,27 @@ repos:
17
17
  - id: trailing-whitespace
18
18
  args: [--markdown-linebreak-ext=md]
19
19
  - repo: https://github.com/abravalheri/validate-pyproject
20
- rev: v0.12.2
20
+ rev: v0.17
21
21
  hooks:
22
22
  - id: validate-pyproject
23
- - repo: https://github.com/psf/black
24
- rev: 23.3.0
23
+ - repo: https://github.com/psf/black-pre-commit-mirror
24
+ rev: 24.4.2
25
25
  hooks:
26
26
  - id: black
27
27
  exclude: ^(docs/|examples/)
28
28
  args: [--check]
29
- - repo: https://github.com/charliermarsh/ruff-pre-commit
30
- rev: v0.0.267
29
+ - repo: https://github.com/astral-sh/ruff-pre-commit
30
+ rev: v0.4.4
31
31
  hooks:
32
32
  - id: ruff
33
33
  exclude: ^(__init__.py)
34
- args: [--format, grouped, --show-fixes]
34
+ args: [--output-format, grouped, --show-fixes]
35
35
  - repo: https://github.com/codespell-project/codespell
36
- rev: v2.2.4
36
+ rev: v2.2.6
37
37
  hooks:
38
38
  - id: codespell
39
39
  exclude: ^(.github/|docs/)
40
- args: [--config, tox.ini]
40
+ args: [--toml, pyproject.toml]
41
41
  - repo: https://github.com/pre-commit/pygrep-hooks
42
42
  rev: v1.10.0
43
43
  hooks:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: julearn
3
- Version: 0.3.2.dev80
3
+ Version: 0.3.3
4
4
  Summary: Juelich Machine Learning Library
5
5
  Author-email: Fede Raimondo <f.raimondo@fz-juelich.de>, Sami Hamdan <s.hamdan@fz-juelich.de>
6
6
  Maintainer-email: Sami Hamdan <s.hamdan@fz-juelich.de>
@@ -62,6 +62,7 @@ Requires-Dist: julearn[optuna,skopt,viz]; extra == "all"
62
62
  ![PyPI](https://img.shields.io/pypi/v/julearn?style=flat-square)
63
63
  ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/julearn?style=flat-square)
64
64
  ![PyPI - Wheel](https://img.shields.io/pypi/wheel/julearn?style=flat-square)
65
+ [![Anaconda-Server Badge](https://anaconda.org/conda-forge/julearn/badges/version.svg)](https://anaconda.org/conda-forge/julearn)
65
66
  ![GitHub](https://img.shields.io/github/license/juaml/julearn?style=flat-square)
66
67
  ![Codecov](https://img.shields.io/codecov/c/github/juaml/julearn?style=flat-square)
67
68
  [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json)](https://github.com/charliermarsh/ruff)
@@ -83,6 +84,12 @@ Use `pip` to install from PyPI like so:
83
84
  pip install julearn
84
85
  ```
85
86
 
87
+ You can also install via `conda`, like so:
88
+
89
+ ```
90
+ conda install -c conda-forge julearn
91
+ ```
92
+
86
93
  ## Licensing
87
94
 
88
95
  julearn is released under the AGPL v3 license:
@@ -3,6 +3,7 @@
3
3
  ![PyPI](https://img.shields.io/pypi/v/julearn?style=flat-square)
4
4
  ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/julearn?style=flat-square)
5
5
  ![PyPI - Wheel](https://img.shields.io/pypi/wheel/julearn?style=flat-square)
6
+ [![Anaconda-Server Badge](https://anaconda.org/conda-forge/julearn/badges/version.svg)](https://anaconda.org/conda-forge/julearn)
6
7
  ![GitHub](https://img.shields.io/github/license/juaml/julearn?style=flat-square)
7
8
  ![Codecov](https://img.shields.io/codecov/c/github/juaml/julearn?style=flat-square)
8
9
  [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json)](https://github.com/charliermarsh/ruff)
@@ -24,6 +25,12 @@ Use `pip` to install from PyPI like so:
24
25
  pip install julearn
25
26
  ```
26
27
 
28
+ You can also install via `conda`, like so:
29
+
30
+ ```
31
+ conda install -c conda-forge julearn
32
+ ```
33
+
27
34
  ## Licensing
28
35
 
29
36
  julearn is released under the AGPL v3 license:
@@ -4,3 +4,4 @@
4
4
  .. _Shammi More: https://www.fz-juelich.de/SharedDocs/Personen/INM/INM-7/EN/More_s.html?nn=654218
5
5
  .. _Leonard Sasse: https://github.com/LeSasse
6
6
  .. _Synchon Mandal: https://github.com/synchon
7
+ .. _Dante Culaciati: https://github.com/Dante-010
@@ -12,17 +12,17 @@ packages:
12
12
 
13
13
  * ``numpy>=1.24,<1.27``
14
14
  * ``pandas>=1.5.0,<2.2``
15
- * ``scikit-learn>=1.2,<1.4``
15
+ * ``scikit-learn>=1.2.0,<1.5.0``
16
16
  * ``statsmodels>=0.13,<0.15``
17
17
 
18
18
  Running the examples require:
19
19
 
20
20
  * ``seaborn>=0.12.2,<0.13``
21
21
  * ``bokeh>=3.0.0``
22
- * ``panel>=1.0.0b1``
23
- * ``param>=1.11.0``
22
+ * ``panel>=1.3.0``
23
+ * ``param>=2.0.0``
24
24
 
25
- Depending on the installation method (e.g. the `pip install` option below),
25
+ Depending on the installation method (e.g. the ``pip install`` option below),
26
26
  these packages might be installed automatically. It is nevertheless good to be
27
27
  aware of these dependencies as installing ``julearn`` might lead to changes in
28
28
  these packages.
@@ -47,17 +47,23 @@ Installing
47
47
  developer version until we release the next stable ``julearn`` version.
48
48
 
49
49
 
50
- Depending on your aimed usage of ``julearn`` you have two different options
50
+ Depending on your aimed usage of ``julearn`` you have different options
51
51
  how to install ``julearn``:
52
52
 
53
53
  #. Install the *latest release*: Likely most suitable for most
54
54
  **end users**. This is done by installing the latest stable release from
55
- PyPI.
55
+ PyPI:
56
56
 
57
57
  .. code-block:: bash
58
58
 
59
59
  pip install -U julearn
60
60
 
61
+ or via ``conda`` like so:
62
+
63
+ .. code-block:: bash
64
+
65
+ conda install -c conda-forge julearn
66
+
61
67
  #. Install the *latest pre-relase*: This version will have the
62
68
  **latest updates**. However, it is still under development and not yet
63
69
  officially released. Some features might still change before the next stable
@@ -90,4 +96,5 @@ The following optional dependencies are available:
90
96
  module is not compatible with newer Python versions and it is unmaintained.
91
97
  * ``skopt``: Using the ``"bayes"`` searcher (:class:`~skopt.BayesSearchCV`)
92
98
  requires the `scikit-optimize`_ package.
99
+ * ``optuna``: Using the ``"optuna"`` searcher (:class:`~optuna_integration.sklearn.OptunaSearchCV`) requires the `Optuna`_ and `optuna_integration`_ packages.
93
100
  * ``all``: Install all optional functional dependencies (except ``deslib``).
@@ -86,14 +86,14 @@ Indices and tables
86
86
  Indices and tables
87
87
  ==================
88
88
 
89
- If you use julearn in a scientific publication, please use the following
89
+ If you use julearn in a scientific publication, please use the following
90
90
  reference
91
91
 
92
- Hamdan, Sami, Shammi More, Leonard Sasse, Vera Komeyer,
93
- Kaustubh R. Patil, and Federico Raimondo. ‘Julearn:
94
- An Easy-to-Use Library for Leakage-Free Evaluation and Inspection of
95
- ML Models’. arXiv, 19 October 2023.
92
+ Hamdan, Sami, Shammi More, Leonard Sasse, Vera Komeyer,
93
+ Kaustubh R. Patil, and Federico Raimondo. ‘Julearn:
94
+ An Easy-to-Use Library for Leakage-Free Evaluation and Inspection of
95
+ ML Models’. arXiv, 19 October 2023.
96
96
  https://doi.org/10.48550/arXiv.2310.12568.
97
97
 
98
- Since julearn is also heavily reliant on scikit-learn, please also cite
98
+ Since julearn is also heavily reliant on scikit-learn, please also cite
99
99
  them: https://scikit-learn.org/stable/about.html#citing-scikit-learn
@@ -41,4 +41,5 @@
41
41
 
42
42
  .. _`DESlib`: https://github.com/scikit-learn-contrib/DESlib
43
43
  .. _`scikit-optimize`: https://scikit-optimize.readthedocs.io/en/stable/
44
- .. _`Optuna`: https://optuna.org
44
+ .. _`Optuna`: https://optuna.org
45
+ .. _`optuna_integration`: https://github.com/optuna/optuna-integration
@@ -16,7 +16,7 @@ Cross-validation - The fundamentals
16
16
  This means that in order to evaluate if a model is *successful* in learning,
17
17
  we need to evaluate if it is able to predict new data. Thus, we need to have
18
18
  separate data for learning and testing. At the same time, data is a valuable
19
- resource in machine learning and one wants to use it as efficeint as possible.
19
+ resource in machine learning and one wants to use it as efficiently as possible.
20
20
 
21
21
  To solve this, we use *cross validation*. The core idea is that we want to
22
22
  train (also named *fit*) a model on a subset of our data and evaluate it on a
@@ -8,6 +8,24 @@ What's new
8
8
 
9
9
  .. towncrier release notes start
10
10
 
11
+ Julearn 0.3.3 (2024-05-16)
12
+ --------------------------
13
+
14
+ Bugfixes
15
+ ^^^^^^^^
16
+
17
+ - Fix ``OptunaSearchCV`` issue
18
+ (https://github.com/optuna/optuna-integration/issues/118) with an internal
19
+ implementation until the issue is fixed in ``optuna-integration`` by `Fede
20
+ Raimondo`_ (:gh:`265`)
21
+
22
+
23
+ Improved Documentation
24
+ ^^^^^^^^^^^^^^^^^^^^^^
25
+
26
+ - Fixed a typo in cross validation by `Dante Culaciati`_ (:gh:`258`)
27
+
28
+
11
29
  Julearn 0.3.2 (2024-05-03)
12
30
  --------------------------
13
31
 
@@ -253,7 +253,7 @@ pprint(model_tuned.best_params_)
253
253
  # hyperparameters values.
254
254
  #
255
255
  # Other searchers that ``julearn`` provides are the
256
- # :class:`~sklearn.model_selection.RandomizedSearchCV`,
256
+ # :class:`~sklearn.model_selection.RandomizedSearchCV`,
257
257
  # :class:`~skopt.BayesSearchCV` and
258
258
  # :class:`~optuna_integration.sklearn.OptunaSearchCV`.
259
259
  #
@@ -383,14 +383,14 @@ pprint(model_tuned.best_params_)
383
383
  # searcher. However, the optuna searcher behaviour is controlled by a
384
384
  # :class:`~optuna.study.Study` object. This object can be passed to the
385
385
  # searcher using the ``study`` parameter in the ``search_params`` dictionary.
386
- #
386
+ #
387
387
  # .. important::
388
388
  # The optuna searcher requires that all the hyperparameters are specified
389
- # as distributions, even the categorical ones.
389
+ # as distributions, even the categorical ones.
390
390
  #
391
391
  # We first modify the pipeline creator so the ``select_k`` parameter is
392
392
  # specified as a distribution. We exemplarily use a categorical distribution
393
- # for the ``class_weight`` hyperparameter, trying the ``"balanced"`` and
393
+ # for the ``class_weight`` hyperparameter, trying the ``"balanced"`` and
394
394
  # ``None`` values.
395
395
 
396
396
  creator = PipelineCreator(problem_type="classification")
@@ -445,12 +445,12 @@ pprint(model_tuned.best_params_)
445
445
  # searcher, bayesian searcher and optuna searcher. The distributions are
446
446
  # either specified toolbox-specific method or a tuple convention with the
447
447
  # following format: ``(low, high, distribution)`` where the distribution can
448
- # be either ``"log-uniform"`` or ``"uniform"`` or
448
+ # be either ``"log-uniform"`` or ``"uniform"`` or
449
449
  # ``(a, b, c, d, ..., "categorical")`` where ``a``, ``b``, ``c``, ``d``, etc.
450
450
  # are the possible categorical values for the hyperparameter.
451
451
  #
452
- # For example, we can specify the ``C`` and ``gamma`` hyperparameters of the
453
- # :class:`~sklearn.svm.SVC` as log-uniform distributions, while keeping
452
+ # For example, we can specify the ``C`` and ``gamma`` hyperparameters of the
453
+ # :class:`~sklearn.svm.SVC` as log-uniform distributions, while keeping
454
454
  # the ``with_mean`` parameter of the
455
455
  # :class:`~sklearn.preprocessing.StandardScaler` as a categorical parameter
456
456
  # with two options.
@@ -469,7 +469,7 @@ print(creator)
469
469
  # While this will work for any of the ``random``, ``bayes`` or ``optuna``
470
470
  # searcher options, it is important to note that both ``bayes`` and ``optuna``
471
471
  # searchers accept further parameters to specify distributions. For example,
472
- # the ``bayes`` searcher distributions are defined using the
472
+ # the ``bayes`` searcher distributions are defined using the
473
473
  # :class:`~skopt.space.space.Categorical`, :class:`~skopt.space.space.Integer`
474
474
  # and :class:`~skopt.space.space.Real`.
475
475
  #
@@ -493,7 +493,7 @@ print(creator)
493
493
  #
494
494
  #
495
495
  # For example, we can define a uniform distribution from 0.5 to 0.9 with a 0.05
496
- # step for the ``n_components`` of a :class:`~sklearn.decomposition.PCA`
496
+ # step for the ``n_components`` of a :class:`~sklearn.decomposition.PCA`
497
497
  # transformer, while keeping a log-uniform distribution for the ``C`` and
498
498
  # ``gamma`` hyperparameters of the :class:`~sklearn.svm.SVC` model.
499
499
  from optuna.distributions import FloatDistribution
@@ -5,4 +5,4 @@ fpr
5
5
  master
6
6
  whis
7
7
  jupyter
8
- arange
8
+ arange
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '0.3.2.dev80'
16
- __version_tuple__ = version_tuple = (0, 3, 2, 'dev80')
15
+ __version__ = version = '0.3.3'
16
+ __version_tuple__ = version_tuple = (0, 3, 3)
@@ -286,6 +286,7 @@ def bayes_search_params(request: FixtureRequest) -> Optional[Dict]:
286
286
 
287
287
  return request.param
288
288
 
289
+
289
290
  @fixture(
290
291
  params=[
291
292
  {"kind": "optuna", "n_trials": 10, "cv": 3},
@@ -310,6 +311,7 @@ def optuna_search_params(request: FixtureRequest) -> Optional[Dict]:
310
311
 
311
312
  return request.param
312
313
 
314
+
313
315
  _tuning_params = {
314
316
  "zscore": {"with_mean": [True, False]},
315
317
  "pca": {"n_components": [0.2, 0.7]},