A web-based machine learning application that allows users to train and test models on both tabular (CSV) data and images without writing any code.
- Classification: Train models to categorize data into different classes
- Regression: Train models to predict continuous numerical values
- Feature Selection: Choose which columns to include in training
- Model Metrics: View accuracy (classification) or R² score/MSE (regression)
- Feature Importance: See which features contribute most to predictions
- Transfer Learning: Uses MobileNetV2 (pretrained on ImageNet) for feature extraction
- Multi-class Support: Upload multiple ZIP files, one per class (e.g.,
cats.zip,dogs.zip) - Easy Testing: Upload new images to classify after training
- Frontend: React + TypeScript, Vite, Tailwind CSS
- Backend: Flask (Python)
- ML Models: scikit-learn (RandomForest)
- Deep Learning: TensorFlow/Keras (MobileNetV2 for image features)
-
Navigate to the backend directory:
cd backend -
Create a virtual environment (recommended):
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Navigate to the frontend directory:
cd frontend -
Install dependencies:
npm install
cd backend
python app.pyThe backend API runs on http://localhost:5000
cd frontend
npm run devThe frontend runs on http://localhost:5173
| Endpoint | Method | Description |
|---|---|---|
/train_csv |
POST | Train a model on CSV data |
/train_images |
POST | Train an image classifier |
/predict |
POST | Make predictions with trained model |
/metrics |
GET | Get model performance metrics |
/feature_importance |
GET | Get feature importance scores |
/model_info |
GET | Get information about the trained model |
python app.py- Open your browser and go to
http://127.0.0.1:5000
- Select "Tabular (CSV)" from the dropdown
- Choose Classification or Regression mode
- Upload your CSV file
- Uncheck any columns that might cause data leakage
- Enter the target column name
- Click "Train CSV Model"
- Select "Visual (Image ZIPs)" from the dropdown
- Prepare ZIP files for each class (e.g.,
cats.zipcontaining cat images) - Upload all ZIP files at once
- Click "Train Image Model"
After training, the prediction panel will update:
- CSV: Enter values for each feature and click "Predict"
- Images: Upload an image and click "Classify Image"
| Endpoint | Method | Description |
|---|---|---|
/ |
GET | Main web interface |
/train_csv |
POST | Train model on CSV data |
/train_images |
POST | Train image classifier |
/predict |
POST | Make predictions |
/metrics |
GET | Get model performance metrics |
/feature_importance |
GET | Get feature importance rankings |
/model_info |
GET | Get information about trained model |