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.
- Host: GitHub
- URL: https://github.com/mohammad95labbaf/churn-prediction
- Owner: mohammad95labbaf
- Created: 2024-08-13T07:35:01.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-13T10:28:01.000Z (almost 2 years ago)
- Last Synced: 2025-04-12T20:49:57.295Z (about 1 year ago)
- Topics: adaboost, bagging, churn, churn-analysis, churn-prediction, decisiontree, ensemble-learning, knn, randomforest, scikit-learn, sklearn, svm, voting
- Language: Python
- Homepage:
- Size: 373 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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