Skip to content

mdzehadulislam8/arff-tree-explorer-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

49 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“˜ ARFF Tree Explorer

A Python-Based Machine Learning Visualization Tool for ARFF Datasets


๐Ÿš€ Overview

ARFF Tree Explorer is a Python-based desktop application designed to load ARFF datasets, train multiple classification models, and visualize decision trees in an intuitive, beginner-friendly GUI.

The tool makes learning ML more accessible by combining:

  • Python GUI (Tkinter)
  • ARFF file processing
  • Decision tree visualization
  • Classifier performance comparison
  • User-friendly workflow for education & research

This system acts as a lightweight, open-source alternative to Weka.


๐ŸŽฏ Key Features

๐Ÿ”น Classifier Comparison Module

  • Load ARFF files
  • Automatic preprocessing
  • Evaluate models using 5-fold cross-validation
  • Compare accuracy of:
    • J48 (Entropy-based Decision Tree)
    • REPTree
    • Random Forest
    • Decision Stump
    • Logistic Regression (LMT Approximation)

๐Ÿ”น Decision Tree Visualization Module

  • Select model from dropdown
  • Train automatically
  • Visualize decision trees using Matplotlib
  • Explore splits, nodes, and decision paths

๐Ÿ”น Core System

  • Built fully in Python
  • Handles categorical encoding
  • Model training + evaluation in real-time
  • Simple, minimal, student-friendly interface

๐Ÿงฉ System Architecture

User GUI (Tkinter)
        โ”‚
Data Processing (Pandas + ARFF Loader)
        โ”‚
Model Training (Scikit-learn)
        โ”‚
Classifier Comparison / Tree Visualization
        โ”‚
Matplotlib Output (Decision Trees)

๐Ÿ› ๏ธ Tools & Technologies

Component Technology
Language Python 3.x
GUI Tkinter
ML Models Scikit-learn
Data Loader scipy.io.arff
Visualization Matplotlib
IDE VS Code

๐Ÿ“ Project Structure

ARFF-Tree-Explorer/
โ”œโ”€ main.py
โ”œโ”€ assets/
โ”‚   โ”œโ”€ screenshots/
โ”‚   โ””โ”€ icons/
โ”œโ”€ sample_datasets/
โ”œโ”€ requirements.txt
โ””โ”€ README.md

โš™๏ธ Installation & Setup

1๏ธโƒฃ Install Dependencies

pip install pandas scikit-learn matplotlib scipy

2๏ธโƒฃ Run the Application

python main.py

๐Ÿ” How It Works

User Workflow

  1. Upload ARFF file
  2. System loads โ†’ preprocesses data
  3. Compare classifiers
  4. Visualize decision trees

Behind the Scenes

  • ARFF parsed using scipy.io.arff
  • Categorical features encoded with LabelEncoder
  • Models trained via Scikit-learn
  • Tree visualized using plot_tree()

๐Ÿง  Algorithms Used

๐Ÿ“Œ Classifier Comparison Algorithm

  • Evaluates multiple ML models
  • Uses 5-fold cross-validation
  • Outputs accuracy scores

๐Ÿ“Œ Decision Tree Visualization Algorithm

  • Trains selected classifier
  • Generates complete tree plot
  • Supports J48, REPTree, RandomForest, etc.

๐Ÿ—‚๏ธ Flowchart

Flowchart


๐Ÿ“ธ Demo Preview

๐Ÿ  Home Page

Home Page

๐Ÿ“Š Classifier Comparison Module

Classifier Comparison Module

๐ŸŒณ Decision Tree Visualization Module

Decision Tree Visualization Module

๐ŸŒฒ J48 Tree Visualization

J48 Tree Visualization Module


๐Ÿ“ˆ Performance Evaluation

  • Fast dataset loading
  • Accurate ML model comparison
  • Clear visual decision trees
  • Smooth GUI interaction
  • Tested on multiple UCI ARFF datasets

โš ๏ธ Limitations

  • Only ARFF supported (no CSV/XLSX)
  • GUI may freeze with large datasets
  • No threading / background tasks
  • No exporting of tree images
  • No hyperparameter tuning

๐Ÿ”ฎ Future Improvements

  • Support CSV, XLSX, JSON
  • Multi-threading for large data
  • Save/Export trees
  • Add hyperparameter tuning panel
  • Zoomable, interactive tree viewer
  • Dark mode for GUI

๐Ÿ“„ Full Project Report (PDF)

(Complete documentation, flowcharts, case studies, screenshots)

๐Ÿ‘‰ Download:
Download / View Project Report (PDF)


๐Ÿ‘ฅ Authors

  • Md. Zehadul Islam
  • Md. Abdullah Al Moin

About

A lightweight Python tool to load ARFF files, compare ML classifiers, and visually explore decision trees in seconds.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages