Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DOC]: Improve documentation #235

Merged
merged 44 commits into from
Sep 11, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
9450830
docs: add shields in README
synchon Aug 4, 2023
ecf3024
docs: improve README
synchon Aug 4, 2023
3c4dfdb
chore: remove unnecessary changelogs from docs/changes
synchon Aug 4, 2023
aa60672
docs: improve available_pipeline_steps.rst
synchon Aug 4, 2023
0de6b81
docs: improve contributing.rst
synchon Aug 4, 2023
993eb4f
docs: improve faq.rst
synchon Aug 4, 2023
aebb0f0
docs: improve maintaining.rst
synchon Aug 4, 2023
d26f997
docs: improve configuration.rst
synchon Aug 4, 2023
02ccb1f
docs: improve what_really_need_know/cross_validation.rst
synchon Aug 4, 2023
6ead9d2
docs: improve what_really_need_know/index.rst
synchon Aug 4, 2023
781ffe1
docs: improve 00_starting/plot_cm_acc_multiclass.py
synchon Aug 4, 2023
6e3a298
docs: improve 00_starting/plot_example_regression.py
synchon Aug 4, 2023
14f29de
docs: improve 00_starting/plot_stratified_kfold_reg.py
synchon Aug 4, 2023
97fe8bc
docs: improve 00_starting/run_grouped_cv.py
synchon Aug 4, 2023
0df23a5
docs: improve 00_starting/run_simple_binary_classification.py
synchon Aug 4, 2023
45b2c20
docs: improve 01_model_comparison/plot_simple_model_comparison.py
synchon Aug 4, 2023
7a087bc
docs: improve 02_inspection/plot_groupcv_inspect_svm.py
synchon Aug 4, 2023
2052950
docs: improve 02_inspection/plot_inspect_random_forest.py
synchon Aug 4, 2023
19cb9e6
docs: improve 02_inspection/plot_preprocess.py
synchon Aug 4, 2023
09b1600
docs: improve 02_inspection/run_binary_inspect_folds.py
synchon Aug 4, 2023
08c48e5
docs: improve 03_complex_models/run_apply_to_target.py
synchon Aug 4, 2023
96a3086
docs: improve 03_complex_models/run_example_pca_featsets.py
synchon Aug 4, 2023
9f4e9e2
docs: improve 03_complex_models/run_hyperparameter_multiple_grids.py
synchon Aug 4, 2023
d4adca1
docs: improve 03_complex_models/run_hyperparameter_tuning.py
synchon Aug 4, 2023
4b2a318
docs: improve 03_complex_models/run_stacked_models.py
synchon Aug 4, 2023
516c23a
docs: improve 04_confounds/plot_confound_removal_classification.py
synchon Aug 4, 2023
3512a83
docs: improve 04_confounds/run_return_confounds.py
synchon Aug 4, 2023
af02a69
docs: improve 05_customization/run_custom_scorers_regression.py
synchon Aug 4, 2023
beb4bd9
docs: improve 99_docs/run_cbpm_docs.py
synchon Aug 4, 2023
77c9585
docs: improve 99_docs/run_confound_removal_docs.py
synchon Aug 4, 2023
23f4ce2
docs: improve 99_docs/run_cv_splitters_docs.py
synchon Aug 9, 2023
78e34c2
docs: improve 99_docs/run_data_docs.py
synchon Aug 9, 2023
ac958da
docs: improve 99_docs/run_hyperparameters_docs.py
synchon Aug 9, 2023
6025f44
docs: improve 99_docs/run_model_comparison_docs.py
synchon Aug 9, 2023
5a25263
docs: improve 99_docs/run_model_evaluation_docs.py
synchon Aug 9, 2023
51e420c
docs: improve 99_docs/run_model_inspection_docs.py
synchon Aug 9, 2023
3b8b65c
docs: improve 99_docs/run_pipeline_docs.py
synchon Aug 9, 2023
8029c7c
docs: improve 99_docs/run_stacked_models_docs.py
synchon Aug 9, 2023
e84a86f
docs: improve 99_docs/run_target_transformer_docs.py
synchon Aug 9, 2023
6f253a8
docs: improve XX_disabled/dis_run_n_jobs.py
synchon Aug 9, 2023
e18ddfc
docs: improve XX_disabled/dis_run_target_confound_removal.py
synchon Aug 9, 2023
f95e434
docs: replace instances of Julearn with julearn
synchon Aug 9, 2023
c5bae58
docs: cleanup
synchon Aug 9, 2023
fee1d1d
chore: add changelog 235.doc
synchon Aug 9, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
19 changes: 17 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,28 @@
# julearn

