Is Vibe Coding ML a Viable Approach?

Thu, 03 Jul 2025 11:35:00 +0000
Machine Learning, Tools, Vibe Coding, Dataset

Vibe coding has become such a popular term recently that it even already has its own Wikipedia page. However, if you haven’t come across it before, vibe coding is an emerging development technique that uses natural language to write code and build applications. This approach has already demonstrated strong results in several areas of software development. Machine Learning (ML) involves a wide range of tasks, including:

data visualization,

model training,

evaluation,

deployment.

While it’s clear that coding agents can accelerate routine programming tasks, the more relevant question is: can they truly support core ML workflows?

For the purposes of this article, I’ll be using Cursor, as an agentic code editor. I’ve also experimented with coding agents in VSCode, but in my experience, Cursor provides a smoother and more efficient experience, particularly for ML-related development.

Datasets

As an introduction to my tests, I used two distinct datasets: the plant-disease dataset from DiaMOS and the Unemployment Duration dataset. These datasets differ significantly in structure and complexity, which allowed me to evaluate how well coding agents handle both straightforward and more challenging ML problems.

The plant-disease dataset presents a relatively simple supervised learning task: a 4-class classification problem. Each image corresponds to a type of plant leaf, labeled with one of four disease categories. This makes it ideal for testing basic training pipelines, image preprocessing, and explainability methods such as Grad-CAM or saliency maps. Class distributions are moderately imbalanced, but overall, the dataset is clean and visually consistent, allowing for fast prototyping and model iteration.

In contrast, the Unemployment Duration dataset introduces a much more complex challenge. It involves a survival analysis problem, where the target is not a fixed label but the duration of unemployment, along with censoring indicators that describe whether the event (finding a job) occurred or not. The dataset includes multiple one-hot encoded variables, numeric features (e.g., age, wage), and temporal elements. This structure requires a deeper understanding of the semantics behind each variable, particularly the censoring logic, to avoid misleading results during analysis and modeling.

These two datasets offer complementary perspectives: one focused on efficient classification of image data, and the other on the intricacies of censored time-to-event prediction. They serve as a strong foundation for evaluating the effectiveness and limitations of agent-driven machine learning workflows.

Exploratory Data Analysis

The exploratory data analysis (EDA) prompt was quite straightforward:

Create EDA for plant-disease from scratch as a jupyter notebook.

To achieve the output to be returned directly in a notebook, I had to use the Sonnet-4 model.

The generated notebook was impressive. Although there were some minor issues with plot alignment, it produced a useful set of basic EDA outputs. These included visualizations for each class, class distribution statistics, as well as image size ratios and frequency distributions. From this analysis, it was immediately clear that the dataset was imbalanced.

The model also provided actionable suggestions based on its findings. These were intended to improve model performance by addressing potential issues in the dataset.

This...