julearn 0.3.5.dev16__tar.gz → 0.3.5.dev25__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 (247) hide show
  1. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/PKG-INFO +5 -3
  2. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/README.md +2 -1
  3. julearn-0.3.5.dev25/docs/changes/newsfragments/279.doc +1 -0
  4. julearn-0.3.5.dev25/docs/changes/newsfragments/283.doc +1 -0
  5. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/00_starting/plot_stratified_kfold_reg.py +1 -1
  6. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/00_starting/run_combine_pandas.py +1 -1
  7. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/00_starting/run_grouped_cv.py +4 -4
  8. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/02_inspection/plot_groupcv_inspect_svm.py +4 -4
  9. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/03_complex_models/run_hyperparameter_multiple_grids.py +1 -1
  10. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/03_complex_models/run_hyperparameter_tuning.py +1 -1
  11. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/99_docs/run_cv_splitters_docs.py +1 -1
  12. julearn-0.3.5.dev25/julearn/_version.py +21 -0
  13. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/base/column_types.py +1 -1
  14. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/base/estimators.py +1 -1
  15. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/conftest.py +5 -5
  16. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/inspect/tests/test_preprocess.py +2 -2
  17. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/pipeline/pipeline_creator.py +2 -2
  18. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/scoring/available_scorers.py +1 -1
  19. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/stats/corrected_ttest.py +2 -2
  20. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/tests/test_prepare.py +1 -1
  21. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/transformers/target/ju_transformed_target_model.py +5 -5
  22. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/transformers/target/target_confound_remover.py +1 -1
  23. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn.egg-info/PKG-INFO +5 -3
  24. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn.egg-info/SOURCES.txt +2 -0
  25. julearn-0.3.5.dev16/julearn/_version.py +0 -16
  26. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
  27. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  28. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/.github/ISSUE_TEMPLATE/documentation_request.yaml +0 -0
  29. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
  30. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/.github/workflows/check-stale.yml +0 -0
  31. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/.github/workflows/ci-docs.yml +0 -0
  32. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/.github/workflows/ci.yml +0 -0
  33. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/.github/workflows/docs-preview.yml +0 -0
  34. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/.github/workflows/docs.yml +0 -0
  35. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/.github/workflows/lint.yml +0 -0
  36. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/.github/workflows/pypi.yml +0 -0
  37. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/.gitignore +0 -0
  38. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/.pre-commit-config.yaml +0 -0
  39. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/AUTHORS.rst +0 -0
  40. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/LICENSE.md +0 -0
  41. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/codecov.yml +0 -0
  42. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/Makefile +0 -0
  43. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/_static/css/custom.css +0 -0
  44. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/_static/js/custom.js +0 -0
  45. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/_templates/class.rst +0 -0
  46. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/_templates/function.rst +0 -0
  47. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/_templates/function_warning.rst +0 -0
  48. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/_templates/versions.html +0 -0
  49. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/api/base.rst +0 -0
  50. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/api/config.rst +0 -0
  51. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/api/index.rst +0 -0
  52. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/api/inspect.rst +0 -0
  53. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/api/main.rst +0 -0
  54. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/api/model_selection.rst +0 -0
  55. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/api/models.rst +0 -0
  56. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/api/pipeline.rst +0 -0
  57. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/api/prepare.rst +0 -0
  58. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/api/scoring.rst +0 -0
  59. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/api/stats.rst +0 -0
  60. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/api/transformers.rst +0 -0
  61. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/api/utils.rst +0 -0
  62. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/api/viz.rst +0 -0
  63. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/available_pipeline_steps.rst +0 -0
  64. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/changes/contributors.inc +0 -0
  65. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/changes/newsfragments/.gitignore +0 -0
  66. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/changes/newsfragments/277.enh +0 -0
  67. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/changes/newsfragments/278.doc +0 -0
  68. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/conf.py +0 -0
  69. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/configuration.rst +0 -0
  70. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/contributing.rst +0 -0
  71. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/examples.rst +0 -0
  72. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/faq.rst +0 -0
  73. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/getting_started.rst +0 -0
  74. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/images/corrected_ttest.png +0 -0
  75. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/images/final_estimator.png +0 -0
  76. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/images/iris_X.png +0 -0
  77. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/images/iris_df.png +0 -0
  78. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/images/iris_y.png +0 -0
  79. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/images/joblib_htcondor/condor_q.png +0 -0
  80. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/images/joblib_htcondor/ui_main.png +0 -0
  81. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/images/joblib_htcondor/ui_open.png +0 -0
  82. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/images/joblib_htcondor/ui_stacked.png +0 -0
  83. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/images/julearn_logo.png +0 -0
  84. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/images/julearn_logo_calm.png +0 -0
  85. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/images/julearn_logo_confbias.png +0 -0
  86. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/images/julearn_logo_cv.png +0 -0
  87. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/images/julearn_logo_generalization.png +0 -0
  88. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/images/julearn_logo_it.png +0 -0
  89. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/images/julearn_logo_ml.png +0 -0
  90. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/images/julearn_logo_mlit.png +0 -0
  91. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/images/multiple_scorers_run_cv.png +0 -0
  92. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/images/plot_scores.png +0 -0
  93. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/images/scores_run_cv.png +0 -0
  94. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/images/scores_run_cv_splitter.png +0 -0
  95. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/images/scores_run_cv_train.png +0 -0
  96. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/index.rst +0 -0
  97. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/links.inc +0 -0
  98. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/maintaining.rst +0 -0
  99. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/redirect.html +0 -0
  100. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/selected_deeper_topics/CBPM.rst +0 -0
  101. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/selected_deeper_topics/confound_removal.rst +0 -0
  102. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/selected_deeper_topics/cross_validation_splitter.rst +0 -0
  103. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/selected_deeper_topics/hyperparameter_tuning.rst +0 -0
  104. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/selected_deeper_topics/index.rst +0 -0
  105. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/selected_deeper_topics/joblib.rst +0 -0
  106. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/selected_deeper_topics/model_inspect.rst +0 -0
  107. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/selected_deeper_topics/stacked_models.rst +0 -0
  108. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/selected_deeper_topics/target_transformers.rst +0 -0
  109. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/sphinxext/gh_substitutions.py +0 -0
  110. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/what_really_need_know/cross_validation.rst +0 -0
  111. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/what_really_need_know/data.rst +0 -0
  112. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/what_really_need_know/index.rst +0 -0
  113. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/what_really_need_know/model_comparison.rst +0 -0
  114. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/what_really_need_know/model_evaluation.rst +0 -0
  115. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/what_really_need_know/pipeline.rst +0 -0
  116. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/docs/whats_new.rst +0 -0
  117. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/00_starting/README.rst +0 -0
  118. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/00_starting/plot_cm_acc_multiclass.py +0 -0
  119. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/00_starting/plot_example_regression.py +0 -0
  120. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/00_starting/run_simple_binary_classification.py +0 -0
  121. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/01_model_comparison/README.rst +0 -0
  122. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/01_model_comparison/plot_simple_model_comparison.py +0 -0
  123. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/02_inspection/README.rst +0 -0
  124. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/02_inspection/plot_inspect_random_forest.py +0 -0
  125. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/02_inspection/plot_preprocess.py +0 -0
  126. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/02_inspection/run_binary_inspect_folds.py +0 -0
  127. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/03_complex_models/README.rst +0 -0
  128. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/03_complex_models/run_apply_to_target.py +0 -0
  129. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/03_complex_models/run_example_pca_featsets.py +0 -0
  130. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/03_complex_models/run_hyperparameter_tuning_bayessearch.py +0 -0
  131. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/03_complex_models/run_stacked_models.py +0 -0
  132. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/04_confounds/README.rst +0 -0
  133. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/04_confounds/plot_confound_removal_classification.py +0 -0
  134. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/04_confounds/run_return_confounds.py +0 -0
  135. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/05_customization/README.rst +0 -0
  136. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/05_customization/run_custom_scorers_regression.py +0 -0
  137. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/99_docs/README.rst +0 -0
  138. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/99_docs/run_cbpm_docs.py +0 -0
  139. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/99_docs/run_confound_removal_docs.py +0 -0
  140. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/99_docs/run_data_docs.py +0 -0
  141. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/99_docs/run_hyperparameters_docs.py +0 -0
  142. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/99_docs/run_model_comparison_docs.py +0 -0
  143. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/99_docs/run_model_evaluation_docs.py +0 -0
  144. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/99_docs/run_model_inspection_docs.py +0 -0
  145. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/99_docs/run_pipeline_docs.py +0 -0
  146. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/99_docs/run_stacked_models_docs.py +0 -0
  147. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/99_docs/run_target_transformer_docs.py +0 -0
  148. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/README.rst +0 -0
  149. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/XX_disabled/dis_run_n_jobs.py +0 -0
  150. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/examples/XX_disabled/dis_run_target_confound_removal.py +0 -0
  151. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/ignore_words.txt +0 -0
  152. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/__init__.py +0 -0
  153. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/api.py +0 -0
  154. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/base/__init__.py +0 -0
  155. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/base/tests/test_base_estimators.py +0 -0
  156. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/base/tests/test_column_types.py +0 -0
  157. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/config.py +0 -0
  158. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/external/optuna_searchcv.py +0 -0
  159. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/inspect/__init__.py +0 -0
  160. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/inspect/_cv.py +0 -0
  161. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/inspect/_pipeline.py +0 -0
  162. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/inspect/_preprocess.py +0 -0
  163. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/inspect/inspector.py +0 -0
  164. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/inspect/tests/test_cv.py +0 -0
  165. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/inspect/tests/test_inspector.py +0 -0
  166. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/inspect/tests/test_pipeline.py +0 -0
  167. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/model_selection/__init__.py +0 -0
  168. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/model_selection/_optuna_searcher.py +0 -0
  169. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/model_selection/_skopt_searcher.py +0 -0
  170. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/model_selection/available_searchers.py +0 -0
  171. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/model_selection/continuous_stratified_kfold.py +0 -0
  172. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/model_selection/final_model_cv.py +0 -0
  173. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/model_selection/stratified_bootstrap.py +0 -0
  174. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/model_selection/tests/test_available_searchers.py +0 -0
  175. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/model_selection/tests/test_continous_stratified_kfold.py +0 -0
  176. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/model_selection/tests/test_final_model_cv.py +0 -0
  177. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/model_selection/tests/test_optuna_searcher.py +0 -0
  178. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/model_selection/tests/test_skopt_searcher.py +0 -0
  179. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/model_selection/tests/test_stratified_bootstrap.py +0 -0
  180. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/model_selection/utils.py +0 -0
  181. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/models/__init__.py +0 -0
  182. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/models/available_models.py +0 -0
  183. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/models/dynamic.py +0 -0
  184. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/models/tests/test_available_models.py +0 -0
  185. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/models/tests/test_dynamic.py +0 -0
  186. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/models/tests/test_models.py +0 -0
  187. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/pipeline/__init__.py +0 -0
  188. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/pipeline/merger.py +0 -0
  189. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/pipeline/target_pipeline.py +0 -0
  190. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/pipeline/target_pipeline_creator.py +0 -0
  191. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/pipeline/tests/test_merger.py +0 -0
  192. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/pipeline/tests/test_pipeline_creator.py +0 -0
  193. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/pipeline/tests/test_target_pipeline.py +0 -0
  194. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/pipeline/tests/test_target_pipeline_creator.py +0 -0
  195. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/prepare.py +0 -0
  196. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/scoring/__init__.py +0 -0
  197. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/scoring/metrics.py +0 -0
  198. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/scoring/tests/test_available_scorers.py +0 -0
  199. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/scoring/tests/test_metrics.py +0 -0
  200. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/stats/__init__.py +0 -0
  201. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/stats/tests/test_corrected_ttest.py +0 -0
  202. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/tests/test_api.py +0 -0
  203. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/tests/test_config.py +0 -0
  204. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/transformers/__init__.py +0 -0
  205. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/transformers/available_transformers.py +0 -0
  206. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/transformers/cbpm.py +0 -0
  207. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/transformers/confound_remover.py +0 -0
  208. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/transformers/dataframe/__init__.py +0 -0
  209. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/transformers/dataframe/change_column_types.py +0 -0
  210. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/transformers/dataframe/drop_columns.py +0 -0
  211. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/transformers/dataframe/filter_columns.py +0 -0
  212. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/transformers/dataframe/set_column_types.py +0 -0
  213. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/transformers/dataframe/tests/test_change_column_types.py +0 -0
  214. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/transformers/dataframe/tests/test_drop_columns.py +0 -0
  215. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/transformers/dataframe/tests/test_filter_columns.py +0 -0
  216. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/transformers/dataframe/tests/test_set_column_types.py +0 -0
  217. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/transformers/ju_column_transformer.py +0 -0
  218. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/transformers/target/__init__.py +0 -0
  219. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/transformers/target/available_target_transformers.py +0 -0
  220. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/transformers/target/ju_target_transformer.py +0 -0
  221. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/transformers/target/tests/test_available_target_transformers.py +0 -0
  222. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/transformers/target/tests/test_ju_target_transformer.py +0 -0
  223. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/transformers/target/tests/test_ju_transformed_target_model.py +0 -0
  224. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/transformers/target/tests/test_target_confound_remover.py +0 -0
  225. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/transformers/tests/test_available_transformers.py +0 -0
  226. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/transformers/tests/test_cbpm.py +0 -0
  227. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/transformers/tests/test_confounds.py +0 -0
  228. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/transformers/tests/test_jucolumntransformers.py +0 -0
  229. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/utils/__init__.py +0 -0
  230. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/utils/_cv.py +0 -0
  231. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/utils/checks.py +0 -0
  232. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/utils/logging.py +0 -0
  233. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/utils/testing.py +0 -0
  234. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/utils/tests/test_logging.py +0 -0
  235. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/utils/tests/test_version.py +0 -0
  236. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/utils/typing.py +0 -0
  237. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/utils/versions.py +0 -0
  238. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/viz/__init__.py +0 -0
  239. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/viz/_scores.py +0 -0
  240. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn/viz/res/julearn_logo_generalization.png +0 -0
  241. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn.egg-info/dependency_links.txt +0 -0
  242. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn.egg-info/requires.txt +0 -0
  243. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/julearn.egg-info/top_level.txt +0 -0
  244. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/pyproject.toml +0 -0
  245. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/setup.cfg +0 -0
  246. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/setup.py +0 -0
  247. {julearn-0.3.5.dev16 → julearn-0.3.5.dev25}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: julearn