![PyPI](https://img.shields.io/pypi/v/julearn?style=flat-square)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/julearn?style=flat-square)
![PyPI - Wheel](https://img.shields.io/pypi/wheel/julearn?style=flat-square)
![GitHub](https://img.shields.io/github/license/juaml/julearn?style=flat-square)
![Codecov](https://img.shields.io/codecov/c/github/juaml/julearn?style=flat-square)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)

## About

The Forschungszentrum Jülich Machine Learning Library

Check our full documentation here: https://juaml.github.io/julearn/index.html
Check our video tutorial here: [Julearn Playlist](https://youtube.com/playlist?list=PLvb39y5Ge21CUjccmY_0kXRCwBBaikGf_)
Check our video tutorial here: [julearn Playlist](https://youtube.com/playlist?list=PLvb39y5Ge21CUjccmY_0kXRCwBBaikGf_)

It is currently being developed and maintained at the [Applied Machine Learning](https://www.fz-juelich.de/en/inm/inm-7/research-groups/applied-machine-learning-aml) group at [Forschungszentrum Juelich](https://www.fz-juelich.de/en), Germany.

## Installation

Use `pip` to install from PyPI like so:

```
pip install julearn
```

## Licensing

Expand All @@ -28,8 +43,8 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.


## Citing

We still do not have a publication that you can use to cite julearn in your
manuscript. However, julearn realies heavily on scikit-learn.

Expand Down
2 changes: 0 additions & 2 deletions docs/api/index.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
.. include:: ../links.inc

.. _api:

API Reference
Expand Down
130 changes: 72 additions & 58 deletions docs/available_pipeline_steps.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,23 @@ The following is a list of all available steps that can be used to create
a pipeline by name. The overview is sorted based on the type of the step:
:ref:`available_transformers` or :ref:`available_models`.

The column 'Name (str)' refers to the string-name of
the respective step, i.e. how it should be specified when passed to e.g. the
``PipelineCreator``. The column 'Description' gives a short
description of what the step is doing. The column 'Class' either indicates the
underlying `scikit-learn`_ class of the respective pipeline-step together with
a link to the class in the `scikit-learn`_ documentation (follow the link to
see the valid parameters) or indicates the class in
the Julearn code, so one can have a closer look at it in Julearn's
:ref:`api`.

For feature transformations the :ref:`available_transformers` have to be used
with the ``PipelineCreator`` and for target transformation with the
``TargetPipelineCreator``.
* The column ``Name`` refers to the string-name of
the respective step, i.e. how it should be specified when passed to e.g., the
:class:`.PipelineCreator`.

* The column ``Description`` gives a short
description of what the step is doing.

* The column ``Class`` either indicates the underlying `scikit-learn`_ class of
the respective pipeline step together with a link to the class in the
`scikit-learn`_ documentation (follow the link to see the valid parameters) or
indicates the class in ``julearn``, so one can have a closer look at it in
``julearn``'s :ref:`api`.

For feature transformations, the :ref:`available_transformers` are to be used
with the :class:`.PipelineCreator` and for target transformations, the
:ref:`available_transformers` are to be used with the
:class:`.TargetPipelineCreator`.

.. _available_transformers:

Expand All @@ -34,10 +38,10 @@ Scalers
~~~~~~~

.. list-table::
:widths: 30 80 40
:widths: auto
:header-rows: 1

* - Name (str)
* - Name
- Description
- Class
* - ``zscore``
Expand All @@ -62,15 +66,14 @@ Scalers
- *Gaussianise* data
- :class:`~sklearn.preprocessing.PowerTransformer`


Feature Selection
~~~~~~~~~~~~~~~~~

.. list-table::
:widths: 30 80 40
:widths: auto
:header-rows: 1

* - Name (str)
* - Name
- Description
- Class
* - ``select_univariate``
Expand All @@ -95,31 +98,30 @@ Feature Selection
- Remove low variance features
- :class:`~sklearn.feature_selection.VarianceThreshold`


DataFrame operations
~~~~~~~~~~~~~~~~~~~~

.. list-table::
:widths: 30 80 40
:widths: auto
:header-rows: 1

* - Name (str)
* - Name
- Description
- Class
* - ``confound_removal``
- Removing confounds from features,
by subtracting the prediction of each feature given all confounds.
By default this is equal to "independently regressing out
the confounds from the features"
- | Removing confounds from features,
| by subtracting the prediction of each feature given all confounds.
| By default this is equal to "independently regressing out
| the confounds from the features"
- :class:`.ConfoundRemover`
* - ``drop_columns``
- Drop columns from the dataframe
- Drop columns from the DataFrame
- :class:`.DropColumns`
* - ``change_column_types``
- Change the type of a column in a dataframe
- Change the type of a column in a DataFrame
- :class:`.ChangeColumnTypes`
* - ``filter_columns``
- Filter columns in a dataframe
- Filter columns in a DataFrame
- :class:`.FilterColumns`

.. _available_decompositions:
Expand All @@ -128,10 +130,10 @@ Decomposition
~~~~~~~~~~~~~

.. list-table::
:widths: 30 80 40
:widths: auto
:header-rows: 1

* - Name (str)
* - Name
- Description
- Class
* - ``pca``
Expand All @@ -142,10 +144,10 @@ Custom
~~~~~~

.. list-table::
:widths: 30 80 40
:widths: auto
:header-rows: 1

* - Name (str)
* - Name
- Description
- Class
* - ``cbpm``
Expand All @@ -161,18 +163,19 @@ Support Vector Machines
~~~~~~~~~~~~~~~~~~~~~~~

.. list-table::
:widths: 30 80 40 20 20 20
:widths: auto
:header-rows: 1

* - Name (str)
* - Name
- Description
- Class
- Binary
- Multiclass
- Regression
* - ``svm``
- Support Vector Machine
- :class:`~sklearn.svm.SVC` and :class:`~sklearn.svm.SVR`
- | :class:`~sklearn.svm.SVC` and
| :class:`~sklearn.svm.SVR`
- Y
- Y
- Y
Expand All @@ -181,48 +184,54 @@ Ensemble
~~~~~~~~

.. list-table::
:widths: 30 30 70 20 20 20
:widths: auto
:header-rows: 1

* - Name (str)
* - Name
- Description
- Class
- Binary
- Multiclass
- Regression
* - ``rf``
- Random Forest
- :class:`~sklearn.ensemble.RandomForestClassifier` and :class:`~sklearn.ensemble.RandomForestRegressor`
- | :class:`~sklearn.ensemble.RandomForestClassifier` and
| :class:`~sklearn.ensemble.RandomForestRegressor`
- Y
- Y
- Y
* - ``et``
- Extra-Trees
- :class:`~sklearn.ensemble.ExtraTreesClassifier` and :class:`~sklearn.ensemble.ExtraTreesRegressor`
- | :class:`~sklearn.ensemble.ExtraTreesClassifier` and
| :class:`~sklearn.ensemble.ExtraTreesRegressor`
- Y
- Y
- Y
* - ``adaboost``
- AdaBoost
- :class:`~sklearn.ensemble.AdaBoostClassifier` and :class:`~sklearn.ensemble.AdaBoostRegressor`
- | :class:`~sklearn.ensemble.AdaBoostClassifier` and
| :class:`~sklearn.ensemble.AdaBoostRegressor`
- Y
- Y
- Y
* - ``bagging``
- Bagging
- :class:`~sklearn.ensemble.BaggingClassifier` and :class:`~sklearn.ensemble.BaggingRegressor`
- | :class:`~sklearn.ensemble.BaggingClassifier` and
| :class:`~sklearn.ensemble.BaggingRegressor`
- Y
- Y
- Y
* - ``gradientboost``
- Gradient Boosting
- :class:`~sklearn.ensemble.GradientBoostingClassifier` and :class:`~sklearn.ensemble.GradientBoostingRegressor`
- | :class:`~sklearn.ensemble.GradientBoostingClassifier` and
| :class:`~sklearn.ensemble.GradientBoostingRegressor`
- Y
- Y
- Y
* - ``stacking``
- Stacking
- :class:`~sklearn.ensemble.StackingClassifier` and :class:`~sklearn.ensemble.StackingRegressor`
- | :class:`~sklearn.ensemble.StackingClassifier` and
| :class:`~sklearn.ensemble.StackingRegressor`
- Y
- Y
- Y
Expand All @@ -231,18 +240,19 @@ Gaussian Processes
~~~~~~~~~~~~~~~~~~

.. list-table::
:widths: 30 30 70 20 20 20
:widths: auto
:header-rows: 1

* - Name (str)
* - Name
- Description
- Class
- Binary
- Multiclass
- Regression
* - ``gauss``
- Gaussian Process
- :class:`~sklearn.gaussian_process.GaussianProcessClassifier` and :class:`~sklearn.gaussian_process.GaussianProcessRegressor`
- | :class:`~sklearn.gaussian_process.GaussianProcessClassifier` and
| :class:`~sklearn.gaussian_process.GaussianProcessRegressor`
- Y
- Y
- Y
Expand All @@ -251,10 +261,10 @@ Linear Models
~~~~~~~~~~~~~

.. list-table::
:widths: 30 50 70 10 10 10
:widths: auto
:header-rows: 1

* - Name (str)
* - Name
- Description
- Class
- Binary
Expand All @@ -280,19 +290,22 @@ Linear Models
- Y
* - ``ridge``
- Linear least squares with l2 regularization.
- :class:`~sklearn.linear_model.RidgeClassifier` and :class:`~sklearn.linear_model.Ridge`
- | :class:`~sklearn.linear_model.RidgeClassifier` and
| :class:`~sklearn.linear_model.Ridge`
- Y
- Y
- Y
* - ``ridgecv``
- Ridge regression with built-in cross-validation.
- :class:`~sklearn.linear_model.RidgeClassifierCV` and :class:`~sklearn.linear_model.RidgeCV`
- | :class:`~sklearn.linear_model.RidgeClassifierCV` and
| :class:`~sklearn.linear_model.RidgeCV`
- Y
- Y
- Y
* - ``sgd``
- Linear model fitted by minimizing a regularized empirical loss with SGD
- :class:`~sklearn.linear_model.SGDClassifier` and :class:`~sklearn.linear_model.SGDRegressor`
- | :class:`~sklearn.linear_model.SGDClassifier` and
| :class:`~sklearn.linear_model.SGDRegressor`
- Y
- Y
- Y
Expand All @@ -301,10 +314,10 @@ Naive Bayes
~~~~~~~~~~~

.. list-table::
:widths: 30 50 70 10 10 10
:widths: auto
:header-rows: 1

* - Name (str)
* - Name
- Description
- Class
- Binary
Expand Down Expand Up @@ -345,10 +358,10 @@ Dynamic Selection
~~~~~~~~~~~~~~~~~

.. list-table::
:widths: 30 50 70 10 10 10
:widths: auto
:header-rows: 1

* - Name (str)
* - Name
- Description
- Class
- Binary
Expand All @@ -365,18 +378,19 @@ Dummy
~~~~~

.. list-table::
:widths: 30 50 70 10 10 10
:widths: auto
:header-rows: 1

* - Name (str)
* - Name
- Description
- Class
- Binary
- Multiclass
- Regression
* - ``dummy``
- Use simple rules (without features).
- :class:`~sklearn.dummy.DummyClassifier` and :class:`~sklearn.dummy.DummyRegressor`
- | :class:`~sklearn.dummy.DummyClassifier` and
| :class:`~sklearn.dummy.DummyRegressor`
- Y
- Y
- Y