skrub

74 posts

skrub banner
skrub

skrub

@skrub_data

Prepping tables for machine learning

Katılım Nisan 2023
9 Takip Edilen321 Takipçiler
skrub retweetledi
Parul Pandey
Parul Pandey@pandeyparul·
Day 5 of using @skrub_data Back with more skrub nuggets :). The more I read the docs, the more useful things I find. Data cleaning is not the fun part, but it is a core part of any data science pipeline. skrub makes it a lot easier. In this post we'll see how to Deduplicate categorical data with skrub Real-world category columns often contain the same value written in slightly different ways. For example, company names might show up with small typos: Amazon, Amazn, Amaozn, Aamazon skrub has a built-in deduplicate() function for this. It looks for similar strings, groups close variants together, and maps them back to a cleaner category. This helps when categorical data has spelling errors, duplicate labels, or manual entries that should be treated as one category, especially when you know the correct values or when string similarity does not matter for the task.
Parul Pandey tweet media
English
2
3
7
840
skrub retweetledi
Parul Pandey
Parul Pandey@pandeyparul·
Day 4 of using the @skrub_data , very useful library from @probabl_ai if you work with tabular data. • Encoding features with TableVectorizer to make them model-ready. Tabular ML models only understand numbers, so strings and categories all need to be converted before training. TableVectorizer handles this end-to-end. Under the hood: ✅ Data is cleaned to enforce consistent numerical dtypes ✅ Columns are split by dtype and number of unique values ✅ Each column is encoded separately, with categorical features handled differently based on their cardinality 🌟 It's still customizable as you can drop or passthrough columns, or override the defaults entirely.
Parul Pandey tweet media
English
0
4
18
1.2K
skrub retweetledi
Parul Pandey
Parul Pandey@pandeyparul·
I have been playing with the @skrub_data package lately and its TableReport feature is quite useful for quickly understanding a dataframe. You pass in a dataframe and get a clean view with stats, distributions and column relationships in one place. You can also filter columns by type or missing values and even export it as a simple HTML file to share. And yes it works in @marimo_io notebooks too 😀
English
1
2
14
1K
skrub retweetledi
Parul Pandey
Parul Pandey@pandeyparul·
Day 2 of using @skrub_data : Cleaning dataframes with good defaults. Cleaning the dataframe is usually the first step in any data science pipeline but is also quite repetitive and cumbersome. The Cleaner from skrub handles messy data pretty well and gives you strong defaults to start with. You can always adjust later if needed. For example, here is a small dataset with some obvious issues like columns with all missing values, string dates and columns that don’t really help. The Cleaner does this in one go. It scans each column and: ✅ Turns common “fake nulls” like empty strings into actual nulls ✅ Drops columns that don’t add information (like all missing or constant ones) ✅ Parses dates properly instead of leaving them as strings ✅ Keeps categories consistent and ✅ Converts columns to the most meaningful dtype So instead of writing small fixes everywhere, you get a clean starting point. Great addition to any data processing pipeline.
Parul Pandey tweet media
English
0
4
12
1K
skrub retweetledi
dotConferences
dotConferences@dotConferences·
Now on stage at #dotAI2025 @GaelVaroquaux speaking about « Machine-learners should cross-validate, and use scrub’s DataOps »
dotConferences tweet media
English
0
3
4
1.9K
skrub retweetledi
Gael Varoquaux 🦋
Gael Varoquaux 🦋@GaelVaroquaux·
One of my collaborator sending me a @skrub_data TableReport as an HTML file, with which I can interact, and explore the data, to give him feedback. Ideal workflow, as far as I am concerned: async, yet interactive, and not needing an infrastructure
English
1
3
14
910
skrub retweetledi
:probabl.
:probabl.@probabl_ai·
With skore v0.10, you now have a data accessor in the EstimatorReport! It consists in a @skrub_data TableReport that allows you to interactively explore your data and gain precious insights before your modelling! 🎬 Check out our short demo video: eu1.hubs.ly/H0mhFMN0
English
0
3
9
1.6K
skrub retweetledi
:probabl.
:probabl.@probabl_ai·
(Re)-watch our session at @PyData Milan in March 2025 where we discussed the latest developments in the @scikit_learn ecosystem: eu1.hubs.ly/H0m9cHw0 We explore what scikit-learn allows you to do and introduce powerful tools like @skrub_data, skops, and skore.
English
1
7
12
1.6K
skrub retweetledi
:probabl.
:probabl.@probabl_ai·
@PyData @scikit_learn @skrub_data Timeline: 0:00: Intro of PyData Milan 7:30: Presentations of speakers 9:25: What scikit-learn allows you to do 21:15: skrub - less wrangling, more machine learning 32:54: skops - scikit-learn models in production 43:51: skore - an abstraction to ease data science projects
English
0
3
1
832
skrub retweetledi
:probabl.
:probabl.@probabl_ai·
🎤 Next week, our product engineer Marie Sacksick will be presenting how to extend scikit-learn with skore, but also with skrub and skops. Thanks Pyladies Paris for this opportunity! To book your seat: eu1.hubs.ly/H0j-Qpq0
English
0
3
4
1.6K
skrub retweetledi
:probabl.
:probabl.@probabl_ai·
For this recipe, you will need: - 4 open source libraries, - 3 vibrant colors, - 2 enthusiastic speakers, - 1 welcoming host, Mix it all, expose to some Milan's sun, and you will get... a talk on @scikit_learn, @skrub_data, skops, and skore, by @glemaitre58 and @MarieSacksick.
:probabl. tweet media
English
1
5
16
1.5K
skrub
skrub@skrub_data·
🎉⚡️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. skrub-data.org/stable/referen…
skrub tweet media
English
0
2
11
2.3K
skrub
skrub@skrub_data·
There is much more: skrub.patch_display() adds the TableReport as a default representation for all dataframes skrub.column_association to check which columns are linked... Check out the changelog: skrub-data.org/stable/CHANGES… 5/5
skrub tweet media
English
0
1
4
879
skrub
skrub@skrub_data·
Improved TableReport: ◼ tighter layout ◼ support any script (any alphabet حب माया) in the plots ◼ robust to outliers It works without dependencies, in any html-based environment (@ProjectJupyter, @code, a simple web page...) Check it out on skrub-data.org 4/5
skrub tweet media
English
1
2
6
894
skrub
skrub@skrub_data·
🎉⚡️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
skrub tweet media
English
1
7
16
1.6K
skrub retweetledi
:probabl.
:probabl.@probabl_ai·
Some ensemble models do not support sparse features, but there is a hashing trick (via the MinHashEncoder in skrub!) that totally circumvents that issue for text/dirty category data. Details/full explainer just went live here: eu1.hubs.ly/H0dV3RC0
English
0
2
3
473