3
- Version: 0.3.5.dev16
3
+ Version: 0.3.5.dev25
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>
@@ -56,6 +56,7 @@ Requires-Dist: optuna<3.7,>=3.6.0; extra == "optuna"
56
56
  Requires-Dist: optuna_integration<4.1,>=3.6.0; extra == "optuna"
57
57
  Provides-Extra: all
58
58
  Requires-Dist: julearn[optuna,skopt,viz]; extra == "all"
59
+ Dynamic: license-file
59
60
 
60
61
  # julearn
61
62
 
@@ -67,6 +68,7 @@ Requires-Dist: julearn[optuna,skopt,viz]; extra == "all"
67
68
  ![Codecov](https://img.shields.io/codecov/c/github/juaml/julearn?style=flat-square)
68
69
  [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json)](https://github.com/charliermarsh/ruff)
69
70
  [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)
71
+ ![JuRSE Code Pick](https://img.shields.io/badge/JuRSE_Code_Pick-May_2025-blue?link=https://www.fz-juelich.de/en/rse/jurse-community/jurse-code-of-the-month/may-2025)
70
72
 
71
73
  ## About
72
74
 
@@ -113,6 +115,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
113
115
 
114
116
  If you use julearn in a scientific publication, please use the following reference
115
117
 
116
- > Hamdan, Sami, Shammi More, Leonard Sasse, Vera Komeyer, Kaustubh R. Patil, and Federico Raimondo. Julearn: An Easy-to-Use Library for Leakage-Free Evaluation and Inspection of ML Models’. arXiv, 19 October 2023. https://doi.org/10.48550/arXiv.2310.12568.
118
+ > Sami Hamdan,Shammi More,Leonard Sasse,Vera Komeyer,Kaustubh R. Patil,Federico Raimondo,for the Alzheimer’s Disease Neuroimaging Initiative,Julearn: an easy-to-use library for leakage-free evaluation and inspection of ML models,Gigabyte,2024 https://doi.org/10.46471/gigabyte.113
117
119
 
118
120
  Since julearn is also heavily reliant on scikit-learn, please also cite them: https://scikit-learn.org/stable/about.html#citing-scikit-learn
@@ -8,6 +8,7 @@
8
8
  ![Codecov](https://img.shields.io/codecov/c/github/juaml/julearn?style=flat-square)
9
9
  [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json)](https://github.com/charliermarsh/ruff)
10
10
  [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)
11
+ ![JuRSE Code Pick](https://img.shields.io/badge/JuRSE_Code_Pick-May_2025-blue?link=https://www.fz-juelich.de/en/rse/jurse-community/jurse-code-of-the-month/may-2025)
11
12
 
12
13
  ## About
13
14
 
@@ -54,6 +55,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
54
55
 
55
56
  If you use julearn in a scientific publication, please use the following reference
56
57
 
57
- > Hamdan, Sami, Shammi More, Leonard Sasse, Vera Komeyer, Kaustubh R. Patil, and Federico Raimondo. Julearn: An Easy-to-Use Library for Leakage-Free Evaluation and Inspection of ML Models’. arXiv, 19 October 2023. https://doi.org/10.48550/arXiv.2310.12568.
58
+ > Sami Hamdan,Shammi More,Leonard Sasse,Vera Komeyer,Kaustubh R. Patil,Federico Raimondo,for the Alzheimer’s Disease Neuroimaging Initiative,Julearn: an easy-to-use library for leakage-free evaluation and inspection of ML models,Gigabyte,2024 https://doi.org/10.46471/gigabyte.113
58
59
 
59
60
  Since julearn is also heavily reliant on scikit-learn, please also cite them: https://scikit-learn.org/stable/about.html#citing-scikit-learn
@@ -0,0 +1 @@
1
+ Update citation in README by `Synchon Mandal`_
@@ -0,0 +1 @@
1
+ Add JuRSE Code Pick shield in README by `Synchon Mandal`_
@@ -75,7 +75,7 @@ sns.displot(data_df, x="target", bins=20)
75
75
  # distributed. We can see that the data is skewed towards the lower end of
76
76
  # the target variable. We can also see that there are some outliers in the
77
77
  # data. In any case, even with a low number of splits, some groups will not be
78
- # represented in each fold. Lets continue with 40 bins which gives a good
78
+ # represented in each fold. Let's continue with 40 bins which gives a good
79
79
  # granularity.
80
80
 
81
81
  cv_stratified = ContinuousStratifiedKFold(n_bins=40, n_splits=5, shuffle=False)
@@ -122,7 +122,7 @@ df_fmri = df_fmri.reset_index()
122
122
 
123
123
  ###############################################################################
124
124
  # Reshaping data frames (more complex)
125
- # Lets suppose that our prediction target is now the *age* and we want to use
125
+ # Let's suppose that our prediction target is now the *age* and we want to use
126
126
  # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
127
127
  # as features the frontal and parietal value during each event. For this
128
128
  # purpose, we need to convert the event values into columns. There are two
@@ -40,7 +40,7 @@ configure_logging(level="INFO")
40
40
  df_fmri = load_dataset("fmri")
41
41
 
42
42
  ###############################################################################
43
- # First, lets get some information on what the dataset has:
43
+ # First, let's get some information on what the dataset has:
44
44
 
45
45
  print(df_fmri.head())
46
46
 
@@ -49,7 +49,7 @@ print(df_fmri.head())
49
49
  # were several subjects, timepoints, events and signal extracted from several
50
50
  # brain regions.
51
51
  #
52
- # Lets check how many kinds of each we have.
52
+ # Let's check how many kinds of each we have.
53
53
  print(df_fmri["event"].unique())
54
54
  print(df_fmri["region"].unique())
55
55
  print(sorted(df_fmri["timepoint"].unique()))
@@ -58,7 +58,7 @@ print(df_fmri["subject"].unique())
58
58
  ###############################################################################
59
59
  # We have data from parietal and frontal regions during 2 types of events
60
60
  # (*cue* and *stim*) during 18 timepoints and for 14 subjects.
61
- # Lets see how many samples we have for each condition
61
+ # Let's see how many samples we have for each condition
62
62
 
63
63
  print(df_fmri.groupby(["subject", "timepoint", "event", "region"]).count())
64
64
  print(
@@ -72,7 +72,7 @@ print(
72
72
  ###############################################################################
73
73
  # We have exactly one value per condition.
74
74
  #
75
- # Lets try to build a model, that uses parietal and frontal signal to predicts
75
+ # Let's try to build a model, that uses parietal and frontal signal to predicts
76
76
  # whether the event was a *cue* or a *stim*.
77
77
  #
78
78
  # First we define our X and y variables.
@@ -42,7 +42,7 @@ configure_logging(level="INFO")
42
42
  df_fmri = load_dataset("fmri")
43
43
 
44
44
  ###############################################################################
45
- # First, lets get some information on what the dataset has:
45
+ # First, let's get some information on what the dataset has:
46
46
 
47
47
  print(df_fmri.head())
48
48
 
@@ -51,7 +51,7 @@ print(df_fmri.head())
51
51
  # were several subjects, timepoints, events and signal extracted from several
52
52
  # brain regions.
53
53
  #
54
- # Lets check how many kinds of each we have.
54
+ # Let's check how many kinds of each we have.
55
55
 
56
56
  print(df_fmri["event"].unique())
57
57
  print(df_fmri["region"].unique())
@@ -61,7 +61,7 @@ print(df_fmri["subject"].unique())
61
61
  ###############################################################################
62
62
  # We have data from parietal and frontal regions during 2 types of events
63
63
  # (*cue* and *stim*) during 18 timepoints and for 14 subjects.
64
- # Lets see how many samples we have for each condition
64
+ # Let's see how many samples we have for each condition
65
65
 
66
66
  print(df_fmri.groupby(["subject", "timepoint", "event", "region"]).count())
67
67
  print(
@@ -75,7 +75,7 @@ print(
75
75
  ###############################################################################
76
76
  # We have exactly one value per condition.
77
77
  #
78
- # Lets try to build a model, that uses parietal and frontal signal to predicts
78
+ # Let's try to build a model, that uses parietal and frontal signal to predicts
79
79
  # whether the event was a *cue* or a *stim*.
80
80
  #
81
81
  # First we define our X and y variables.
@@ -47,7 +47,7 @@ df_fmri = df_fmri.reset_index()
47
47
  df_fmri.head()
48
48
 
49
49
  ###############################################################################
50
- # Lets do a first attempt and use a linear SVM with the default parameters.
50
+ # Let's do a first attempt and use a linear SVM with the default parameters.
51
51
 
52
52
  X = ["frontal", "parietal"]
53
53
  y = "event"
@@ -84,7 +84,7 @@ scores, estimator = run_cross_validation(
84
84
  print(scores["test_score"].mean())
85
85
 
86
86
  ###############################################################################
87
- # This did not change much, lets explore other kernels too.
87
+ # This did not change much, let's explore other kernels too.
88
88
 
89
89
  creator = PipelineCreator(problem_type="classification")
90
90
  creator.add("zscore")
@@ -182,7 +182,7 @@ fig.suptitle(
182
182
  )
183
183
 
184
184
  ###############################################################################
185
- # Now lets see how K-fold would have split this data.
185
+ # Now let's see how K-fold would have split this data.
186
186
  cv = KFold(n_splits=3, shuffle=True, random_state=42)
187
187
 
188
188
  fig, axis = plt.subplots(1, 2, figsize=(20, 4))
@@ -0,0 +1,21 @@
1
+ # file generated by setuptools-scm
2
+ # don't change, don't track in version control
3
+
4
+ __all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
5
+
6
+ TYPE_CHECKING = False
7
+ if TYPE_CHECKING:
8
+ from typing import Tuple
9
+ from typing import Union
10
+
11
+ VERSION_TUPLE = Tuple[Union[int, str], ...]
12
+ else:
13
+ VERSION_TUPLE = object
14
+
15
+ version: str
16
+ __version__: str
17
+ __version_tuple__: VERSION_TUPLE
18
+ version_tuple: VERSION_TUPLE
19
+
20
+ __version__ = version = '0.3.5.dev25'
21
+ __version_tuple__ = version_tuple = (0, 3, 5, 'dev25')
@@ -30,7 +30,7 @@ def change_column_type(column: str, new_type: str):
30
30
  The new column name with the type changed.
31
31
 
32
32
  """
33
- return "__:type:__".join(column.split("__:type:__")[0:1] + [new_type])
33
+ return "__:type:__".join([*column.split("__:type:__")[0:1], new_type])
34
34
 
35
35
 
36
36
  def get_column_type(column):
@@ -492,7 +492,7 @@ class WrapModel(JuBaseEstimator):
492
492
 
493
493
  """
494
494
  model_params = list(self.model.get_params(True).keys())
495
- kwargs = cast(Dict[str, Any], kwargs)
495
+ kwargs = cast("Dict[str, Any]", kwargs)
496
496
  for param, val in kwargs.items():
497
497
  if param in model_params:
498
498
  self.model.set_params(**{param: val})
@@ -90,7 +90,7 @@ def df_typed_iris() -> pd.DataFrame:
90
90
 
91
91
  """
92
92
  df = load_dataset("iris")
93
- df = typing.cast(pd.DataFrame, df)
93
+ df = typing.cast("pd.DataFrame", df)
94
94
 
95
95
  rename = {
96
96
  "sepal_length": "sepal_length__:type:__continuous",
@@ -113,7 +113,7 @@ def df_iris() -> pd.DataFrame:
113
113
 
114
114
  """
115
115
  df = load_dataset("iris")
116
- df = typing.cast(pd.DataFrame, df)
116
+ df = typing.cast("pd.DataFrame", df)
117
117
 
118
118
  return df.copy()
119
119
 
@@ -129,7 +129,7 @@ def df_binary() -> pd.DataFrame:
129
129
 
130
130
  """
131
131
  df_iris = load_dataset("iris")
132
- df_iris = typing.cast(pd.DataFrame, df_iris)
132
+ df_iris = typing.cast("pd.DataFrame", df_iris)
133
133
  df_binary = df_iris[df_iris["species"].isin(["setosa", "virginica"])]
134
134
 
135
135
  return df_binary
@@ -148,7 +148,7 @@ def X_iris() -> pd.DataFrame:
148
148
 
149
149
  """
150
150
  df = load_dataset("iris")
151
- df = typing.cast(pd.DataFrame, df)
151
+ df = typing.cast("pd.DataFrame", df)
152
152
  features = ["sepal_length", "sepal_width", "petal_length", "petal_width"]
153
153
  return df.loc[:, features]
154
154
 
@@ -166,7 +166,7 @@ def y_iris() -> pd.Series:
166
166
 
167
167
  """
168
168
  df = load_dataset("iris")
169
- df = typing.cast(pd.DataFrame, df)
169
+ df = typing.cast("pd.DataFrame", df)
170
170
 
171
171
  return df.loc[:, "species"].astype("category").cat.codes
172
172
 
@@ -79,7 +79,7 @@ def test_preprocess_sklearn(
79
79
 
80
80
  """
81
81
  X = list(X_iris.columns)
82
- X = cast(List[str], X)
82
+ X = cast("List[str]", X)
83
83
  pipeline.fit(X_iris, y=y_iris)
84
84
 
85
85
  X_train = X_iris.copy()
@@ -111,7 +111,7 @@ def test_preprocess_sklearn_nodataframe(
111
111
 
112
112
  """
113
113
  X = list(X_iris.columns)
114
- X = cast(List[str], X)
114
+ X = cast("List[str]", X)
115
115
  pipeline = Pipeline([("scaler", StandardScaler()), ("svm", SVC())])
116
116
  pipeline.fit(X_iris, y=y_iris)
117
117
 
@@ -255,7 +255,7 @@ class PipelineCreator:
255
255
  "TargetPipelineCreator can only be added to the target."
256
256
  )
257
257
  step = step.to_pipeline() # type: ignore
258
- step = typing.cast(JuTargetPipeline, step)
258
+ step = typing.cast("JuTargetPipeline", step)
259
259
  # Validate the step
260
260
  self._validate_step(step, apply_to)
261
261
 
@@ -609,7 +609,7 @@ class PipelineCreator:
609
609
  params_to_tune.update(step_params_to_tune)
610
610
  pipeline_steps.append((model_name, model_estimator))
611
611
  pipeline = Pipeline(pipeline_steps).set_output(transform="pandas")
612
- pipeline = typing.cast(Pipeline, pipeline) # damn typing..
612
+ pipeline = typing.cast("Pipeline", pipeline) # damn typing..
613
613
  # Deal with the Hyperparameter tuning
614
614
  out = _prepare_hyperparameter_tuning(
615
615
  params_to_tune, search_params, pipeline
@@ -161,7 +161,7 @@ def check_scoring(
161
161
  wrap_score,
162
162
  )
163
163
  if isinstance(scoring, list):
164
- scorer_names = typing.cast(List[str], scoring)
164
+ scorer_names = typing.cast("List[str]", scoring)
165
165
  scoring_dict = {
166
166
  score: _extend_scorer(get_scorer(score), wrap_score)
167
167
  for score in scorer_names
@@ -168,8 +168,8 @@ def corrected_ttest(
168
168
  n_train = i_scores["n_train"].values
169
169
  n_test = i_scores["n_test"].values
170
170
 
171
- n_train = typing.cast(np.ndarray, n_train)
172
- n_test = typing.cast(np.ndarray, n_test)
171
+ n_train = typing.cast("np.ndarray", n_train)
172
+ n_test = typing.cast("np.ndarray", n_test)
173
173
 
174
174
  if np.unique(n_train).size > 1:
175
175
  warn_with_log(
@@ -240,7 +240,7 @@ def test_prepare_input_data_erors() -> None:
240
240
  )
241
241
 
242
242
  # Missing column in dataframe
243
- X = columns[:5] + ["wrong"]
243
+ X = [*columns[:5], "wrong"]
244
244
  y = columns[6]
245
245
  groups = columns[7]
246
246
  with pytest.raises(ValueError, match=r"missing: \['wrong'\]"):
@@ -116,7 +116,7 @@ class JuTransformedTargetModel(JuBaseEstimator):
116
116
  """
117
117
  if not hasattr(self, "model_"):
118
118
  raise_error("Model not fitted yet.")
119
- self.model_ = typing.cast(ModelLike, self.model_)
119
+ self.model_ = typing.cast("ModelLike", self.model_)
120
120
  # TODO: Check if we can inverse the y transformations
121
121
  # Raise warning if not possible
122
122
  y_pred = self.model_.predict(X)
@@ -150,7 +150,7 @@ class JuTransformedTargetModel(JuBaseEstimator):
150
150
  """
151
151
  if not hasattr(self, "model_"):
152
152
  raise_error("Model not fitted yet.")
153
- self.model_ = typing.cast(ModelLike, self.model_)
153
+ self.model_ = typing.cast("ModelLike", self.model_)
154
154
  y_trans = self.transform_target(X, y)
155
155
  return self.model_.score(X, y_trans)
156
156
 
@@ -173,7 +173,7 @@ class JuTransformedTargetModel(JuBaseEstimator):
173
173
  """
174
174
  if not hasattr(self, "model_"):
175
175
  raise_error("Model not fitted yet.")
176
- self.model_ = typing.cast(ModelLike, self.model_)
176
+ self.model_ = typing.cast("ModelLike", self.model_)
177
177
  return self.model_.predict_proba(X) # type: ignore
178
178
 
179
179
  @available_if(_wrapped_model_has("decision_function"))
@@ -194,7 +194,7 @@ class JuTransformedTargetModel(JuBaseEstimator):
194
194
  """
195
195
  if not hasattr(self, "model_"):
196
196
  raise_error("Model not fitted yet.")
197
- self.model_ = typing.cast(ModelLike, self.model_)
197
+ self.model_ = typing.cast("ModelLike", self.model_)
198
198
  return self.model_.decision_function(X) # type: ignore
199
199
 
200
200
  def transform_target(
@@ -233,5 +233,5 @@ class JuTransformedTargetModel(JuBaseEstimator):
233
233
  """Get the classes of the model."""
234
234
  if not hasattr(self, "model_"):
235
235
  raise_error("Model not fitted yet.")
236
- self.model_ = typing.cast(ModelLike, self.model_)
236
+ self.model_ = typing.cast("ModelLike", self.model_)
237
237
  return self.model_.classes_
@@ -99,7 +99,7 @@ class TargetConfoundRemover(JuTargetTransformer):
99
99
  y_pred = self.model_confounds_.predict( # type: ignore
100
100
  X_confounds.values
101
101
  )
102
- y_pred = typing.cast(pd.Series, y_pred)
102
+ y_pred = typing.cast("pd.Series", y_pred)
103
103
  residuals = y - y_pred
104
104
  if self.threshold is not None:
105
105
  residuals[np.abs(residuals) < self.threshold] = 0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: julearn
3
- Version: 0.3.5.dev16
3
+ Version: 0.3.5.dev25
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>
@@ -56,6 +56,7 @@ Requires-Dist: optuna<3.7,>=3.6.0; extra == "optuna"
56
56
  Requires-Dist: optuna_integration<4.1,>=3.6.0; extra == "optuna"
57
57
  Provides-Extra: all
58
58
  Requires-Dist: julearn[optuna,skopt,viz]; extra == "all"
59
+ Dynamic: license-file
59
60
 
60
61
  # julearn
61
62
 
@@ -67,6 +68,7 @@ Requires-Dist: julearn[optuna,skopt,viz]; extra == "all"
67
68
  ![Codecov](https://img.shields.io/codecov/c/github/juaml/julearn?style=flat-square)
68
69
  [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json)](https://github.com/charliermarsh/ruff)
69
70
  [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)
71
+ ![JuRSE Code Pick](https://img.shields.io/badge/JuRSE_Code_Pick-May_2025-blue?link=https://www.fz-juelich.de/en/rse/jurse-community/jurse-code-of-the-month/may-2025)
70
72
 
71
73
  ## About
72
74
 
@@ -113,6 +115,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
113
115
 
114
116
  If you use julearn in a scientific publication, please use the following reference
115
117
 
116
- > Hamdan, Sami, Shammi More, Leonard Sasse, Vera Komeyer, Kaustubh R. Patil, and Federico Raimondo. Julearn: An Easy-to-Use Library for Leakage-Free Evaluation and Inspection of ML Models’. arXiv, 19 October 2023. https://doi.org/10.48550/arXiv.2310.12568.
118
+ > Sami Hamdan,Shammi More,Leonard Sasse,Vera Komeyer,Kaustubh R. Patil,Federico Raimondo,for the Alzheimer’s Disease Neuroimaging Initiative,Julearn: an easy-to-use library for leakage-free evaluation and inspection of ML models,Gigabyte,2024 https://doi.org/10.46471/gigabyte.113
117
119
 
118
120
  Since julearn is also heavily reliant on scikit-learn, please also cite them: https://scikit-learn.org/stable/about.html#citing-scikit-learn
@@ -56,6 +56,8 @@ docs/changes/contributors.inc
56
56
  docs/changes/newsfragments/.gitignore
57
57
  docs/changes/newsfragments/277.enh
58
58
  docs/changes/newsfragments/278.doc
59
+ docs/changes/newsfragments/279.doc
60
+ docs/changes/newsfragments/283.doc
59
61
  docs/images/corrected_ttest.png
60
62
  docs/images/final_estimator.png
61
63
  docs/images/iris_X.png
@@ -1,16 +0,0 @@
1
- # file generated by setuptools_scm
2
- # don't change, don't track in version control
3
- TYPE_CHECKING = False
4
- if TYPE_CHECKING:
5
- from typing import Tuple, Union
6
- VERSION_TUPLE = Tuple[Union[int, str], ...]
7
- else:
8
- VERSION_TUPLE = object
9
-
10
- version: str
11
- __version__: str
12
- __version_tuple__: VERSION_TUPLE
13
- version_tuple: VERSION_TUPLE
14
-
15
- __version__ = version = '0.3.5.dev16'
16
- __version_tuple__ = version_tuple = (0, 3, 5, 'dev16')
File without changes
File without changes
File without changes
File without changes