explore-ml-data

Executes read-only exploratory data analysis and writes persisted EDA reports before model design.

1|Updated Jun 22, 2026
One-click install
npx skills add https://github.com/probabl-ai/ibm-workshop --skill explore-ml-data-probabl-ai
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: explore-ml-data
Source: https://github.com/probabl-ai/ibm-workshop/tree/main/.bob/skills/explore-ml-data
Command: npx skills add https://github.com/probabl-ai/ibm-workshop --skill explore-ml-data-probabl-ai

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires skrub, ipython, and includes references (resource) components.

What problem does it solve? Machine learning projects often jump straight to model design without understanding the dataset, leading to unjustified choices of cross-validation splitter, metric, and learner. This Skill runs a structured, read-only exploratory data analysis that surfaces the dataset facts — shape, dtypes, missingness, cardinality, target balance, datetime and group structure, feature associations — needed to justify later modelling decisions. ## Core Features & Use Cases - Executable EDA script: Places and runs a jupytext data/eda.py via a shared in-process cell runner, producing a streamed digest of dataset facts. - Persisted deliverables: Authors a prose data/eda.md report with modelling implications, rich data/eda_<table>.html skrub TableReport pages, and a JOURNAL index section. - Library-agnostic profiling: Reads all structured facts from skrub (TableReport.json(), column_associations) so the same workflow works on pandas or polars dataframes. - Use Case: Before drafting a baseline classifier on a new cytology dataset, run this Skill to discover class imbalance and high-cardinality columns, so the baseline note can justify StratifiedKFold and ROC-AUC over accuracy. ## Quick Start Ask the assistant to explore the dataset and run an EDA before designing the baseline model.

Frequently Asked Questions about explore-ml-data

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run an EDA before designing a machine learning model?

Place a jupytext data/eda.py script from the provided template, execute it with the shared run_cells.py runner, then author data/eda.md from the streamed digest. The findings feed the baseline design note's learner, splitter, and metric choices.

How to profile a dataframe with skrub TableReport?

Create skrub.TableReport(RAW, title=..., verbose=0), call write_html for the rich report, and parse json.loads(report.json()) for per-column dtype, null proportion, and cardinality facts. Never end a cell on a bare TableReport since its repr carries no data outside a notebook.

Does skrub TableReport work with polars dataframes?

Yes, skrub TableReport and column_associations accept both pandas and polars dataframes and return the same structure. This is why the EDA reads all summary facts from skrub rather than library-specific methods like select_dtypes, which polars does not have.

Why does my EDA cell output show only a TableReport repr?

Outside a notebook, repr(TableReport(df)) renders as a useless placeholder message. Call report.write_html(...) as a statement for the HTML artifact and end the cell on a text-friendly expression built from report.json() so the digest carries real values.

Can EDA clean or impute missing values in the raw data?

No, EDA is strictly read-only against the user's raw data files wherever they live. Cleaning and imputation belong in the modelling pipeline, applied at fit time so train and test stay consistent.

What happens if ipython is not installed for the EDA runner?

The cell runner requires ipython as an agent feature. If it is missing, the Skill stops and delegates installation to the python-env-manager skill, or falls back to recording a skipped EDA status in the JOURNAL rather than fabricating output.