@@ -31,6 +31,15 @@ New Features
3131 :meth: `DataOp.skb.eval `, :meth: `SkrubLearner.predict `, etc., or in
3232 :meth: `DataOp.skb.find ` or :meth: `SkrubLearner.truncated_after `. :pr: `2062 ` by
3333 :user: `Jérôme Dockès <jeromedockes> `.
34+ - The :class: `SessionEncoder ` is now available. This encoder adds a `session_id `
35+ column, which groups together events that occur within the given session gap.
36+ Additionally, it is possible to provide a ``split_by `` column or list of columns
37+ (e.g., user ID or (user ID, user device)) to compute sessions for each grouping
38+ value.
39+ :pr: `1930 ` by :user: `Riccardo Cappuzzo <rcap107> `.
40+ - A new synthetic dataset generator for timestamped data and session-based
41+ operations has been added: :meth: `~skrub.datasets.make_retail_events `.
42+ :pr: `1930 ` by :user: `Riccardo Cappuzzo <rcap107> `.
3443- The :class: `DropSimilar ` transformer has been added, for removing columns in a
3544 dataframe that present high correlation with other columns. :pr: `2023 ` by
3645 :user: `Eloi Massoulié <emassoulie> `.
@@ -40,11 +49,20 @@ New Features
4049 Additionally, negative numbers indicated with parentheses can be converted to the
4150 regular numeric format (``(432) `` becomes ``-432 ``). :pr: `1772 ` by :user: `Gabriela
4251 Gómez Jiménez <gabrielapgomezji> `.
52+ - :meth: `TableReport.json ` now includes histogram data for numeric and datetime
53+ columns (the bin count and edges, and numbers of low and high outliers). Now
54+ ``json() `` contains all the information shown in the report html rendering,
55+ including the plots. :pr: `2164 ` by :user: `Jérôme Dockès <jeromedockes> `.
56+ - Added :func: `skrub.selectors.object ` to select columns with the ``object ``
57+ (pandas) or ``pl.Object `` (polars) dtype. :pr: `2171 ` by :user: `Omkar Kabde
58+ <omkar-334> `.
4359
4460Changes
4561-------
46- - :meth: `choose_from ` now transparently converts `outcomes ` to a list when it is another type of sequence. :pr: `2100 ` by
47- :user: `aidbar <aidbar> `.
62+ - Grouped Examples into subject-specific sections. :pr: `2102 ` by
63+ :user: `Maureen Githaiga <maureen-githaiga> `.
64+ - :meth: `choose_from ` now transparently converts `outcomes ` to a list when it is
65+ another type of sequence. :pr: `2100 ` by :user: `aidbar <aidbar> `.
4866- An unnecessary warning that was raised when passing a numpy array to the
4967 TableVectorizer has been removed. :pr: `1908 ` by
5068 :user: `Sandrine Henry <sandrineh> `.
@@ -54,16 +72,42 @@ Changes
5472 :pr: `2096 ` by :user: `Ayesha Siddiqua <siddiqua-tamk> `.
5573- The :class: `TableReport ` can now be exported in markdown format with ``.markdown ``.
5674 :pr: `2048 ` by :user: `Riccardo Cappuzzo <rcap107> `.
75+ - The minimum required version of matplotlib has been increased from 3.4.3 to 3.6.1.
76+ :pr: `2159 ` by :user: `Riccardo Cappuzzo <rcap107> `.
77+ - :meth: `SkrubLearner.score ` has been enhanced when the DataOp used
78+ :meth: `DataOp.skb.with_scoring `. During scoring, predict(), predict_proba()
79+ etc. are cached to avoid recomputation when multiple scorers are used (or one
80+ scorer calls them several times). Moreover it is possible to pass
81+ ``return_predictions=True `` to also retrieve any predictions that have been
82+ computed during scoring, in addition to the scores. Finally, in cases where we
83+ already have the predictions but want the result of score() without
84+ recomputing them, it is possible to provide them in the environment passed to
85+ ``score({..., "_skrub_predictions": {"predict_proba": ...}}) ``.
86+ :pr: `2195 ` by :user: `Jérôme Dockès <jeromedockes> `.
87+ - :meth: `SkrubLearner.find_fitted_estimator ` now supports searching for the
88+ apply node by ID or callable predicate as alternatives to the node name.
89+ :pr: `2194 ` by :user: `Jérôme Dockès <jeromedockes> `.
5790
5891Bugfixes
5992--------
93+ - :class: `MinHashEncoder ` with the default ``hashing="fast" `` now uses every
94+ n-gram size in ``ngram_range `` (the upper bound is inclusive, as documented
95+ and as already done by ``hashing="murmur" ``). Previously the largest size was
96+ dropped, so the default ``ngram_range=(2, 4) `` ignored 4-grams and a
97+ single-size range such as ``(3, 3) `` produced the same constant encoding for
98+ every string. :pr: `2168 ` by :user: `José Maia <glitch-ux> `.
6099- A bug in how the :class: `TableVectorizer ` and :class: `Cleaner ` treated columns
61100 duration columns in pandas and polars has been fixed. Now, both classes convert
62101 durations to the total number of seconds (with fractional part). This is done
63102 by the new transformer :class: `DurationToFloat `. :pr: `2069 ` by
64103 :user: `Riccardo Cappuzzo <rcap107> `.
65-
66-
104+ - An error that could arise when running ``TableReport `` on dataframes containing
105+ double dollar (``$$ ``) signs has been fixed.
106+ :pr: `2154 ` by :user: `Katerina Michenina <Michenina-Lab> `,
107+ :user: `CecilyTS <CecilyTS> `, :user: `Eve Rabin <eve2705> `.
108+ - An error that happened when running ``TableReport `` or ``column_associations ``
109+ on some dataframes with non-string column names has been fixed in :pr: `2179 `
110+ by :user: `Jérôme Dockès <jeromedockes> `.
67111
68112Deprecations
69113------------
@@ -99,6 +143,9 @@ New Features
99143- A new dataframe generator, :func: `datasets.toy_cities `, has been added for
100144 use cases on dataframes with variable sizes and variable correlation between
101145 columns. :pr: `2042 ` by :user: `Eloi Massoulié <emassoulie> `.
146+ - A new selector function, :func: `selectors.drop `, has been added to drop columns
147+ from a dataframe using a selector. It mirrors the behavior of :func: `selectors.select `.
148+ :pr: `2108 ` by :user: `Mary Njoroge <Maryahcee> `.
102149
103150Changes
104151-------
@@ -135,6 +182,9 @@ Changes
135182 <jeromedockes> `.
136183- The ``exclude_cols `` of :meth: `DataOp.skb.apply ` can now be a DataOp.
137184 :pr: `2050 ` by :user: `Jérôme Dockès <jeromedockes> `.
185+ - Skrub estimators now correctly show links to the documentation in the HTML
186+ representation that is generated for notebooks. :pr: `2036 ` by :user: `Riccardo
187+ Cappuzzo <rcap107> `.
138188
139189Bugfixes
140190--------
@@ -182,6 +232,9 @@ New Features
182232- :func: `selectors.has_nulls ` now takes a ``proportion `` parameter, which allows
183233 selecting columns that have a fraction of null values above the given threshold.
184234 :pr: `1881 ` by :user: `Gabriela Gómez Jiménez <gabrielapgomezji> `.
235+ - Added a new dataset, :func: `fetch_electricity_usage `, which contains electricity usage data
236+ for several French cities and corresponding weather data.
237+ :pr: `2013 ` by :user: `Lisa McBride<lisaleemcb> `.
185238
186239
187240Changes
0 commit comments