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

https://github.com/nourayman10/servicecancellationpredictor

Service Cancellation Predictor Project
https://github.com/nourayman10/servicecancellationpredictor

cart-algorithm desisiontree id3-algorithm jupyter-notebook knn-algorithm logistic-regression pycharm-ide python3 svm-model tkinter-python

Last synced: 5 months ago
JSON representation

Service Cancellation Predictor Project

Awesome Lists containing this project

README

          

# ServiceCancellationPredictor
## About Project
Service cancellation is simply when customers leave doing business with an entity. 
It involves determining the possibility of customers stopping doing business with an entity. 
In other words, if a consumer has purchased a subscription to a particular service, we must determine the likelihood that the customer will leave or cancel the membership.
For many businesses, the ability to predict that a particular customer is at a high risk of cancelling service while there is still time to do something about it is crucial. 
whereas the company will attempt to provide some additional functionalities in order to keep the service.
In Machine Learning, foreseeing business-related actions is our core work, and for that we managed to predict user churn with an average accuracy of 78%.
and attractive UI for a better user experience.

Dataset Link: [Service Cancellation Dataset](https://drive.google.com/file/d/1PrE7kY9h8yTawg0Ul0Ij5RFjiSO0hdYk/view)

## Problem and Algorithms

Problem stipulated that based on 20 attributes and 7043 record we should make several models that predict whether a user will cancel his service or not
we applied 4 models :
* Decision Tree (ID3 / CART)
* Logistic Regression
* SVM
* KNN

Models consumed clean data which led to high accuracy:
| Model | Accuracy |
| --- | --- |
| Decision Tree(ID3) | 77.69% |
| Decision Tree(CART) | 74.2784% |
| Logistic Regression | 80.7109% |
| SVM | 79.18% |
| KNN | 74.48% |

## For GUI

### Splash Screen
![Splash Screen](https://github.com/NourAyman10/ServiceCancellationPredictor/blob/master/splashScreen.gif)

### Main Screen
#### Empty with no data
![empty inputs](https://github.com/NourAyman10/ServiceCancellationPredictor/blob/master/noData.png)
![inputs validation](https://github.com/NourAyman10/ServiceCancellationPredictor/blob/master/dataValidation.png)
![methodology validation](https://github.com/NourAyman10/ServiceCancellationPredictor/blob/master/noMethodology.png)
#### All data filled
![filled inputs](https://github.com/NourAyman10/ServiceCancellationPredictor/blob/master/inputsWithAllData.png)
![how to fill inputs](https://github.com/NourAyman10/ServiceCancellationPredictor/blob/master/toFillData.png)
#### When customer cancel service
![customer cancel service](https://github.com/NourAyman10/ServiceCancellationPredictor/blob/master/coustomerWillCancelService.png)
#### When customer keep service
![customer accept service](https://github.com/NourAyman10/ServiceCancellationPredictor/blob/master/customerWillKeepTheServices.png)
#### When train button pressed
![train model](https://github.com/NourAyman10/ServiceCancellationPredictor/blob/master/trainPhoto.png)
#### When test button pressed
![test model](https://github.com/NourAyman10/ServiceCancellationPredictor/blob/master/test_accuracy.png)
![test logistic regression model](https://github.com/NourAyman10/ServiceCancellationPredictor/blob/master/test_accuracy_logisticReg.png)
![show graphs](https://github.com/NourAyman10/ServiceCancellationPredictor/blob/master/showGraphs.png)

## Contributors
- [Mohamed-Samy26](https://github.com/Mohamed-Samy26)
- [RedBiscuits](https://github.com/RedBiscuits)
- [KareemHussen](https://github.com/KareemHussen)
- [NourAyman10](https://github.com/NourAyman10)
- [HaneenIbrahim2](https://github.com/HaneenIbrahim2)
- [OmarSherif2](https://github.com/OmarSherif2)
- [Abdelrhman-Sayed70](https://github.com/Abdelrhman-Sayed70)