/mlp-spam-classifier

Spam - Classifier. This project is the culmination of the Artificial Neural Networks course within the Computer Engineering program at University of Guadalajara.

Primary LanguageRoff

Spam Classifier

Table of Contents:

Overview

This project is the culmination of the Artificial Neural Networks course within the Computer Engineering program at University of Guadalajara. Developed in Python, it incorporates components from the PyQt library for the construction of the graphical user interface. The centerpiece of the project is a spam classifier built using a multilayer perceptron neural network. The network employs the hyperbolic tangent (tanh) activation function in the hidden layers and the logistic function in the output layer.

Features

  • Graphical User Interface (GUI) developed with PyQt components.
  • Multilayer perceptron neural network for spam classification.
  • Activation functions: tanh in hidden layers, logistic function in the output layer.

Getting Started

  1. Clone the repository.

    git clone https://github.com/ismaelg-avilag/spam-classifier.git
    cd spam-classifier
    
  2. Run the application.

    python main.py
    

Usage

Upon launching the application, the main interface features a button allowing the user to select a directory containing text files. The application will analyze the text files within the selected directory, displaying the percentage of spam and ham (non-spam emails) present in the analyzed files. This functionality provides users with a quick and informative overview of the spam content within the provided dataset.

Implementation Details

The spam classifier utilizes a multilayer perceptron neural network, showcasing a departure from traditional Bayesian classifiers. The choice of activation functions, tanh and logistic, was made to enhance the network's ability to capture complex patterns in the data.

Contributions

Contributions to this project are welcome. If you find any bugs or have suggestions for improvements, please submit an issue or a pull request.

License

This project is licensed under the MIT License.

Contact

Contact

If you have any questions or need further assistance, feel free to contact the project maintainers:

Ismael Avila

Oscar Beltrán