Sign in

Skrub

@skrub-data.bsky.social
644 followers 48 following 153 posts

skrub is a Python library to ease preprocessing and feature engineering for tabular machine learning. Our long-term goal is to directly connect database tables to machine learning estimators. skrub-data.org discord.gg/ABaPnm7fDC

PostsRepliesMedia
Skrub @skrub-data.bsky.social · 01/09/2026
🐞 Bug fix release incoming 🐛 Version 0.10.1 of skrub is now live! In this release, we fixed a Cloudpickle import error that could be triggered by some updated dependencies, along with some other improvements. Release post: github.com/skrub-data/s... 1/4
github.com
Release 0.10.1 · skrub-data/skrub
🌟 Skrub 0.10.1 has been released 🌟 Main features When a cross-validation splitter has been passed to .skb.mark_as_X(), it it now possible to select a specific split from it when calling .skb.train...
134
Skrub @skrub-data.bsky.social · 06/07/2026
✨ Skrub version 0.10.0 has been released ✨ This is one of our biggest releases yet, with new transformers, improvements to the TableReport and the Data Ops, bug fixes and polishing of the docs. github.com/skrub-data/s... 🚀 Highlights below
github.com
Release 0.10.0 · skrub-data/skrub
✨ Skrub version 0.10.0 has been released ✨ Main Changes New transformers are now available: SessionEncoder groups timestamped data by sessions, DropSimilar helps with dropping redundant columns. T...
120
Skrub @skrub-data.bsky.social · 06/05/2026
✨ Skrub version 0.9.0 has been released ✨ This release adds some advanced features to the Data Ops, the has_dtype() selector, as well as some clarity improvements for the Cleaner and TableReport. Release post: github.com/skrub-data/s...
github.com
Release 0.9.0 · skrub-data/skrub
✨ Skrub version 0.9.0 has been released ✨ Main changes Scorers used by Data Ops can now take additional arguments (like sample weights). By @jeromedockes in #1995 The new methods .skb.find() and ....
133
Skrub @skrub-data.bsky.social · 25/03/2026
✨ skrub version 0.8.0 has been released ✨ This version includes several new features, including multiple improvements to the functionality and performance of the Data Ops, along with a few bug fixes and improvements to the docs. Changelog: skrub-data.org/stable/CHANG... Highlights below ⤵️
skrub-data.org
Release history
Release 0.8.0: New Features: The eager_data_ops configuration option has been added. When set to False, no previews are computed and validation is deferred until the DataOp is actually used (e.g. w...
184
Skrub @skrub-data.bsky.social · 18/02/2026
As a follow-up, we would like to clarify how we’ll be crediting contributors moving forward. Currently, all contributions to the repository are tracked in the changelog and highlighted in the release notes, where each PR and the GitHub handle of its author are listed.
100
Skrub @skrub-data.bsky.social · 18/02/2026
While skrub Data Ops shine when preparing dataframes, their capabilities extend beyond that. For example, they can be used alongside libraries like PyTorch and skorch to work with images, and tune the model size to find the best set of hyperparameters: skrub-data.org/stable/auto_...
skrub-data.org
Using PyTorch (via skorch) in DataOps
This example shows how to wrap a PyTorch model with skorch and plug it into a skrub DataOps plan. The main goal here is to show the integration pattern: PyTorch defines the model (an nn.Module), sk...
100
Skrub @skrub-data.bsky.social · 10/02/2026
✨ skrub version 0.7.2 has been released ✨ In this release we squashed more bugs, improved the API reference, and added a new example. github.com/skrub-data/s...
github.com
Release Skrub release 0.7.2 · skrub-data/skrub
✨ skrub version 0.7.2 has been released ✨ In this release we squashed more bugs, improved the API reference, and added a new example. Main changes: The StringEncoder now exposes the vocabulary par...
121
Skrub @skrub-data.bsky.social · 05/02/2026
Did you know that the skrub Data Ops support Optuna as backend to run hyperparameter search? It's as easy as writing "backend='optuna'": this will set up a default Optuna study (and the TPE sampler) to replace the standard random sampler.
Three snippets of python code showing how to use skrub Data Ops with the Optuna optimization library.The first snippet shows a standard randomized search with the Data Ops. The second snippet adds the parameter "backend", which is set to "optuna". The third snippet uses the Optuna visualization API to plot information from the study.
142
Skrub @skrub-data.bsky.social · 15/01/2026
Happy new year! 🎉🎉🎉 Let's celebrate 2026 with a bugfix release that implements some fixes, brings some documentation improvements and adds a new dataset fetcher: github.com/skrub-data/s...
github.com
Release Skrub release 0.7.1 · skrub-data/skrub
Release 0.7.1 New features A new dataset, fetch_california_housing(), has been added to the skrub.datasets module. It allows to get a redundancy copy of the scikit-learn fetch_california_housing()...
010
Skrub @skrub-data.bsky.social · 19/12/2025
Do you want to learn how to use skrub like a pro? Then you're in luck! Inria Academy is providing an introductory course on skrub aimed at IT personnel, engineers, data scientists, and data analysts. www.inria-academy.fr/formation/sk...
inria-academy.fr
skrub like a pro: clean, prepare, and transform your data faster - Inria Academy
130
Skrub @skrub-data.bsky.social · 16/12/2025
The recording of the talk we did at @pydataparis.bsky.social 2025 is now available on the PyData Youtube channel! 🚀 You can find it here, if you want to check it out 👀 www.youtube.com/watch?v=k9MN...
youtube.com
Skrub: machine learning for dataframes
YouTube video by PyData
030
Skrub @skrub-data.bsky.social · 12/12/2025
Skrub 0.7.0 is here! 🎉 ✨ Main highlights: - Tune hyperparameter choices with Optuna - Added support for Pandas 3.0 - Estimators in data ops can now take additional kwargs 16 new contributors helped with this release 👥 Check out the full changelog: github.com/skrub-data/s...
github.com
Release Skrub release 0.7.0 · skrub-data/skrub
Release 0.7.0 ✨ Highlights Data Ops can now be tuned with Optuna. It is now possible to pass extra named arguments to an estimator through DataOps.skb.apply. The TableReport now supports numpy arr...
030
Reposted by Skrub
Gaël Varoquaux @gaelvaroquaux.bsky.social · 17/11/2025
@skrub-data.bsky.social: better data-science primitives for clean code on dataframes Watch my dotAI talk, it's fun (live coding)! www.youtube.com/watch?v=bQS4... skrub really makes it easy to do machine learning with dataframes
youtube.com
Clean code in Data Science - Gael Varoquaux - Skrub DataOps, Probabl:
YouTube video by dotconferences
0278
Skrub @skrub-data.bsky.social · 08/10/2025
Skrub includes a powerful set of transformers and selectors that allow to transform columns based on various conditions. ApplyToCols lets you select a subset of columns in your dataframe, then applies a transformer to each selected column separately.
130
Reposted by Skrub
Léo Mignot @leomignot.bsky.social · 07/10/2025
On vous a déjà dit que Skrub c'est cool ? Et que l'intervention de @riccardocappuzzo.com était très chouette ? Hein, on vous l'a dit ? skrub-data.org/skrub-materi...
skrub-data.org
Skrub learning materials – Skrub
031
Skrub @skrub-data.bsky.social · 07/10/2025
@pydataparis.bsky.social 2025 is over, and it was a big success! Our talk was very well received, and we got a lot of great questions, especially about scalability and how to interface with other libraries in production environments.
The skrub sticker on the back of a laptop
150
Reposted by Skrub
Emilien Schultz @emilienschultz.eurosky.social · 01/10/2025
What a banger is skrub @skrub-data.bsky.social ! Big thumbs up for the sklearn team & the maintainer of this package
1144
Skrub @skrub-data.bsky.social · 26/09/2025
📅 Less than a week away! The talk will be on Oct 1st at 10.05AM in room Louis Armand 1 - Est. If you want to contribute to skrub, we will also have a sprint on Thursday. See you there!
051
Skrub @skrub-data.bsky.social · 26/09/2025
⚡ Release 0.6.2 is out ⚡ github.com/skrub-data/s...
github.com
Release 0.6.2 · skrub-data/skrub
New features The DataOp.skb.full_report() now displays the time each node took to evaluate. #1596 by Jérôme Dockès. The User guide has been reworked and expanded. Changes and deprecations Ken em...
174
Reposted by Skrub
Léo Mignot @leomignot.bsky.social · 12/09/2025
Reminder: skrub == cool
084
Skrub @skrub-data.bsky.social · 12/09/2025
skrub DataOps help you construct complex and extensive hyperparameter search spaces. However, interpreting results from large grids can be challenging. To address this, skrub generates a parallel coordinate plot that visualizes all runs and the parameters used to achieve specific results.
160
Skrub @skrub-data.bsky.social · 05/09/2025
Do you have to deal with numerical features that involve large outliers, and need to train linear models or neural networks? Then you might want to try the skrub SquashingScaler. The SquashingScaler behaves like scikit-learn RobustScaler, but smoothly clips outliers to predefined boundaries.
111
Reposted by Skrub
PyData London @pydatalondon.bsky.social · 02/09/2025
Our first talk tonight is from @gaelvaroquaux.bsky.social on @skrub-data.bsky.social. Real tables are too messy for sklearn - skrub preprocesses them for you.
183
Reposted by Skrub
Andrew Weeks @meloncholy.bsky.social · 03/09/2025
Had a great PyData London tonight! Was a real treat to hear from @gaelvaroquaux.bsky.social on @skrub-data.bsky.social and the real world data pains its solving. (Try it if you haven’t already; super easy to get going!)
031
Skrub @skrub-data.bsky.social · 29/08/2025
⚡Maintenance release ⚡ Release 0.6.1 fixes a bug that may happen when combining certain column-based skrub transformers with the scikit-learn ColumnTransformer. github.com/skrub-data/s...
github.com
Release Skrub release 0.6.1 · skrub-data/skrub
Bugfixes get_feature_names_out now works correctly when used by GapEncoder, DropCols, SelectCols: from within a scikit-learn Pipeline. In addition, DropCols’s get_feature_names_out method now retu...
010
Skrub @skrub-data.bsky.social · 29/08/2025
We had a great tutorial at #EuroScipy2025! We had the opportunity of showing off the features of skrub to a wide audience, and show how they can be used in a pretty complex use case.
010
Skrub @skrub-data.bsky.social · 24/07/2025
⚡ Release 0.6.0 is now out! ⚡ 🚀 Major update! Skrub DataOps, various improvements for the TableReport, new tools for applying transformers to the columns, and a new robust transformer for numerical features are only some of the features included in this release.
163
Skrub @skrub-data.bsky.social · 19/06/2025
📅 The skrub API includes various functions and objects that help with dealing with datetime strings. 1/
131
Skrub @skrub-data.bsky.social · 07/06/2025
🚀⚡ Release: 0.5.4: Maintenance release! This release makes skrub compatible with scikit-learn 1.7. Changelog: skrub-data.org/stable/CHANG...
skrub-data.org
Release history
Release 0.5.4: Maintenance: Make skrub compatible with scikit-learn 1.7.#1434 by Vincent Maladiere.. Release 0.5.3: Changes: The SimpleCleaner has been renamed to Cleaner. Use of the name SimpleCle...
011
Skrub @skrub-data.bsky.social · 04/06/2025
👀 This week's post will be another sneak peek into skrub expressions, an upcoming feature that will ease the preparation and execution of machine learning pipelines on dataframes. This time we will focus on how expressions can simplify the construction of complex hyperparameter grids.
141
Skrub @skrub-data.bsky.social · 28/05/2025
📝 The skrub TextEncoder brings the power of HuggingFace language models to embed text features in tabular machine learning, for all those use cases that involve text-based columns.
263
Skrub @skrub-data.bsky.social · 21/05/2025
The Skrub Cleaner is a lightweight transformer that performs consistency checks on a dataframe: 🔍 It gives a uniform representation of null values, converting those represented as strings (such as "N/A") 🗑️ It drops columns that contain too many null values (according to a user-defined threshold)
162
Skrub @skrub-data.bsky.social · 30/04/2025
👀 This week's post is a sneak peek into the next major Skrub feature, Skrub expressions 🚀 As this is a preview of an upcoming feature, we are looking for your thoughts and feedback before release.
153
Skrub @skrub-data.bsky.social · 23/04/2025
The Skrub TableReport is a lightweight tool that allows to get a rich overview of a table quickly and easily. ✅ Filter columns 🔎 Look at each column's distribution 📊 Get a high level view of the distributions through stats and plots, including correlated columns 🌐 Export the report as html
164
Skrub @skrub-data.bsky.social · 09/04/2025
🚀 The Skrub learning materials website is now live at: skrub-data.org/skrub-materi... Here you'll find introductory talks and tutorials about Skrub, along with notebooks and blog posts showcasing the features of the library. Bookmark it to not miss any update 👀
skrub-data.org
Skrub learning materials index – Skrub learning materials
2135
Skrub @skrub-data.bsky.social · 03/04/2025
🚀⚡ Release: 0.5.3 Check out the release notes: skrub-data.org/stable/CHANG... Highlights below ⤵️
1144
Skrub @skrub-data.bsky.social · 26/03/2025
🗒️ Do you need to prepare a ML model, and you are working with text and strings? Skrub provides four encoders to convert strings into numerical features. 🤗 models included! What's the best? Check out our blog post to find out 👀 skrub-data.org/skrub-materi...
skrub-data.org
What’s the best way to encode categorical features? A use case with Skrub encoders – Skrub learning materials
072
Reposted by Skrub
Gaël Varoquaux @gaelvaroquaux.bsky.social · 14/03/2025
The code can be found here github.com/GaelVaroquau...
github.com
GitHub - GaelVaroquaux/skrub_presentation_2025: presentation material for a talk at Python Exchange on skrub
presentation material for a talk at Python Exchange on skrub - GaelVaroquaux/skrub_presentation_2025
052
Reposted by Skrub
Gaël Varoquaux @gaelvaroquaux.bsky.social · 14/03/2025
A recent talk, fully in a vscode: 100% code on data wrangling for machine learning with @skrub-data.bsky.social www.youtube.com/watch?v=hdWW... super powerful to easily assemble production-ready pipelines in easy syntax
youtube.com
The Future of AI & Machine Learning | The Python Exchange February 2025
YouTube video by Don't Use This Code • James Powell
2235
Skrub @skrub-data.bsky.social · 31/01/2025
🚀 The Skrub workshop at Campus Cyber in La Défense was a great success! Connecting with professionals from both startups and large companies has given us valuable insights for Skrub's next steps. Stay tuned for more!
121
Skrub @skrub-data.bsky.social · 28/01/2025
🎉⚡️Release 0.5.1: ◼ Encode strings faster and better with StringEncoder! StringEncoder applies a tf-idf vectorization followed by SVD to produce high quality and FAST embeddings of textual and categorical features.
0142
Reposted by Skrub
Gaël Varoquaux @gaelvaroquaux.bsky.social · 30/12/2024
Dealing with unseen categories requires modeling "surface form", ie strings, as we do in @skrub-data.bsky.social's GapEncoder: skrub-data.org/stable/refer...
081
Reposted by Skrub
CommitCanary @commitcanary.bsky.social · 11/12/2024
**@skrub-data.bsky.social Repository Updates - December 11, 2024** • Version update to 0.4.1 (#1198) • Bug fix for object columns in table reports (#1196) • Updated contributing documentation (#1185) • Nightly builds stability fix (#1193)
001
Skrub @skrub-data.bsky.social · 12/12/2024
A new version of skrub is out! skrub 0.4.1 fixes some issues with the TableReport and the tabular_learner, fills some gaps in the documentation, and ensures compatibility with the latest scikit-learn version (1.6). Changelog: skrub-data.org/stable/CHANG...
skrub-data.org
Release history
Release 0.4.1: Changes: A new parameter verbose has been added to the TableReport to toggle on or off the printing of progress information when a report is being generated.#1182 by Priscilla Baah.,...
0256
Skrub @skrub-data.bsky.social · 09/12/2024
We had a great time at the @pyladiescon.bsky.social #PyLadiesCon 2024! Over the course of the mentored sprint we were able to merge five challenging PRs that will be added to the next release, and welcomed three new contributors 🎉🎉🎉 See you there next year!
083
Skrub @skrub-data.bsky.social · 27/11/2024
🎉⚡️Release 0.4: ◼ Easily use deep learning for text entries ◼ TableVectorizer can remove columns with too many missing values ◼ TableReport more robust and prettier ... 1/5
1114
Reposted by Skrub
matplotlib @matplotlib.org · 22/11/2024
Please let us know if you're on here! 👋
295
Skrub @skrub-data.bsky.social · 22/11/2024
We're always updating the pydata & scipy project starter pack: go.bsky.app/6HkrMcp Hello @scikit-learn.bsky.social , @networkx.bsky.social , @scipyconf.bsky.social
65320
Reposted by Skrub
Skrub @skrub-data.bsky.social · 19/11/2024
👀 Explore your dataframes interactively with TableReport. AKA: 📈 we heard you liked plots so we put plots in your tables 📈
1113
Reposted by Skrub
Real Python @realpython.com · 20/11/2024
🐍📰 NumPy Practical Examples: Useful Techniques
realpython.com
NumPy Practical Examples: Useful Techniques – Real Python
In this tutorial, you'll learn how to use NumPy by exploring several interesting examples. You'll read data from a file into an array and analyze structured arrays to perform a reconciliation. You'll...
051