An open API service indexing awesome lists of open source software.

https://github.com/mohammad95labbaf/churn-prediction

This project aims to predict customer churn using machine learning algorithms. The project includes data preprocessing, feature engineering, and model evaluation.
https://github.com/mohammad95labbaf/churn-prediction

adaboost bagging churn churn-analysis churn-prediction decisiontree ensemble-learning knn randomforest scikit-learn sklearn svm voting

Last synced: 5 months ago
JSON representation

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

Awesome Lists containing this project

README

          

**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