-
Notifications
You must be signed in to change notification settings - Fork 261
DOC - More fixes and improvements to the user guide #1574
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
Changes from all commits
9539a2c
c6a7b92
13bfd3e
d9824af
730f850
a1b8f76
faa9751
440a73c
83c5c76
0f4d5ed
5c39347
0830a8a
52f80b3
38309d9
2b77fb0
386dde8
0f5af95
d808f14
e909468
e13702c
8c8746e
7000548
1dc0ba9
83a8739
5066e10
4cce86b
31afef4
0b29b1c
80de991
4f6e344
33160bf
396ec5c
9c7ef15
211b55c
a092b16
f3439c2
78483b3
759cc68
ce3ac54
153e0aa
75c281a
6135408
4b1b438
e70437d
ce73fb1
97ec417
59867a4
61f3684
63836cf
801aede
7a68b6f
ddf4a8d
fff4279
80ee7b7
17fedcf
5902176
a85240a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| .. _user_guide_encoders_index: | ||
|
|
||
| Column-level feature extraction | ||
| =============================== | ||
|
|
||
| Skrub provides various transformers that help with feature engineering numeric, | ||
| datetime and categorical data. The encoders covered in this section convert the | ||
| raw features found in an input dataframe into numeric features that can be used | ||
| directly by machine learning models. | ||
|
|
||
| .. include:: includes/big_toc_css.rst | ||
|
|
||
| .. toctree:: | ||
| :maxdepth: 3 | ||
|
|
||
| modules/column_level_featurizing/feature_engineering_categorical | ||
| modules/column_level_featurizing/feature_engineering_datetimes | ||
| modules/column_level_featurizing/robust_scaling | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| .. _user_guide_configuration_index: | ||
|
|
||
| Configuration and dataset utilities | ||
| ========================================= | ||
|
|
||
| This section covers the skrub global configurations and dataset utilities. | ||
|
|
||
| .. toctree:: | ||
| :maxdepth: 2 | ||
|
|
||
| modules/configuration_and_utils/customizing_configuration | ||
| modules/configuration_and_utils/deduplicate_categorical_data | ||
| modules/configuration_and_utils/fetching_datasets |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,71 @@ | ||
| .. _user_guide_data_ops_index: | ||
|
|
||
| Complex multi-table pipelines with Data Ops | ||
| =========================================== | ||
|
|
||
| Skrub provides an easy way to build complex, flexible machine learning pipelines. | ||
| There are several needs that are not easily addressed with standard scikit-learn | ||
| tools such as :class:`~sklearn.pipeline.Pipeline` and | ||
| :class:`~sklearn.compose.ColumnTransformer`, and for which the Skrub DataOps offer | ||
| a solution: | ||
|
|
||
| - Multiple tables: We often have several tables of different shapes (for | ||
| example, "Customers", "Orders", and "Products" tables) that need to be | ||
| processed and assembled into a design matrix ``X``. The target ``y`` may also | ||
| be the result of some data processing. Standard scikit-learn estimators do not | ||
| support this, as they expect right away a single design matrix ``X`` and a | ||
| target array ``y``, with one row per observation. | ||
| - DataFrame wrangling: Performing typical DataFrame operations such as | ||
| projections, joins, and aggregations should be possible and allow leveraging | ||
| the powerful and familiar APIs of `Pandas <https://pandas.pydata.org>`_ or | ||
| `Polars <https://docs.pola.rs/>`_. | ||
| - Hyperparameter tuning: Choices of estimators, hyperparameters, and even | ||
| the pipeline architecture can be guided by validation scores. Specifying | ||
| ranges of possible values outside of the pipeline itself (as in | ||
| :class:`~sklearn.model_selection.GridSearchCV`) is difficult in complex | ||
| pipelines. | ||
| - Iterative development: Building a pipeline step by step while inspecting | ||
| intermediate results allows for a short feedback loop and early discovery of | ||
| errors. | ||
|
|
||
| In this section we cover all about the skrub Data Ops, from starting out with a | ||
| simple example, to more advanced concepts like parameter tuning and and pipeline | ||
| validation. | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The below does not render great in the site's table of contents (because the titles on this page are not exposed on the site's table of content) but I don't know how to fix this, so I'm moving on for now. |
||
|
|
||
| Data Ops basic concepts | ||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
|
||
| .. toctree:: | ||
| :maxdepth: 3 | ||
|
|
||
| modules/data_ops/basics/what_are_data_ops | ||
| modules/data_ops/basics/building_data_ops_plan | ||
| modules/data_ops/basics/using_previews | ||
| modules/data_ops/basics/direct_access_methods | ||
| modules/data_ops/basics/control_flow | ||
| modules/data_ops/basics/data_ops_vs_alternatives | ||
|
|
||
| Building a complex pipeline with the skrub Data Ops | ||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
|
||
| .. toctree:: | ||
| :maxdepth: 2 | ||
|
|
||
| modules/data_ops/ml_pipeline/applying_ml_estimators | ||
| modules/data_ops/ml_pipeline/applying_different_transformers | ||
| modules/data_ops/ml_pipeline/documenting_data_ops_plan | ||
| modules/data_ops/ml_pipeline/evaluating_debugging_data_ops | ||
| modules/data_ops/ml_pipeline/using_part_of_data_ops_plan | ||
| modules/data_ops/ml_pipeline/subsampling_data | ||
|
|
||
| Tuning and validating Skrub DataOps plans | ||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
|
||
| .. toctree:: | ||
| :maxdepth: 2 | ||
|
|
||
| modules/data_ops/validation/tuning_validating_data_ops | ||
| modules/data_ops/validation/hyperparameter_tuning | ||
| modules/data_ops/validation/nested_cross_validation | ||
| modules/data_ops/validation/nesting_choices_choosing_pipelines | ||
| modules/data_ops/validation/exporting_data_ops | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| .. _user_guide_building_pipeline_index: | ||
|
|
||
| Wrangling data with good defaults | ||
| ================================= | ||
|
|
||
| This section covers how to build a predictive pipeline starting from a dataframe. | ||
| The skrub objects described in this section can be used as strong defaults for | ||
| building baseline pipelines, and can be customized for specific use cases. | ||
|
|
||
|
|
||
| .. toctree:: | ||
| :maxdepth: 3 | ||
|
|
||
| modules/default_wrangling/cleaning_dataframes | ||
| modules/default_wrangling/table_vectorizer | ||
| modules/default_wrangling/tabular_pipeline |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,38 +1,44 @@ | ||
| .. |TableReport| replace:: :class:`~skrub.TableReport` | ||
| .. |Cleaner| replace:: :class:`~skrub.Cleaner` | ||
| .. |TableVectorizer| replace:: :class:`~skrub.TableVectorizer` | ||
| .. |tabular_pipeline| replace:: :func:`~skrub.tabular_pipeline` | ||
|
|
||
| .. _user_guide: | ||
|
|
||
| User Guide | ||
| ========== | ||
| Skrub is a library that eases machine learning with dataframes | ||
| for machine learning. | ||
| Skrub is a library that eases machine learning with dataframes, from exploring | ||
| dataframes to validating a machine-learning pipeline. | ||
|
|
||
| The |TableReport| is a powerful data exploration tool, which can be followed by | ||
| data sanitization and feature engineering tools in the |Cleaner| and |TableVectorizer|. | ||
| The |tabular_pipeline| combines the two to build a strong baseline for dataframes. | ||
|
|
||
| The skrub :ref:`column-level encoders<user_guide_encoders_index>` can be tweaked by the user for more | ||
| specific needs. | ||
| Various :ref:`multi-column transformers <user_guide_building_pipeline_index>` and the :ref:`selectors API<user_guide_selectors>` | ||
| provide a high degree of control over which columns should be modified. | ||
|
|
||
| Starting from rich, complex data stored in one or several dataframes, it helps | ||
| performing the data wrangling necessary to produce a numeric array that is fed | ||
| to a machine-learning model. This wrangling comprises joining tables (possibly | ||
| with inexact matches), parsing structured data such as datetimes from text, | ||
| and extracting numeric features from non-numeric data. | ||
| More complex, multi-table scenarios can make use of the skrub :ref:`Data Ops <user_guide_data_ops_index>`, | ||
| which enable constructing and validating pipelines that involve | ||
| multiple dataframes and hyperparameter tuning. | ||
|
|
||
| For those tasks, skrub does not replace pandas or polars. Instead, it | ||
| Skrub does not replace pandas or polars. Instead, it | ||
| leverages the dataframe libraries to provide more high-level building blocks that | ||
| perform the data preprocessing steps that are typically needed in a machine learning | ||
| pipeline. | ||
|
|
||
| This guide demonstrates how to resolve various issues using Skrub's features. | ||
| See the examples section for full code snippets. | ||
|
|
||
|
|
||
| .. include:: includes/big_toc_css.rst | ||
|
|
||
| .. toctree:: | ||
| :maxdepth: 2 | ||
|
|
||
| userguide_tablereport | ||
| userguide_encoders | ||
| userguide_datetimes | ||
| userguide_tablevectorizer | ||
| userguide_data_cleaning | ||
| userguide_selectors | ||
| userguide_data_ops | ||
| userguide_data_ops_ml_pipeline | ||
| userguide_data_ops_validation | ||
| userguide_joining_tables | ||
| userguide_utils | ||
| :maxdepth: 3 | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Not part of your PR but could you fix the first sentence above? "Skrub is a library that eases machine learning with dataframes for machine learning." that's just too much machine learning 😝
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. still about the 1st paragraph above:
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I rewrote the intro here |
||
|
|
||
| exploring_a_dataframe | ||
| default_wrangling | ||
| column_level_featurizing | ||
| multi_column_operations | ||
| data_ops | ||
| configuration_and_utils | ||
| joining_dataframes | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| .. _user_guide_exploring_a_dataframe_index: | ||
|
|
||
| Exploring a Dataframe | ||
| ===================== | ||
|
|
||
| This section covers the :class:`~skrub.TableReport` and how it can be used for exploring | ||
| and understanding your dataframes. | ||
|
|
||
|
|
||
| .. toctree:: | ||
| :maxdepth: 3 | ||
|
|
||
| modules/tablereport/exploring_dataframes_interactively | ||
| modules/tablereport/finding_correlated_columns |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| .. _user_guide_joining_dataframes: | ||
|
|
||
| Joining Dataframes | ||
| ================== | ||
|
|
||
| This section covers the various methods provided by skrub to join dataframes. | ||
|
|
||
| .. toctree:: | ||
| :maxdepth: 3 | ||
|
|
||
| modules/joining_tables/assembling |
Uh oh!
There was an error while loading. Please reload this page.