Skip to content

This project aims to predict customer churn using machine learning algorithms. The project includes data preprocessing, feature engineering, and model evaluation.

Notifications You must be signed in to change notification settings

mohammad95labbaf/Churn-Prediction

Repository files navigation

Churn Prediction Project

Overview

This project aims to predict customer churn using machine learning algorithms. The goal is to identify customers who are likely to stop using a service or product, allowing businesses to take proactive measures to retain them. The project includes the following key components:

  • Data Preprocessing: The project starts by loading and preprocessing a dataset containing customer information and behavior. This involves handling missing values, encoding categorical variables, and scaling numerical features.
  • Model Evaluation: The project evaluates the performance of different machine learning algorithms, including Decision Trees, Random Forests, Support Vector Machines, and more. The models are trained and tested using a variety of metrics, including accuracy, precision, recall, and F1-score.
  • Model Selection: The project selects the best-performing model based on the evaluation metrics and uses it to make predictions on new, unseen data.

Getting Started

Prerequisites

  • Python 3.11 or higher
  • Required libraries: pandas, numpy, scikit-learn, matplotlib, seaborn, PyYAML

Installation

  1. Clone the repository: git clone https://github.com/your-username/Churn-Prediction.git
  2. Install required libraries: pip install -r requirements.txt

Running the Project

  1. Run the main script: python main.py
  2. Use command-line arguments to customize the project:
    • -c or --classifier: specify the classifier to use (default: AdaBoost)
    • -t or --test-size: specify the test size for train-test split (default: 0.2)
    • -p or --preprocessing-method: specify the preprocessing method to use (default: standardization)

Example Usage

  • python main.py: run the project with default settings
  • python main.py -c KNN -t 0.5 -p robust-scaling: run the project with KNN classifier, 50% test size, and robust scaling preprocessing

Project Structure

  • main.py: main entry point for the project
  • config.py: configuration file for the project
  • dataset.py: data loading and preprocessing module
  • classification.py: classification module
  • plot_confusion_matrix.py: confusion matrix plotting module
  • requirements.txt: required libraries for the project

About

This project aims to predict customer churn using machine learning algorithms. The project includes data preprocessing, feature engineering, and model evaluation.

Topics

Resources

Stars

Watchers

Forks

Languages