Skip to content

An agent that will use machine learning models and techniques on a tabular dataset. It will provide you with it's best attempt and a PDF report. Created using FastAPI and Spring AI

Notifications You must be signed in to change notification settings

RyanBurnsworth/MLAgent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Machine Learning Agent

Machine Learning Agent is an agentic system that automatically generates end-to-end machine learning notebooks from datasets.
It is built using Java (Spring AI) and Python (FastAPI), with seamless integration to Kaggle’s API for dataset retrieval.


πŸš€ Key Capabilities

Capability Description
πŸ”½ Dataset Acquisition Automatically downloads and verifies datasets (via Kaggle API or direct URLs)
🧹 Data Preprocessing Handles cleaning, transformation, and feature processing
🧠 Model Training Trains one or more ML models using the generated notebook
πŸ“Š Performance Evaluation Produces visual accuracy metrics (plots, confusion matrices, etc.)

Two core agents drive the notebook lifecycle:

Agent Responsibility
NotebookCreatorAgent Builds a machine learning notebook from scratch
NotebookUpdaterAgent Revises or enhances an existing notebook

πŸ”„ Self-Correcting + Self-Healing Architecture

Each step in notebook creation is validated before execution.

βœ… Self-Correction Loop

Component Role
CriticAgent Reviews generated code before execution
EvaluatorAgent Provides structured feedback when changes are required

Workflow:

  1. Agent generates code for a step.
  2. CriticAgent reviews it:
    • If approved ➝ code is executed
    • If rejected ➝ feedback is applied and code is regenerated
  3. This repeats up to 3 correction attempts, after which the last revision is accepted

πŸ› οΈ Self-Healing Runtime

After execution, the notebook is tested using Papermill.
If an error occurs:

Component Role
ErrorHandlerAgent Receives the exception, traceback, and failing code
Attempts to automatically fix issues up to 3 times
If unresolved ➝ returns HTTP 500 with diagnostic messaging

🧱 Tech Stack

Layer Technology
Core Orchestration Java + Spring AI
Execution & Notebook Manipulation Python + FastAPI
Dataset Integration Kaggle API
Notebook Validation Papermill

πŸ“Œ Roadmap

  • Multi-model comparison support (e.g., RandomForest vs XGBoost vs NeuralNet)
  • Notebook-to-Production pipeline export (FastAPI endpoint / Batch job)
  • Support for SQL / API-based data sources (Snowflake, BigQuery, REST, etc.)
  • LLM-based summary of results and insights section at the end of notebooks

About

An agent that will use machine learning models and techniques on a tabular dataset. It will provide you with it's best attempt and a PDF report. Created using FastAPI and Spring AI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published