A project on fraud analysis of insurance claims.
- Python3
- mimesis 4.1.2 (elizabeth is no longer available)
- faker 5.0.1
- matplotlib 3.2.0
- numpy 1.19.1
- pandas 1.1.5
- sklearn 0.0
- pydotplus 2.0.2
- openpyxl 3.0.5
- Grahviz
- Windows -> https://graphviz.org/download/
- Unix -> sudo apt-get install graphviz
Note: This repository isn't maintained often, use at your own discretion. Error handling was not a priority when scripting.
pip install -r requirements.txt
After the required packages are installed you can simply run the scripts from the phases below.
Create the database with meaningful random data.
python createDatabase.py
Cleaning invalid data/rows that does not meet a defined criteria. Fills in data using samples or a mean/median.
python cleaning.py
Exploratory Data Analysis - understand the data and data types as well as some statistics and graphing to see the distribution, correlation, anomalies and outliers of the data.
python eda.py
Privacy Preserving Data Mining - suppress, generalize, anatomization, perturbation, categorize, k-anonymity is done in order to preserve privacy so that sensitive attributes cannot identify a person without having the entire dataset. This makes the data safer in an instance the data is leaked, it makes it harder to impersonate someone.
python ppdm.py
Machine leaning was used to detect fraudulent insurance claims. This uses a simple decision tree classifier and was trained with 70/30 train/test ratio. The accuracy of the prediction was ~99% with 73117 training elements and 18280 testing elements. The tree can be seen in insurance.pdf
.
python machine_learning.py