@@ -11,15 +11,52 @@ Ongoing development
1111
1212New Features
1313------------
14- - :func: `set_config ` and :func: `config_context ` now accept a
15- ``table_report_n_rows `` parameter to globally control the default number of
16- rows displayed in :class: `TableReport `.
17- :pr: `2193 ` by :user: `Mann <m4nn2609-dot> `.
14+ **Transformers **:
15+
16+ - The :class: `SessionEncoder ` is now available. This encoder adds a ``session_id ``
17+ column, which groups together events that occur within the given session gap.
18+ Additionally, it is possible to provide a ``split_by `` column or list of columns
19+ (e.g., user ID or (user ID, user device)) to compute sessions for each grouping
20+ value.
21+ :pr: `1930 ` by :user: `Riccardo Cappuzzo <rcap107> `.
22+ - The :class: `DropSimilar ` transformer has been added, for removing columns that
23+ present high correlation with other columns in a dataframe . :pr: `2023 ` by
24+ :user: `Eloi Massoulié <emassoulie> `.
25+ - :class: `ToFloat ` now allows users to specify ``decimal `` and ``thousand ``
26+ separators to parse numerical columns that use formatting different from the default
27+ formatting used in Python, such as ``1'234,5 ``.
28+ Additionally, negative numbers indicated with parentheses can be converted to the
29+ regular numeric format (``(432) `` becomes ``-432 ``). :pr: `1772 ` by :user: `Gabriela
30+ Gómez Jiménez <gabrielapgomezji> `.
31+ - The transformer :class: `DurationToFloat ` has been added. :pr: `2069 ` by
32+ :user: `Riccardo Cappuzzo <rcap107> `.
33+
34+ **TableReport **:
35+
36+ - :meth: `TableReport.json ` now includes histogram data for numeric and datetime
37+ columns (the bin count and edges, and numbers of low and high outliers). Now
38+ ``json() `` contains all the information shown in the report HTML rendering,
39+ including the plots. The schema of the generated JSON is available at
40+ :ref: `table_report_json_schema `.
41+ :pr: `2164 ` by :user: `Jérôme Dockès <jeromedockes> `.
42+ - The :class: `TableReport ` can now be exported in markdown format with
43+ :func: `~skrub.TableReport.markdown `.
44+ :pr: `2048 ` by :user: `Riccardo Cappuzzo <rcap107> `.
1845- :meth: `TableReport.dict ` now allows exporting the report data as a Python
1946 dictionary. :pr: `2188 ` by :user: `m4nn2609-dot <m4nn2609-dot> `.
20- - New methods :meth: `SkrubLearner.get_named_params ` and
21- :meth: `SkrubLearner.set_named_params ` allow getting and setting the outcomes for
22- choices contained in the DataOp, keyed by choice name. It provides a more
47+
48+ **Data Ops **:
49+
50+ - :meth: `ParamSearch.plot_results ` and :meth: `OptunaParamSearch.plot_results `
51+ accept new parameters ``show_scores ``, ``show_choices ``, and ``show_times `` to
52+ control respectively which scores, choices (params), and times (fit or score
53+ durations) should be included in the figure. :pr: `2202 ` by :user: `Jérôme
54+ Dockès <jeromedockes> `.
55+ - New :class: `SkrubLearner ` methods
56+ :meth: `SkrubLearner.get_named_params ` and
57+ :meth: `SkrubLearner.set_named_params ` allow getting and
58+ setting the outcomes for
59+ choices contained in the DataOp, keyed by choice name. They provide a more
2360 robust way of transferring selected hyperparameters from one DataOp to a
2461 different one than :meth: `SkrubLearner.get_params ` and
2562 :meth: `SkrubLearner.set_params `.
@@ -32,60 +69,30 @@ New Features
3269- It is now possible to attach new preview values to the variables in a DataOp
3370 with :meth: `DataOp.skb.set_data `. :pr: `2081 ` by
3471 :user: `Jérôme Dockès <jeromedockes> `.
35- - :class: `DataOp ` objects have a new attribute :attr: `DataOp.skb.id ` which
36- provides an alternative for referring to a node, in the environment passed to
72+ - :class: `DataOp ` objects have a new attribute :attr: `DataOp.skb.id `.
73+ :attr: `DataOp.skb.id `
74+ provides an alternative for referring to a node in the environment passed to
3775 :meth: `DataOp.skb.eval `, :meth: `SkrubLearner.predict `, etc., or in
3876 :meth: `DataOp.skb.find ` or :meth: `SkrubLearner.truncated_after `. :pr: `2062 ` by
3977 :user: `Jérôme Dockès <jeromedockes> `.
40- - The :class: `SessionEncoder ` is now available. This encoder adds a `session_id `
41- column, which groups together events that occur within the given session gap.
42- Additionally, it is possible to provide a ``split_by `` column or list of columns
43- (e.g., user ID or (user ID, user device)) to compute sessions for each grouping
44- value.
45- :pr: `1930 ` by :user: `Riccardo Cappuzzo <rcap107> `.
46- - A new synthetic dataset generator for timestamped data and session-based
78+
79+ **Misc **:
80+
81+ - A new synthetic dataset generator for timestamped data and session-based
4782 operations has been added: :meth: `~skrub.datasets.make_retail_events `.
4883 :pr: `1930 ` by :user: `Riccardo Cappuzzo <rcap107> `.
49- - The :class: `DropSimilar ` transformer has been added, for removing columns in a
50- dataframe that present high correlation with other columns. :pr: `2023 ` by
51- :user: `Eloi Massoulié <emassoulie> `.
52- - :class: `ToFloat32 ` now allows users to specify ``decimal `` and ``thousand ``
53- separators to parse numerical columns that use formatting different from the default
54- formatting used in Python, such as ``1'234,5 ``.
55- Additionally, negative numbers indicated with parentheses can be converted to the
56- regular numeric format (``(432) `` becomes ``-432 ``). :pr: `1772 ` by :user: `Gabriela
57- Gómez Jiménez <gabrielapgomezji> `.
58- - :meth: `TableReport.json ` now includes histogram data for numeric and datetime
59- columns (the bin count and edges, and numbers of low and high outliers). Now
60- ``json() `` contains all the information shown in the report html rendering,
61- including the plots. :pr: `2164 ` by :user: `Jérôme Dockès <jeromedockes> `.
62- - Added :func: `skrub.selectors.object ` to select columns with the ``object ``
63- (pandas) or ``pl.Object `` (polars) dtype. :pr: `2171 ` by :user: `Omkar Kabde
64- <omkar-334> `.
65- - :meth: `ParamSearch.plot_results ` and :meth: `OptunaParamSearch.plot_results `
66- accept new parameters ``show_scores ``, ``show_choices ``, and ``show_times `` to
67- control respectively which scores, choices (params), and times (fit or score
68- durations) should be included in the figure. :pr: `2202 ` by :user: `Jérôme
69- Dockès <jeromedockes> `.
84+ - Added the :func: `~skrub.selectors.object ` selector to select columns with the
85+ ``object `` (pandas) or ``pl.Object `` (polars) dtype. :pr: `2171 ` by
86+ :user: `Omkar Kabde <omkar-334> `.
87+ - :func: `set_config ` and :func: `config_context ` now accept a
88+ ``table_report_n_rows `` parameter to globally control the default number of
89+ rows displayed in :class: `TableReport `.
90+ :pr: `2193 ` by :user: `Mann <m4nn2609-dot> `.
7091
7192Changes
7293-------
73- - Grouped Examples into subject-specific sections. :pr: `2102 ` by
74- :user: `Maureen Githaiga <maureen-githaiga> `.
75- - :meth: `choose_from ` now transparently converts `outcomes ` to a list when it is
76- another type of sequence. :pr: `2100 ` by :user: `aidbar <aidbar> `.
77- - An unnecessary warning that was raised when passing a numpy array to the
78- TableVectorizer has been removed. :pr: `1908 ` by
79- :user: `Sandrine Henry <sandrineh> `.
80- - Improving the association tab error message when only one column is present
81- :pr: `2094 ` by :user: `Alicja Kosak <AlicjaKo> `.
82- - Added support for numpy arrays in :meth: `DataOp.skb.concat `.
83- :pr: `2096 ` by :user: `Ayesha Siddiqua <siddiqua-tamk> `.
84- - The :class: `TableReport ` can now be exported in markdown format with ``.markdown ``.
85- :pr: `2048 ` by :user: `Riccardo Cappuzzo <rcap107> `.
86- - The minimum required version of matplotlib has been increased from 3.4.3 to 3.6.1.
87- :pr: `2159 ` by :user: `Riccardo Cappuzzo <rcap107> `.
88- - :meth: `SkrubLearner.score ` has been enhanced when the DataOp used
94+ - :class: `SkrubLearner `'s :meth: `SkrubLearner.score `
95+ has been enhanced when the DataOp used
8996 :meth: `DataOp.skb.with_scoring `. During scoring, predict(), predict_proba()
9097 etc. are cached to avoid recomputation when multiple scorers are used (or one
9198 scorer calls them several times). Moreover it is possible to pass
@@ -98,25 +105,39 @@ Changes
98105- :meth: `SkrubLearner.find_fitted_estimator ` now supports searching for the
99106 apply node by ID or callable predicate as alternatives to the node name.
100107 :pr: `2194 ` by :user: `Jérôme Dockès <jeromedockes> `.
108+ - The minimum required version of matplotlib has been increased from 3.4.3 to 3.6.1.
109+ :pr: `2159 ` by :user: `Riccardo Cappuzzo <rcap107> `.
110+ - Gallery examples have been grouped into subject-specific sections. :pr: `2102 ` by
111+ :user: `Maureen Githaiga <maureen-githaiga> `.
112+ - :meth: `choose_from ` now transparently converts ``outcomes `` to a list when it is
113+ another type of sequence. :pr: `2100 ` by :user: `aidbar <aidbar> `.
114+ - An unnecessary warning that was raised when passing a numpy array to the
115+ TableVectorizer has been removed. :pr: `1908 ` by
116+ :user: `Sandrine Henry <sandrineh> `.
117+ - The error message displayed in the Associations tab of the :class: `TableReport `
118+ has been improved for reports where only one column is present.
119+ :pr: `2094 ` by :user: `Alicja Kosak <AlicjaKo> `.
120+ - Added support for numpy arrays in :meth: `DataOp.skb.concat `.
121+ :pr: `2096 ` by :user: `Ayesha Siddiqua <siddiqua-tamk> `.
101122
102123Bugfixes
103124--------
104- - :class: `MinHashEncoder ` with the default ``hashing="fast" `` now uses every
105- n-gram size in ``ngram_range `` (the upper bound is inclusive, as documented
106- and as already done by ``hashing="murmur" ``). Previously the largest size was
107- dropped, so the default ``ngram_range=(2, 4) `` ignored 4-grams and a
108- single-size range such as ``(3, 3) `` produced the same constant encoding for
109- every string. :pr: `2168 ` by :user: `José Maia <glitch-ux> `.
110125- A bug in how the :class: `TableVectorizer ` and :class: `Cleaner ` treated columns
111126 duration columns in pandas and polars has been fixed. Now, both classes convert
112127 durations to the total number of seconds (with fractional part). This is done
113128 by the new transformer :class: `DurationToFloat `. :pr: `2069 ` by
114129 :user: `Riccardo Cappuzzo <rcap107> `.
115- - An error that could arise when running `` TableReport ` ` on dataframes containing
130+ - An error that could arise when running :class: ` TableReport ` on dataframes containing
116131 double dollar (``$$ ``) signs has been fixed.
117132 :pr: `2154 ` by :user: `Katerina Michenina <Michenina-Lab> `,
118133 :user: `CecilyTS <CecilyTS> `, :user: `Eve Rabin <eve2705> `.
119- - An error that happened when running ``TableReport `` or ``column_associations ``
134+ - :class: `MinHashEncoder ` with the default ``hashing="fast" `` now uses every
135+ n-gram size in ``ngram_range `` (the upper bound is inclusive, as documented
136+ and as already done by ``hashing="murmur" ``). Previously the largest size was
137+ dropped, so the default ``ngram_range=(2, 4) `` ignored 4-grams and a
138+ single-size range such as ``(3, 3) `` produced the same constant encoding for
139+ every string. :pr: `2168 ` by :user: `José Maia <glitch-ux> `.
140+ - An error that happened when running :class: `TableReport ` or ``column_associations ``
120141 on some dataframes with non-string column names has been fixed in :pr: `2179 `
121142 by :user: `Jérôme Dockès <jeromedockes> `.
122143- An error that could arise in histograms when running :class: `TableReport ` on
0 commit comments