Welcome to Easy-ML

Select a task pipeline to build your model

table_chart

Tabular Classification

Predict categories from structured CSV data.

Random ForestLogReg
trending_up

Tabular Regression

Predict continuous numbers from structured CSV data.

Random ForestLinear Reg
article

NLP Text Classification

Text classification, sentiment analysis via natural language.

TF-IDFEmbeddings
image

Image Classification

Train deep learning models on image datasets.

ResNet18MobileNetV2

Requires the CV extra: {{ installHint('cv') }}

settings Settings

Manage your data storage and application preferences

📂 Data Storage

Data Directory:
{{ settingsInfo.data_dir }}
Storage Used: {{ settingsInfo.storage_used_mb }} MB
Disk Free: {{ settingsInfo.disk_free_mb }} MB
Version: {{ settingsInfo.version }}
Loading settings...

⚡ GPU / CUDA

{{ cudaInfo.cuda_available ? '⚡ GPU Available' : '🖥️ CPU Only / Unavailable' }} {{ cudaInfo.cuda_device_name }}
PyTorch Version: {{ cudaInfo.torch_version }}
Why CPU Only? Standard pip on Windows often installs the CPU version of PyTorch by default. If you have an NVIDIA GPU, reinstall with:
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118

🗑️ Clear Data

Delete all runs, databases, uploads, and logs. This cannot be undone.

About Easy-ML

An open-source, no-code ML platform

👥 Developers

{{ dev.name.charAt(0) }}
{{ dev.name }}
{{ dev.email }}
LinkedIn ↗
Version: {{ creditsInfo.version }}
License: Apache 2.0
Loading...

Upload Dataset

Upload a CSV or Excel file for {{ taskLabel(config.task) }}

cloud_upload

Drag & drop your CSV / Excel file here, or click to browse

check_circle

{{ uploadedFileName }} loaded successfully

{{ uploadedData.rows }} rows × {{ uploadedData.cols }} columns

Uploading...

folder_special

Select Image Dataset Folder

Choose a folder inside your Easy-ML Data Directory (e.g. uploads/) that contains subfolders for each image class.

Column Configuration

Run Details

A run name is required.

Data Preview

{{ col }} TARGET
{{ truncate(row[col], 50) }}

Pipeline Configuration

Configure preprocessing and features for {{ taskLabel(config.task) }}

Text Cleaning

Imbalanced Data Handling

Loading distribution...
⚠️ Highly Imbalanced Dataset Detected
✅ Dataset is reasonably balanced
{{ cls.class }}: {{ cls.percentage }}% ({{ cls.count }})

Applied after TF-IDF / Embeddings step.

Feature Extraction

Sentence embeddings need the NLP extra: {{ installHint('embeddings') }}

Image Preprocessing

Data Transforms

Loading distribution...
⚠️ Highly Imbalanced Dataset Detected
✅ Dataset is reasonably balanced
{{ cls.class }}: {{ cls.percentage }}% ({{ cls.count }})

Column Assignments

Hold Ctrl/Cmd to select multiple.

Select Models

Choose algorithms and tuning effort

error_outline Missing Dependencies

The {{ isCV ? 'Computer Vision' : 'NLP' }} module is not fully installed in your current environment.
Please open your terminal, stop the server, and run:
pip install "easy-ml-studio[{{ isCV ? 'cv' : 'nlp' }}]"

XGBoost, LightGBM and CatBoost are available with {{ installHint('boost') }}

Training Config

Stop training if no improvement for N epochs.

Reduce LR if no improvement for N epochs.

Multiply LR by this factor (e.g. 0.5 = halve it).

🔧 Custom CNN Builder

Add layers to build your architecture. The model always starts with the image input and ends with a Linear layer for your classes.

{{ layer.type }}
✅ Valid Architecture!
❌ Invalid Architecture: {{ cnnValidation.error }}
{{ cnnValidation.summary }}

Hyperparameter Tuning (GridSearch)

Training Pipeline

{{ trainingStatusText }}

{{ Math.round(trainingProgress) }}%

{{ log.message }}

📈 Live Training Curves

Training Results

Performance metrics for your models

🔗 Pipeline Summary

📂
Dataset
{{ trainingResult.pipeline_summary.dataset.rows }} rows × {{ trainingResult.pipeline_summary.dataset.cols }} cols
→
🧹
Preprocessing
Impute · Scale · PCA · Augment
→
⚖️
Resampling
{{ trainingResult.pipeline_summary.imbalance_handling.toUpperCase() }}
→
✂️
Split
{{ trainingResult.pipeline_summary.split || '80/20' }}
→
🤖
Models
{{ (trainingResult.pipeline_summary.models_trained || []).length }} trained

{{ modelLabel(modelName) }}

{{ formatScore(perf.accuracy_test) }}
Train {{ scoreName }}
{{ formatScore(perf.accuracy_train) }}
Test {{ scoreName }}
{{ formatScore(perf.accuracy_test) }}
🎯 Best Hyperparameters
{{ key }} {{ val }}

Live Inference

Make predictions with Run #{{ inference.run_id }} · {{ taskLabel(inferenceRunType) }}

Enter feature values for prediction:

Upload a CSV containing the same features to get a bulk prediction file.

Selected: {{ inference.batch_file.name }}
Prediction {{ inferenceResult.prediction }}
Confidence {{ (inferenceResult.probability * 100).toFixed(1) }}%

Feature Impact (SHAP Waterfall)

SHAP Plot

Run History

Manage previous training runs

ID Name Task Dataset Models Best Acc Date Actions

No runs found in database.