Skip to content

Fellah73/Machine_Learning_Algorithms_GUI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧠 Machine_Learning_Algorithms_GUI β€” Interactive Workflow in Python

Machine_Learning_Algorithms_GUI is a Python-based MVC application for exploring both supervised and unsupervised machine learning algorithms.
It guides users step by step: dataset upload, preprocessing, learning type selection, algorithm choice, visualization, and comparison.


πŸ”Ž Overview

This project provides a hands-on environment to experiment with machine learning techniques.
The GUI is designed for clarity and pedagogy: each step of the workflow is implemented and visualized interactively.
Built entirely with Python in a local environment, the app follows an MVC architecture for modularity and extensibility.


πŸ”‘ Key highlights:

  • Upload .csv datasets directly into the GUI.
  • Preprocess data: handle missing values, detect outliers, normalize features.
  • Select the learning type:
    • Supervised: KNN, Naive Bayes, C4.5
    • Unsupervised: K-Means, K-Medoids, DIANA, AGNES, DBSCAN
  • Choose the algorithm within the selected type.
  • Visualize results with scatter plots (partitioning & density), dendrograms (hierarchical), or classification plots (supervised).
  • Compare algorithms:
    • Within the same type
    • Across all types
  • Evaluate metrics: Silhouette Score, intra/inter-cluster distances, and supervised accuracy metrics.

πŸš€ Features

πŸ“‚ Step 1 β€” Dataset Upload

  • Import .csv files via the GUI.
  • Preview dataset structure before processing.

βš™οΈ Step 2 β€” Preprocessing

  • Analyze and replace missing values.
  • Detect and handle outliers.
  • Normalize features for consistent scaling.

πŸ”€ Step 3 β€” Learning Type Selection

  • Choose between Supervised or Unsupervised learning.
  • Supervised: KNN, Naive Bayes, C4.5.
  • Unsupervised: K-Means, K-Medoids, DIANA, AGNES, DBSCAN.

πŸ”¬ Step 4 β€” Algorithm Selection

  • Select the specific algorithm within the chosen type.

πŸ‘ Step 5 β€” Visualization

  • Scatter plots for partitioning & density algorithms.
  • Dendrograms for hierarchical algorithms.
  • Classification plots for supervised algorithms.

πŸ†š Step 6 β€” Comparison

  • Compare algorithms of the same type.
  • Compare across supervised and unsupervised algorithms.
  • Metrics: Silhouette Score, intra/inter-cluster distances, supervised accuracy & precision.

πŸ› οΈ Technologies Used

  • Python (3.x) β€” core language
  • Tkinter β€” GUI framework
  • scikit-learn β€” supervised & unsupervised algorithms, metrics
  • pandas β€” dataset handling
  • numpy β€” numerical operations
  • matplotlib / seaborn β€” visualization
  • MVC architecture β€” structured application design

πŸ’» Tech stack

  • Python (3.x) β€” main environment
  • scikit-learn β€” ML algorithms & evaluation
  • pandas + numpy β€” data manipulation
  • matplotlib + seaborn β€” plotting
  • Tkinter β€” GUI interface
  • MVC β€” application architecture

πŸš€ Getting Started

  1. Clone the repository.
  2. Install dependencies:
    git clone your-repo
    python -m venv venv
    venv\Scripts\activate
    pip install -r requirements.txt
    python main.py

About

A fully interactive GUI for supervised and unsupervised machine learning algorithms, featuring dataset upload, preprocessing utilities, model training, algorithm exploration, clustering, evaluation metrics, and side-by-side comparison tools.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages