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.
- {julearn-0.3.2.dev80 → julearn-0.3.3}/.pre-commit-config.yaml +9 -9
- {julearn-0.3.2.dev80 → julearn-0.3.3}/PKG-INFO +8 -1
- {julearn-0.3.2.dev80 → julearn-0.3.3}/README.md +7 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/changes/contributors.inc +1 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/getting_started.rst +13 -6
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/index.rst +6 -6
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/links.inc +2 -1
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/what_really_need_know/cross_validation.rst +1 -1
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/whats_new.rst +18 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/99_docs/run_hyperparameters_docs.py +9 -9
- {julearn-0.3.2.dev80 → julearn-0.3.3}/ignore_words.txt +1 -1
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/_version.py +2 -2
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/conftest.py +2 -0
- julearn-0.3.3/julearn/external/optuna_searchcv.py +986 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/model_selection/__init__.py +0 -1
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/model_selection/_optuna_searcher.py +6 -3
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/model_selection/tests/test_optuna_searcher.py +1 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/model_selection/tests/test_skopt_searcher.py +1 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/pipeline/merger.py +1 -4
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/pipeline/tests/test_merger.py +8 -4
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/pipeline/tests/test_pipeline_creator.py +6 -2
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/tests/test_api.py +10 -15
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/cbpm.py +5 -3
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/dataframe/change_column_types.py +3 -3
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/tests/test_jucolumntransformers.py +3 -3
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/utils/checks.py +1 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/utils/logging.py +1 -3
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/utils/testing.py +1 -1
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn.egg-info/PKG-INFO +8 -1
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn.egg-info/SOURCES.txt +1 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/pyproject.toml +14 -12
- {julearn-0.3.2.dev80 → julearn-0.3.3}/tox.ini +1 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/.github/ISSUE_TEMPLATE/documentation_request.yaml +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/.github/workflows/check-stale.yml +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/.github/workflows/ci-docs.yml +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/.github/workflows/ci.yml +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/.github/workflows/docs-preview.yml +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/.github/workflows/docs.yml +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/.github/workflows/lint.yml +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/.github/workflows/pypi.yml +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/.gitignore +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/AUTHORS.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/LICENSE.md +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/codecov.yml +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/Makefile +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/_static/css/custom.css +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/_static/js/custom.js +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/_templates/class.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/_templates/function.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/_templates/function_warning.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/_templates/versions.html +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/api/base.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/api/index.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/api/inspect.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/api/main.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/api/model_selection.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/api/models.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/api/pipeline.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/api/prepare.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/api/scoring.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/api/stats.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/api/transformers.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/api/utils.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/api/viz.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/available_pipeline_steps.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/changes/newsfragments/.gitignore +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/conf.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/configuration.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/contributing.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/examples.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/faq.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/corrected_ttest.png +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/final_estimator.png +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/iris_X.png +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/iris_df.png +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/iris_y.png +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/julearn_logo.png +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/julearn_logo_calm.png +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/julearn_logo_confbias.png +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/julearn_logo_cv.png +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/julearn_logo_generalization.png +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/julearn_logo_it.png +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/julearn_logo_ml.png +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/julearn_logo_mlit.png +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/multiple_scorers_run_cv.png +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/plot_scores.png +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/scores_run_cv.png +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/scores_run_cv_splitter.png +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/images/scores_run_cv_train.png +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/maintaining.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/redirect.html +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/selected_deeper_topics/CBPM.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/selected_deeper_topics/confound_removal.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/selected_deeper_topics/cross_validation_splitter.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/selected_deeper_topics/hyperparameter_tuning.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/selected_deeper_topics/index.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/selected_deeper_topics/model_inspect.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/selected_deeper_topics/stacked_models.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/selected_deeper_topics/target_transformers.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/sphinxext/gh_substitutions.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/what_really_need_know/data.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/what_really_need_know/index.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/what_really_need_know/model_comparison.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/what_really_need_know/model_evaluation.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/docs/what_really_need_know/pipeline.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/00_starting/README.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/00_starting/plot_cm_acc_multiclass.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/00_starting/plot_example_regression.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/00_starting/plot_stratified_kfold_reg.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/00_starting/run_combine_pandas.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/00_starting/run_grouped_cv.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/00_starting/run_simple_binary_classification.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/01_model_comparison/README.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/01_model_comparison/plot_simple_model_comparison.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/02_inspection/README.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/02_inspection/plot_groupcv_inspect_svm.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/02_inspection/plot_inspect_random_forest.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/02_inspection/plot_preprocess.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/02_inspection/run_binary_inspect_folds.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/03_complex_models/README.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/03_complex_models/run_apply_to_target.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/03_complex_models/run_example_pca_featsets.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/03_complex_models/run_hyperparameter_multiple_grids.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/03_complex_models/run_hyperparameter_tuning.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/03_complex_models/run_hyperparameter_tuning_bayessearch.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/03_complex_models/run_stacked_models.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/04_confounds/README.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/04_confounds/plot_confound_removal_classification.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/04_confounds/run_return_confounds.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/05_customization/README.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/05_customization/run_custom_scorers_regression.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/99_docs/README.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/99_docs/run_cbpm_docs.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/99_docs/run_confound_removal_docs.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/99_docs/run_cv_splitters_docs.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/99_docs/run_data_docs.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/99_docs/run_model_comparison_docs.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/99_docs/run_model_evaluation_docs.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/99_docs/run_model_inspection_docs.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/99_docs/run_pipeline_docs.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/99_docs/run_stacked_models_docs.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/99_docs/run_target_transformer_docs.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/README.rst +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/XX_disabled/dis_run_n_jobs.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/examples/XX_disabled/dis_run_target_confound_removal.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/__init__.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/api.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/base/__init__.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/base/column_types.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/base/estimators.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/base/tests/test_base_estimators.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/base/tests/test_column_types.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/config.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/inspect/__init__.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/inspect/_cv.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/inspect/_pipeline.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/inspect/_preprocess.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/inspect/inspector.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/inspect/tests/test_cv.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/inspect/tests/test_inspector.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/inspect/tests/test_pipeline.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/inspect/tests/test_preprocess.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/model_selection/_skopt_searcher.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/model_selection/available_searchers.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/model_selection/continuous_stratified_kfold.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/model_selection/stratified_bootstrap.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/model_selection/tests/test_available_searchers.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/model_selection/tests/test_continous_stratified_kfold.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/model_selection/tests/test_stratified_bootstrap.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/models/__init__.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/models/available_models.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/models/dynamic.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/models/tests/test_available_models.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/models/tests/test_dynamic.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/models/tests/test_models.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/pipeline/__init__.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/pipeline/pipeline_creator.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/pipeline/target_pipeline.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/pipeline/target_pipeline_creator.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/pipeline/tests/test_target_pipeline.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/pipeline/tests/test_target_pipeline_creator.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/prepare.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/scoring/__init__.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/scoring/available_scorers.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/scoring/metrics.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/scoring/tests/test_available_scorers.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/scoring/tests/test_metrics.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/stats/__init__.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/stats/corrected_ttest.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/stats/tests/test_corrected_ttest.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/tests/test_config.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/tests/test_prepare.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/__init__.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/available_transformers.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/confound_remover.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/dataframe/__init__.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/dataframe/drop_columns.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/dataframe/filter_columns.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/dataframe/set_column_types.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/dataframe/tests/test_change_column_types.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/dataframe/tests/test_drop_columns.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/dataframe/tests/test_filter_columns.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/dataframe/tests/test_set_column_types.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/ju_column_transformer.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/target/__init__.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/target/available_target_transformers.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/target/ju_target_transformer.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/target/ju_transformed_target_model.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/target/target_confound_remover.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/target/tests/test_available_target_transformers.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/target/tests/test_ju_target_transformer.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/target/tests/test_ju_transformed_target_model.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/target/tests/test_target_confound_remover.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/tests/test_available_transformers.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/tests/test_cbpm.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/transformers/tests/test_confounds.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/utils/__init__.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/utils/_cv.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/utils/tests/test_logging.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/utils/tests/test_version.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/utils/typing.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/utils/versions.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/viz/__init__.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/viz/_scores.py +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn/viz/res/julearn_logo_generalization.png +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn.egg-info/dependency_links.txt +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn.egg-info/requires.txt +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/julearn.egg-info/top_level.txt +0 -0
- {julearn-0.3.2.dev80 → julearn-0.3.3}/setup.cfg +0 -0
- {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.
|
|
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.
|
|
20
|
+
rev: v0.17
|
|
21
21
|
hooks:
|
|
22
22
|
- id: validate-pyproject
|
|
23
|
-
- repo: https://github.com/psf/black
|
|
24
|
-
rev:
|
|
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/
|
|
30
|
-
rev: v0.
|
|
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.
|
|
36
|
+
rev: v2.2.6
|
|
37
37
|
hooks:
|
|
38
38
|
- id: codespell
|
|
39
39
|
exclude: ^(.github/|docs/)
|
|
40
|
-
args: [--
|
|
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.
|
|
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
|

|
|
63
63
|

|
|
64
64
|

|
|
65
|
+
[](https://anaconda.org/conda-forge/julearn)
|
|
65
66
|

|
|
66
67
|

|
|
67
68
|
[](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
|

|
|
4
4
|

|
|
5
5
|

|
|
6
|
+
[](https://anaconda.org/conda-forge/julearn)
|
|
6
7
|

|
|
7
8
|

|
|
8
9
|
[](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:
|
|
@@ -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.
|
|
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
|
|
23
|
-
* ``param>=
|
|
22
|
+
* ``panel>=1.3.0``
|
|
23
|
+
* ``param>=2.0.0``
|
|
24
24
|
|
|
25
|
-
Depending on the installation method (e.g. the
|
|
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
|
|
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
|
|
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
|
|
@@ -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.
|
|
16
|
-
__version_tuple__ = version_tuple = (0, 3,
|
|
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]},
|