Skip to content

This project aims to predict customer churn using machine learning techniques. By analyzing customer data, the model identifies patterns and predicts which customers are likely to leave the service.

Notifications You must be signed in to change notification settings

george462/churn_prediction.ipynb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Certainly! Here's a template for a README file for your GitHub repository:


Customer Churn Prediction

Overview

This project aims to predict customer churn using machine learning techniques. By analyzing customer data, the model identifies patterns and predicts which customers are likely to leave the service.

Dataset

The dataset used is Churn_Modelling.csv, which includes features related to customer demographics, financial behavior, and service engagement.

Features

  • CreditScore: Customer's credit score.
  • Geography: Customer's geographic location.
  • Gender: Customer's gender.
  • Age: Customer's age.
  • Tenure: Number of years the customer has been with the company.
  • Balance: Customer's account balance.
  • NumOfProducts: Number of products the customer uses.
  • HasCrCard: Whether the customer has a credit card (1 = Yes, 0 = No).
  • IsActiveMember: Whether the customer is an active member (1 = Yes, 0 = No).
  • EstimatedSalary: Customer's estimated annual salary.
  • Exited: Target variable indicating if the customer has exited (1 = Yes, 0 = No).

Project Structure

  • data/: Contains the dataset.
  • notebooks/: Jupyter notebooks for data exploration and model development.
  • src/: Source code for data preprocessing, model training, and evaluation.
  • models/: Saved models and results.
  • README.md: Project documentation.

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/customer-churn-prediction.git
    cd customer-churn-prediction
  2. Install the required packages:

    pip install -r requirements.txt

Usage

  1. Data Preprocessing: Run the preprocessing script to clean and prepare the data.

    python src/preprocess.py
  2. Model Training: Train the models using the training script.

    python src/train.py
  3. Evaluation: Evaluate the models and view the results.

    python src/evaluate.py

Results

  • KNN: Accuracy - 83%, ROC-AUC - 0.90
  • Naive Bayes: Accuracy - 76%, ROC-AUC - 0.84
  • SVM: Accuracy - 88%, ROC-AUC - 0.95
  • Decision Tree: Accuracy - 82%, ROC-AUC - 0.82

Conclusion

The SVM model performed the best, with the highest accuracy and ROC-AUC score. Further improvements can be made through hyperparameter tuning and feature engineering.

Contributing

Contributions are welcome! Please fork the repository and submit a pull request for any improvements or bug fixes.

License

This project is licensed under the MIT License.

Contact

For any questions or feedback, please contact [your email].


Feel free to customize this template to fit your specific project details and preferences!

About

This project aims to predict customer churn using machine learning techniques. By analyzing customer data, the model identifies patterns and predicts which customers are likely to leave the service.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published