main 401167c15672 cached
11 files
47.9 MB
589.8k tokens
7 symbols
1 requests
Download .txt
Showing preview only (994K chars total). Download the full file or copy to clipboard to get everything.
Repository: juniorcl/transaction-fraud-detection
Branch: main
Commit: 401167c15672
Files: 11
Total size: 47.9 MB

Directory structure:
gitextract_ql5qvdyw/

├── .gitignore
├── LICENSE
├── README.md
├── api/
│   ├── fraud/
│   │   └── Fraud.py
│   └── handler.py
├── data/
│   └── raw/
│       └── fraud_0.1origbase.csv
├── functions/
│   ├── minmaxscaler_cycle1.joblib
│   └── onehotencoder_cycle1.joblib
├── models/
│   └── model_cycle1.joblib
├── notebooks/
│   └── transaction-fraud-detection-cycle1.ipynb
└── requirements.txt

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
#  Usually these files are written by a python script from a template
#  before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# pipenv
#   According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
#   However, in case of collaboration, if having platform-specific dependencies or dependencies
#   having no cross-platform support, pipenv may install dependencies that don't work, or not
#   install all needed dependencies.
#Pipfile.lock

# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/


================================================
FILE: LICENSE
================================================
MIT License

Copyright (c) 2021 Clébio Oliveira Júnior

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


================================================
FILE: README.md
================================================
# Transaction Fraud Detection

A data science project to predict whether a transaction is a fraud or not.

<div align="center">
    <img alt="Transaction Fraud Detection" src="./reports/figures/high-angle-credit-card-with-hook-phishing.jpg" width="100%" height="300">
</div>

<br>

## 1.0 Business Problem

The Blocker Fraud Company is a company specialized in detecting fraud in financial transactions made through mobile devices. The company has a service called "Blocker Fraud" which guarantees the blocking of fraudulent transactions.

The business model of the company is of the Service type with the monetization made by the performance of the service provided, in other words, the user pays a fixed fee on the success in detecting fraud in the customer's transactions.

However, the Blocker Fraud Company is expanding in Brazil and to acquire customers more quickly, it has adopted a very aggressive strategy. The strategy works as follows:

1. The company will receive 25% of the value of each transaction truly detected as fraud;

1. The company will receive 5% of the value of each transaction detected as fraud, but the transaction is truly legitimate.

1. The company will return 100% of the value to the customer, for each transaction detected as legitimate, however the transaction is truly a fraud.

With this aggressive strategy, the company assumes the risks of failing to detect fraud and is remunerated for assertive fraud detection.

For the client, it is an excellent business to hire the Blocker Fraud Company. Although the fee charged is very high on success, 25%, the company reduces its costs with fraudulent transactions detected correctly and even the damage caused by an error in the anti-fraud service will be covered by the Blocker Fraud Company itself.

For the company, in addition to getting many customers with this risky strategy to guarantee reimbursement in the event of a failure to detect customer fraud, it depends only on the precision and accuracy of the models built by its Data Scientists, in other words, how much the more accurate the “Blocker Fraud” model, the greater the company's revenue. However, if the model has low accuracy, the company could have a huge loss.

## 2.0 Business Assumptions

Fraud prevention is the implementation of a strategy to detect fraudulent transactions or banking actions and prevent these actions from causing financial damage and the reputation of the client and the financial institution.

There are always financial frauds and They can happen through virtual and physical ways. So the investment in security has been increasing.

The losses caused by fraud can reach R\$ 1 billion - which corresponds to half the amount that institutions invest in technology systems aimed at information security every year, according to [Febraban's 2020 Banking Technology Survey](https://blog.simply.com.br/tecnologia-bancaria-2020/).

## 3.0 Solution Strategy

My solution to solve this problem will be the development of a data science project. This project will have a machine learning model which can predict whether a transaction is fraudulent or not.

**Step 01. Data Description:** In this first section the data will be collected and studied. The missing values will be threated or removed. Finally, a initial data description will carried out to know the data. Therefore some calculations of descriptive statistics will be made, such as kurtosis, skewness, media, fashion, median and standard desviation.

**Step 02. Feature Engineering:** In this section, a mind map will be created to assist the creation of the hypothesis and the creation of new features. These assumptions will help in exploratory data analysis and may improve the model scores.

**Step 03. Data Filtering:** Data filtering is used to remove columns or rows that are not part of the business. For example, columns with customer ID, hash code or rows with age that does not consist of human age.

**Step 04. Exploratory Data Analysis:** The exploratory data analysis section consists of univariate analysis, bivariate analysis and multivariate analysis to assist in understanding of the database. The hypothesis created in step 02 will be tested in the bivariate analysis.

**Step 05. Data Preparation:** In this fifth section, the data will be prepared for machine learning modeling. Therefore, they will be transformed to improve the learning of the machine learning model, thus they can be encoded, oversampled, subsampled or rescaled.

**Step 06. Feature Selection:** After the data preparation in this section algorithms, like Boruta, will select the best columns to be used for the training of the machine learning model. This reduces the dimensionality of the database and decreases the chances of overfiting.

**Step 07. Machine Learning Modeling:** Step 07 aims to train the machine learning algorithms and how they can predict the data. For validation the model is trained, validated and applied to cross validation to know the learning capacity of the model.

**Step 08. Hyparameter Fine Tuning:** Firstly selected the best model to be applied in the project, it's important to make a fine tuning of the parameters to improve its scores. The same model performance methods apllied in the step 07 are used.

**Step 09. Conclusions:** This is a conclusion stage which the generation capacity model is tested using unseen data. In addition, some business questions are answered to show the applicability of the model in the business context.

**Step 10. Model Deploy:** This is the final step of the data science project. So, in this step the flask api is created and the model and the functions are saved to be implemented in the api.

## 4.0 Top 3 Data Insights

* #### All the fraud amount is greater than 10.000.

    **TRUE:** The values are greater than 10.000. But it's important to note that the no-fraud values is greater than 100.000 also.

    ![hypothesis2](reports/figures/hypothesis2_cycle1.png)

* #### 60% of fraud transaction occours using cash-out-type method.

    **FALSE:** The fraud transaction occours in transfer and cash-out type. However they're almost the same value.

    ![hypothesis3](reports/figures/hypothesis3_cycle1.png)

* #### Values greater than 100.000 occours using transfers-type method.

    **FALSE:** The majority transactions occours in trasnfer-type, however transactions greater than 100.000 occour in cash-out and cash-in too.

    ![hypothesis4](reports/figures/hypothesis4_cycle1.png)

## 5.0 Machine Learning Applied

Here's all cross validation results of the machine learning models with their default parameters. The cross validation method is important to show the capacity of the model to learn.

#### Dummy Model

| Balanced Accuracy |  Precision  |    Recall   |      F1     |      Kappa     |
|:-----------------:|:-----------:|:-----------:|:-----------:|:--------------:|
|   0.499 +/- 0.0   | 0.0 +/- 0.0 | 0.0 +/- 0.0 | 0.0 +/- 0.0 | -0.001 +/- 0.0 |

#### Logistic Regression

| Balanced Accuracy |  Precision  |      Recall     |        F1       |      Kappa      |
|:-----------------:|:-----------:|:---------------:|:---------------:|:---------------:|
|  0.565 +/- 0.009  | 1.0 +/- 0.0 | 0.129 +/- 0.017 | 0.229 +/- 0.027 | 0.228 +/- 0.027 |

#### K Nearest Neighbors

| Balanced Accuracy |    Precision    |      Recall     |        F1       |      Kappa      |
|:-----------------:|:---------------:|:---------------:|:---------------:|:---------------:|
|  0.705 +/- 0.037  | 0.942 +/- 0.022 | 0.409 +/- 0.074 | 0.568 +/- 0.073 | 0.567 +/- 0.073 |

#### Support Vector Machine

| Balanced Accuracy |  Precision  |     Recall     |        F1        |      Kappa      |
|:-----------------:|:-----------:|:--------------:|:----------------:|:---------------:|
|  0.595 +/- 0.013  | 1.0 +/- 0.0 | 0.19 +/- 0.026 | 0.319 +/- 0.0373 | 0.319 +/- 0.037 |

#### Random Forest

| Balanced Accuracy |    Precision    |      Recall     |        F1       |      Kappa      |
|:-----------------:|:---------------:|:---------------:|:---------------:|:---------------:|
|  0.865 +/- 0.017  | 0.972 +/- 0.014 | 0.731 +/- 0.033 | 0.834 +/- 0.022 | 0.833 +/- 0.022 |

#### XGBoost

| Balanced Accuracy |    Precision    |      Recall     |       F1       |      Kappa     |
|:-----------------:|:---------------:|:---------------:|:--------------:|:--------------:|
|   0.88 +/- 0.016  | 0.963 +/- 0.008 | 0.761 +/- 0.033 | 0.85 +/- 0.023 | 0.85 +/- 0.023 |

#### LightGBM

| Balanced Accuracy |   Precision  |      Recall     |        F1       |      Kappa      |
|:-----------------:|:------------:|:---------------:|:---------------:|:---------------:|
|  0.701 +/- 0.089  | 0.18 +/- 0.1 | 0.407 +/- 0.175 | 0.241 +/- 0.128 | 0.239 +/- 0.129 |

## 6.0 Machine Learning Performance

The chosen model was **XGBoost** and it was tuned to improve their parameters and scores. Below there's a table with the capacity of the model to learn.

| Balanced Accuracy |    Precision    |      Recall     |        F1       |      Kappa      |
|:-----------------:|:---------------:|:---------------:|:---------------:|:---------------:|
|  0.881 +/- 0.017  | 0.963 +/- 0.007 | 0.763 +/- 0.035 | 0.851 +/- 0.023 | 0.851 +/- 0.023 |

It's possible to determinize the capacity of the model to generalize using unseen data. In other words, capcity of the model to classify new data as shown.

| Balanced Accuracy | Precision | Recall |   F1  | Kappa |
|:-----------------:|:---------:|:------:|:-----:|:-----:|
|       0.915       |   0.944   |  0.829 | 0.883 | 0.883 |

## 7.0 Business Results

* #### The company receives 25% of each transaction value truly detected as fraud.

    The company can receive R\$ 60,613,782.88 detecting fraud transactions.

* #### The company receives 5% of each transaction value detected as fraud, however the transaction is legitimate.

    For wrong decisions, the company can receive R\$ 183,866.98.

* #### The company gives back 100% of the value for the customer in each transaction detected as legitimate, however the transaction is actually a fraud.

    The company must return the amount of R\$ 3,546,075.42.

* #### What is the model's Precision and Accuracy?

    For unseen data, the values of balanced accuracy is equal 91.5% and precision is equal 94.4%.

* #### How reliable is the model in classifying transactions as legitimate or fraudulent?

    The model can detect 76.3% +/- 3.5% of the fraud. However it detected 0.829 of the frauds from a unseen data.

* #### What is the revenue expected by the company classify 100% of transactions with the model?

    Using the model the company can revenue R\$ 60,797,649.86. Using the currently method to detect fraud the revenue is 0.00.

* #### What is the loss expected by the Company if it classifies 100% of the transactions with the model?

    For wrong classifications the company must return the amount of R\$ 3,546,075.42. In contrast, for wrong classifications using the currently method, the company must return the amount of R\$ 246,001,206.94.

* #### What is the profit expected by the blocker fraud company when using the model?

    The company can expect the profit of R\$ 57,251,574.44. The profit value of the currently method is R\$ -246,001,206.94.

## 8.0 Conclusions

The data is extremaly unbalanced, however it was possible to make all the data analysis and create with good scores.

The company may expect a revenue of R\$ 57,251,574.44. This result may show the capacity of a project of data science and help the company.

## 9.0 Lessons Learned

* Even when the classes are unbalanced, it's possible to create a model with good scores.

* It is possible to create a model that can classify classes with less than 1% of samples.

## 10.0 Next Steps

* Test at most more 10 hypothesis.

* Implement oversampling or subsampling techiniques to improve the model scores.

* Implement the api on the heroku plataform.

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details


================================================
FILE: api/fraud/Fraud.py
================================================
import joblib
import inflection
import pandas as pd

class Fraud:
    
    def __init__(self):
        self.minmaxscaler = joblib.load('../parameters/minmaxscaler_cycle1.joblib')
        self.onehotencoder = joblib.load('../parameters/onehotencoder_cycle1.joblib')
        
    def data_cleaning(self, df1):
        cols_old = df1.columns.tolist()
        
        snakecase = lambda i: inflection.underscore(i)
        cols_new = list(map(snakecase, cols_old))
        
        df1.columns = cols_new
        
        return df1
    
    def feature_engineering(self, df2):
        # step
        df2['step_days'] = df2['step'].apply(lambda i: i/24)
        df2['step_weeks'] = df2['step'].apply(lambda i: i/(24*7))

        # difference between initial balance before the transaction and new balance after the transaction
        df2['diff_new_old_balance'] = df2['newbalance_orig'] - df2['oldbalance_org']

        # difference between initial balance recipient before the transaction and new balance recipient after the transaction.
        df2['diff_new_old_destiny'] = df2['newbalance_dest'] - df2['oldbalance_dest']

        # name orig and name dest
        df2['name_orig'] = df2['name_orig'].apply(lambda i: i[0])
        df2['name_dest'] = df2['name_dest'].apply(lambda i: i[0])
        
        return df2.drop(columns=['name_orig', 'name_dest', 
                      'step_weeks', 'step_days'], axis=1)
    
    def data_preparation(self, df3):
        # OneHotEncoder
        df3 = self.onehotencoder.transform(df3)

        # Rescaling 
        num_columns = ['amount', 'oldbalance_org', 'newbalance_orig', 'oldbalance_dest', 
                       'newbalance_dest', 'diff_new_old_balance', 'diff_new_old_destiny']
        df3[num_columns] = self.minmaxscaler.transform(df3[num_columns])
        
        # selected columns
        final_columns_selected = ['step', 'oldbalance_org', 'newbalance_orig', 'newbalance_dest', 
                                  'diff_new_old_balance', 'diff_new_old_destiny', 'type_TRANSFER']
        return df3[final_columns_selected]
    
    def get_prediction(self, model, original_data, test_data):
        pred = model.predict(test_data)
        original_data['prediction'] = pred
        
        return original_data.to_json(orient="records", date_format="iso")

================================================
FILE: api/handler.py
================================================
import joblib
import pandas as pd
from fraud.Fraud import Fraud
from flask import Flask, request, Response

# loading model
model = joblib.load('../models/model_cycle1.joblib')

# initialize API
app = Flask(__name__)

@app.route('/fraud/predict', methods=['POST'])
def churn_predict():
    test_json = request.get_json()
   
    if test_json: # there is data
        if isinstance(test_json, dict): # unique example
            test_raw = pd.DataFrame(test_json, index=[0])
            
        else: # multiple example
            test_raw = pd.DataFrame(test_json, columns=test_json[0].keys())
            
        # Instantiate Rossmann class
        pipeline = Fraud()
        
        # data cleaning
        df1 = pipeline.data_cleaning(test_raw)
        
        # feature engineering
        df2 = pipeline.feature_engineering(df1)
        
        # data preparation
        df3 = pipeline.data_preparation(df2)
        
        # prediction
        df_response = pipeline.get_prediction(model, test_raw, df3)
        
        return df_response
        
        
    else:
        return Reponse('{}', status=200, mimetype='application/json')

if __name__ == '__main__':
    app.run('0.0.0.0') 


================================================
FILE: data/raw/fraud_0.1origbase.csv
================================================
[File too large to display: 47.0 MB]

================================================
FILE: notebooks/transaction-fraud-detection-cycle1.ipynb
================================================
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "# i. Business Understanding"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true,
    "hidden": true
   },
   "source": [
    "## i.i Blocker Fraud Company"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "* The Blocker Fraud Company is a company specialized in detecting fraud in financial transactions made through mobile devices. The company has a service called “Blocker Fraud” with no guarantee of blocking fraudulent transactions.\n",
    "\n",
    "* And the business model of the company is of the Service type with the monetization made by the performance of the service provided, that is, the user pays a fixed fee on the success in detecting fraud in the customer's transactions."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "### i.i.i Expansion Problem"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "Blocker Fraud Company is expanding in Brazil and to acquire customers more quickly, it has adopted a very aggressive strategy. The strategy works as follows:\n",
    "1. The company will receive 25% of the value of each transaction that is truly detected as fraud.\n",
    "1. The company will receive 5% of the value of each transaction detected as fraud, but the transaction is truly legitimate.\n",
    "1. The company will return 100% of the value to the customer, for each transaction detected as legitimate, however the transaction is truly a fraud."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true,
    "hidden": true
   },
   "source": [
    "## i.ii The Challenge"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "You need to deliver to the CEO of Blocker Fraud Company a production model in which your access will be done via API, that is, customers will send their transactions via API so that your model classifies them as fraudulent or legitimate."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "### i.ii.i Business Questions"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "1. What is the model's Precision and Accuracy?\n",
    "1. How Reliable is the model in classifying transactions as legitimate or fraudulent?\n",
    "1. What is the Expected Billing by the Company if we classify 100% of transactions with the model?\n",
    "1. What is the Loss Expected by the Company in case of model failure?\n",
    "1. What is the Profit Expected by the Blocker Fraud Company when using the model?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "# 0.0 Imports and Helper Functions"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "## 0.1 Imports"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 229,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-01-11T18:47:33.819432Z",
     "start_time": "2021-01-11T18:47:33.805991Z"
    },
    "hidden": true
   },
   "outputs": [],
   "source": [
    "import joblib\n",
    "import warnings\n",
    "import inflection\n",
    "\n",
    "import numpy             as np\n",
    "import pandas            as pd\n",
    "import seaborn           as sns\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "from scipy   import stats\n",
    "from boruta  import BorutaPy\n",
    "from category_encoders import OneHotEncoder\n",
    "\n",
    "from IPython.display      import Image\n",
    "from IPython.core.display import HTML \n",
    "\n",
    "from xgboost  import XGBClassifier\n",
    "from lightgbm import LGBMClassifier\n",
    "\n",
    "from sklearn.svm          import SVC\n",
    "from sklearn.dummy        import DummyClassifier\n",
    "from sklearn.ensemble     import RandomForestClassifier\n",
    "from sklearn.neighbors    import KNeighborsClassifier\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "\n",
    "from sklearn.metrics         import balanced_accuracy_score, precision_score, classification_report\n",
    "from sklearn.metrics         import recall_score, f1_score, make_scorer, cohen_kappa_score\n",
    "from sklearn.preprocessing   import MinMaxScaler\n",
    "from sklearn.model_selection import GridSearchCV, train_test_split, StratifiedKFold"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "## 0.2 Helper Functions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 230,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-01-11T18:47:34.604129Z",
     "start_time": "2021-01-11T18:47:34.599974Z"
    },
    "hidden": true
   },
   "outputs": [],
   "source": [
    "warnings.filterwarnings('ignore')\n",
    "\n",
    "seed = 42\n",
    "np.random.seed(seed)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 231,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-01-11T18:47:34.811059Z",
     "start_time": "2021-01-11T18:47:34.792000Z"
    },
    "hidden": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Populating the interactive namespace from numpy and matplotlib\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<style>.container { width:100% !important; }</style>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def jupyter_settings():\n",
    "    %matplotlib inline\n",
    "    %pylab inline\n",
    "    \n",
    "    sns.set(font_scale=1.6)\n",
    "    \n",
    "    plt.style.use('seaborn-darkgrid')\n",
    "    plt.rcParams['figure.figsize'] = [25, 12]\n",
    "    plt.rcParams['font.size'] = 16\n",
    "    \n",
    "    display( HTML('<style>.container { width:100% !important; }</style>'))\n",
    "    pd.options.display.max_columns = None\n",
    "    pd.options.display.max_rows = None\n",
    "    pd.set_option('display.expand_frame_repr', False)\n",
    "    \n",
    "jupyter_settings()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 232,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-01-11T18:47:35.035622Z",
     "start_time": "2021-01-11T18:47:35.024369Z"
    },
    "hidden": true
   },
   "outputs": [],
   "source": [
    "def ml_scores(model_name, y_true, y_pred):\n",
    "    \n",
    "    accuracy = balanced_accuracy_score(y_true, y_pred)\n",
    "    precision = precision_score(y_true, y_pred)\n",
    "    recall = recall_score(y_true, y_pred)\n",
    "    f1 = f1_score(y_true, y_pred)\n",
    "    kappa = cohen_kappa_score(y_true, y_pred)\n",
    "    \n",
    "    return pd.DataFrame({'Balanced Accuracy': np.round(accuracy, 3), \n",
    "                         'Precision': np.round(precision, 3), \n",
    "                         'Recall': np.round(recall, 3),\n",
    "                         'F1': np.round(f1, 3),\n",
    "                         'Kappa': np.round(kappa, 3)}, \n",
    "                        index=[model_name])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 233,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-01-11T18:47:35.233972Z",
     "start_time": "2021-01-11T18:47:35.222569Z"
    },
    "hidden": true
   },
   "outputs": [],
   "source": [
    "def calcCramerV(x, y):\n",
    "    cm = pd.crosstab(x, y).values\n",
    "    n = cm.sum()\n",
    "    r, k = cm.shape\n",
    "    \n",
    "    chi2 = stats.chi2_contingency(cm)[0]\n",
    "    chi2corr = max(0, chi2 - (k-1)*(r-1)/(n-1))\n",
    "    \n",
    "    kcorr = k - (k-1)**2/(n-1)\n",
    "    rcorr = r - (r-1)**2/(n-1)\n",
    "    \n",
    "    return np.sqrt((chi2corr/n) / (min(kcorr-1, rcorr-1)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 234,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-01-11T18:47:35.431569Z",
     "start_time": "2021-01-11T18:47:35.406476Z"
    },
    "hidden": true
   },
   "outputs": [],
   "source": [
    "def ml_cv_results(model_name, model, x, y, verbose=1):\n",
    "    \n",
    "    '''initial'''\n",
    "    balanced_accuracies = []\n",
    "    precisions = []\n",
    "    recalls = []\n",
    "    f1s = []\n",
    "    kappas = []\n",
    "    \n",
    "    mm = MinMaxScaler()\n",
    "    \n",
    "    x_ = x.to_numpy()\n",
    "    y_ = y.to_numpy()\n",
    "    \n",
    "    count = 0\n",
    "    \n",
    "    '''cross-validation'''\n",
    "    skf = StratifiedKFold(n_splits=5, shuffle=True)\n",
    "    \n",
    "    for index_train, index_test in skf.split(x_, y_):\n",
    "        ## Showing the Fold\n",
    "        if verbose > 0:\n",
    "            count += 1\n",
    "            print('Fold K=%i' % (count))\n",
    "    \n",
    "        ## selecting train and test\n",
    "        x_train, x_test = x.iloc[index_train], x.iloc[index_test]\n",
    "        y_train, y_test = y.iloc[index_train], y.iloc[index_test]\n",
    "        \n",
    "        ## applying the scale\n",
    "        x_train = mm.fit_transform(x_train)\n",
    "        x_test = mm.transform(x_test)\n",
    "    \n",
    "        ## training the model\n",
    "        model.fit(x_train, y_train)\n",
    "        y_pred = model.predict(x_test)\n",
    "\n",
    "        ## saving the metrics\n",
    "        balanced_accuracies.append(balanced_accuracy_score(y_test, y_pred))\n",
    "        precisions.append(precision_score(y_test, y_pred))\n",
    "        recalls.append(recall_score(y_test, y_pred))\n",
    "        f1s.append(f1_score(y_test, y_pred))\n",
    "        kappas.append(cohen_kappa_score(y_test, y_pred))\n",
    "        \n",
    "        \n",
    "    '''results'''    \n",
    "    accuracy_mean, accuracy_std = np.round(np.mean(balanced_accuracies), 3), np.round(np.std(balanced_accuracies), 3)\n",
    "    precision_mean, precision_std = np.round(np.mean(precisions), 3), np.round(np.std(precisions), 3)\n",
    "    recall_mean, recall_std = np.round(np.mean(recalls), 3), np.round(np.std(recalls), 3)\n",
    "    f1_mean, f1_std = np.round(np.mean(f1s), 3), np.round(np.std(f1s), 3)\n",
    "    kappa_mean, kappa_std = np.round(np.mean(kappas), 3), np.round(np.std(kappas), 3)\n",
    "    \n",
    "    ## saving the results in a dataframe\n",
    "    return pd.DataFrame({\"Balanced Accuracy\": \"{} +/- {}\".format(accuracy_mean, accuracy_std),\n",
    "                        \"Precision\": \"{} +/- {}\".format(precision_mean, precision_std),\n",
    "                        \"Recall\": \"{} +/- {}\".format(recall_mean, recall_std),\n",
    "                        \"F1\": \"{} +/- {}\".format(f1_mean, f1_std),\n",
    "                        \"Kappa\": \"{} +/- {}\".format(kappa_mean, kappa_std)},\n",
    "                       index=[model_name])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "# 1.0 Data Description"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "## 1.1 Loading Data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 235,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-01-11T18:47:37.450936Z",
     "start_time": "2021-01-11T18:47:36.044298Z"
    },
    "hidden": true
   },
   "outputs": [],
   "source": [
    "df1 = pd.read_csv('../database/fraud_0.1origbase.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 236,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-01-11T18:47:37.474072Z",
     "start_time": "2021-01-11T18:47:37.453989Z"
    },
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>step</th>\n",
       "      <th>type</th>\n",
       "      <th>amount</th>\n",
       "      <th>nameOrig</th>\n",
       "      <th>oldbalanceOrg</th>\n",
       "      <th>newbalanceOrig</th>\n",
       "      <th>nameDest</th>\n",
       "      <th>oldbalanceDest</th>\n",
       "      <th>newbalanceDest</th>\n",
       "      <th>isFraud</th>\n",
       "      <th>isFlaggedFraud</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>283</td>\n",
       "      <td>CASH_IN</td>\n",
       "      <td>210329.84</td>\n",
       "      <td>C1159819632</td>\n",
       "      <td>3778062.79</td>\n",
       "      <td>3988392.64</td>\n",
       "      <td>C1218876138</td>\n",
       "      <td>1519266.60</td>\n",
       "      <td>1308936.76</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>132</td>\n",
       "      <td>CASH_OUT</td>\n",
       "      <td>215489.19</td>\n",
       "      <td>C1372369468</td>\n",
       "      <td>21518.00</td>\n",
       "      <td>0.00</td>\n",
       "      <td>C467105520</td>\n",
       "      <td>6345756.55</td>\n",
       "      <td>6794954.89</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>355</td>\n",
       "      <td>DEBIT</td>\n",
       "      <td>4431.05</td>\n",
       "      <td>C1059822709</td>\n",
       "      <td>20674.00</td>\n",
       "      <td>16242.95</td>\n",
       "      <td>C76588246</td>\n",
       "      <td>80876.56</td>\n",
       "      <td>85307.61</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>135</td>\n",
       "      <td>CASH_OUT</td>\n",
       "      <td>214026.20</td>\n",
       "      <td>C1464960643</td>\n",
       "      <td>46909.73</td>\n",
       "      <td>0.00</td>\n",
       "      <td>C1059379810</td>\n",
       "      <td>13467450.36</td>\n",
       "      <td>13681476.56</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>381</td>\n",
       "      <td>CASH_OUT</td>\n",
       "      <td>8858.45</td>\n",
       "      <td>C831134427</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.00</td>\n",
       "      <td>C579876929</td>\n",
       "      <td>1667180.58</td>\n",
       "      <td>1676039.03</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   step      type     amount     nameOrig  oldbalanceOrg  newbalanceOrig     nameDest  oldbalanceDest  newbalanceDest  isFraud  isFlaggedFraud\n",
       "0   283   CASH_IN  210329.84  C1159819632     3778062.79      3988392.64  C1218876138      1519266.60      1308936.76        0               0\n",
       "1   132  CASH_OUT  215489.19  C1372369468       21518.00            0.00   C467105520      6345756.55      6794954.89        0               0\n",
       "2   355     DEBIT    4431.05  C1059822709       20674.00        16242.95    C76588246        80876.56        85307.61        0               0\n",
       "3   135  CASH_OUT  214026.20  C1464960643       46909.73            0.00  C1059379810     13467450.36     13681476.56        0               0\n",
       "4   381  CASH_OUT    8858.45   C831134427           0.00            0.00   C579876929      1667180.58      1676039.03        0               0"
      ]
     },
     "execution_count": 236,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df1.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 237,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-01-11T18:47:37.491715Z",
     "start_time": "2021-01-11T18:47:37.476639Z"
    },
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>step</th>\n",
       "      <th>type</th>\n",
       "      <th>amount</th>\n",
       "      <th>nameOrig</th>\n",
       "      <th>oldbalanceOrg</th>\n",
       "      <th>newbalanceOrig</th>\n",
       "      <th>nameDest</th>\n",
       "      <th>oldbalanceDest</th>\n",
       "      <th>newbalanceDest</th>\n",
       "      <th>isFraud</th>\n",
       "      <th>isFlaggedFraud</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>636257</th>\n",
       "      <td>351</td>\n",
       "      <td>CASH_OUT</td>\n",
       "      <td>28761.10</td>\n",
       "      <td>C742050657</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>C568407561</td>\n",
       "      <td>328534.52</td>\n",
       "      <td>357295.62</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>636258</th>\n",
       "      <td>184</td>\n",
       "      <td>CASH_OUT</td>\n",
       "      <td>167820.71</td>\n",
       "      <td>C561181412</td>\n",
       "      <td>62265.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>C1852953580</td>\n",
       "      <td>106429.48</td>\n",
       "      <td>274250.18</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>636259</th>\n",
       "      <td>35</td>\n",
       "      <td>PAYMENT</td>\n",
       "      <td>8898.12</td>\n",
       "      <td>C1773417333</td>\n",
       "      <td>30808.0</td>\n",
       "      <td>21909.88</td>\n",
       "      <td>M445701551</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>636260</th>\n",
       "      <td>277</td>\n",
       "      <td>CASH_OUT</td>\n",
       "      <td>176147.90</td>\n",
       "      <td>C1423233247</td>\n",
       "      <td>83669.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>C1328739120</td>\n",
       "      <td>0.00</td>\n",
       "      <td>176147.90</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>636261</th>\n",
       "      <td>304</td>\n",
       "      <td>CASH_OUT</td>\n",
       "      <td>95142.89</td>\n",
       "      <td>C874575079</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>C666451134</td>\n",
       "      <td>431380.07</td>\n",
       "      <td>526522.96</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        step      type     amount     nameOrig  oldbalanceOrg  newbalanceOrig     nameDest  oldbalanceDest  newbalanceDest  isFraud  isFlaggedFraud\n",
       "636257   351  CASH_OUT   28761.10   C742050657            0.0            0.00   C568407561       328534.52       357295.62        0               0\n",
       "636258   184  CASH_OUT  167820.71   C561181412        62265.0            0.00  C1852953580       106429.48       274250.18        0               0\n",
       "636259    35   PAYMENT    8898.12  C1773417333        30808.0        21909.88   M445701551            0.00            0.00        0               0\n",
       "636260   277  CASH_OUT  176147.90  C1423233247        83669.0            0.00  C1328739120            0.00       176147.90        0               0\n",
       "636261   304  CASH_OUT   95142.89   C874575079            0.0            0.00   C666451134       431380.07       526522.96        0               0"
      ]
     },
     "execution_count": 237,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df1.tail()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "## 1.2 Columns"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "### 1.2.1 Column Descriptions"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "**step:** maps a unit of time in the real world. In this case 1 step is 1 hour of time. Total steps 744 (30 days simulation).\n",
    "\n",
    "**type:** CASH-IN, CASH-OUT, DEBIT, PAYMENT and TRANSFER.\n",
    "\n",
    "**amount:** amount of the transaction in local currency.\n",
    "\n",
    "**nameOrig:** customer who started the transaction\n",
    "\n",
    "**oldbalanceOrg:** initial balance before the transaction\n",
    "\n",
    "**newbalanceOrig:** new balance after the transaction\n",
    "\n",
    "**nameDest:** customer who is the recipient of the transaction\n",
    "\n",
    "**oldbalanceDest:** initial balance recipient before the transaction. Note that there is not information for customers that start with M (Merchants).\n",
    "\n",
    "**newbalanceDest:** new balance recipient after the transaction. Note that there is not information for customers that start with M (Merchants).\n",
    "\n",
    "**isFraud:** This is the transactions made by the fraudulent agents inside the simulation. In this specific dataset the fraudulent behavior of the agents aims to profit by taking control or customers accounts and try to empty the funds by transferring to another account and then cashing out of the system.\n",
    "\n",
    "**isFlaggedFraud:** The business model aims to control massive transfers from one account to another and flags illegal attempts. An illegal attempt in this dataset is an attempt to transfer more than 200.000 in a single transaction."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-12-12T21:31:42.617142Z",
     "start_time": "2020-12-12T21:31:42.609502Z"
    },
    "hidden": true
   },
   "source": [
    "### 1.2.2 Column Rename"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 238,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-01-11T18:47:37.498900Z",
     "start_time": "2021-01-11T18:47:37.494994Z"
    },
    "hidden": true
   },
   "outputs": [],
   "source": [
    "cols_old = df1.columns.tolist()\n",
    "\n",
    "snakecase = lambda x: inflection.underscore(x)\n",
    "cols_new = list(map(snakecase, cols_old))\n",
    "\n",
    "df1.columns = cols_new"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 239,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-01-11T18:47:37.505663Z",
     "start_time": "2021-01-11T18:47:37.501235Z"
    },
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['step', 'type', 'amount', 'name_orig', 'oldbalance_org',\n",
       "       'newbalance_orig', 'name_dest', 'oldbalance_dest', 'newbalance_dest',\n",
       "       'is_fraud', 'is_flagged_fraud'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 239,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df1.columns"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "## 1.3 Data Dimension"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 240,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-01-11T18:47:37.851622Z",
     "start_time": "2021-01-11T18:47:37.847980Z"
    },
    "hidden": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Rows: 636262\n",
      "Number of Cols: 11\n"
     ]
    }
   ],
   "source": [
    "print('Number of Rows: {}'.format(df1.shape[0]))\n",
    "print('Number of Cols: {}'.format(df1.shape[1]))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "## 1.4 Data Types and Structure"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 241,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-01-11T18:47:38.334664Z",
     "start_time": "2021-01-11T18:47:38.201896Z"
    },
    "hidden": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 636262 entries, 0 to 636261\n",
      "Data columns (total 11 columns):\n",
      " #   Column            Non-Null Count   Dtype  \n",
      "---  ------            --------------   -----  \n",
      " 0   step              636262 non-null  int64  \n",
      " 1   type              636262 non-null  object \n",
      " 2   amount            636262 non-null  float64\n",
      " 3   name_orig         636262 non-null  object \n",
      " 4   oldbalance_org    636262 non-null  float64\n",
      " 5   newbalance_orig   636262 non-null  float64\n",
      " 6   name_dest         636262 non-null  object \n",
      " 7   oldbalance_dest   636262 non-null  float64\n",
      " 8   newbalance_dest   636262 non-null  float64\n",
      " 9   is_fraud          636262 non-null  int64  \n",
      " 10  is_flagged_fraud  636262 non-null  int64  \n",
      "dtypes: float64(5), int64(3), object(3)\n",
      "memory usage: 53.4+ MB\n"
     ]
    }
   ],
   "source": [
    "df1.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "## 1.5 Check NA"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 242,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-01-11T18:47:38.655459Z",
     "start_time": "2021-01-11T18:47:38.542451Z"
    },
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "step                0.0\n",
       "type                0.0\n",
       "amount              0.0\n",
       "name_orig           0.0\n",
       "oldbalance_org      0.0\n",
       "newbalance_orig     0.0\n",
       "name_dest           0.0\n",
       "oldbalance_dest     0.0\n",
       "newbalance_dest     0.0\n",
       "is_fraud            0.0\n",
       "is_flagged_fraud    0.0\n",
       "dtype: float64"
      ]
     },
     "execution_count": 242,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df1.isna().mean()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "## 1.6 Fill Out NA"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "There's no NaN values to fill."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "## 1.7 Change Data Type"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    " I will change the values 0 and 1 to 'yes' and 'no'. It'll help on the data description and analysis sections."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 243,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-01-11T18:47:39.517461Z",
     "start_time": "2021-01-11T18:47:39.450119Z"
    },
    "hidden": true
   },
   "outputs": [],
   "source": [
    "df1['is_fraud'] = df1['is_fraud'].map({1: 'yes', 0: 'no'})\n",
    "df1['is_flagged_fraud'] = df1['is_flagged_fraud'].map({1: 'yes', 0: 'no'})"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "## 1.8 Description Statistics"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 244,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-01-11T18:47:39.985703Z",
     "start_time": "2021-01-11T18:47:39.840317Z"
    },
    "hidden": true
   },
   "outputs": [],
   "source": [
    "num_attributes = df1.select_dtypes(exclude='object')\n",
    "cat_attributes = df1.select_dtypes(include='object')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "### 1.8.1 Numerical Attributes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 245,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-01-11T18:47:40.716577Z",
     "start_time": "2021-01-11T18:47:40.217657Z"
    },
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "      <th>range</th>\n",
       "      <th>variation coefficient</th>\n",
       "      <th>skew</th>\n",
       "      <th>kurtosis</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>step</th>\n",
       "      <td>636262.0</td>\n",
       "      <td>2.429319e+02</td>\n",
       "      <td>1.423309e+02</td>\n",
       "      <td>1.0</td>\n",
       "      <td>155.000</td>\n",
       "      <td>238.000</td>\n",
       "      <td>3.340000e+02</td>\n",
       "      <td>7.420000e+02</td>\n",
       "      <td>7.410000e+02</td>\n",
       "      <td>0.585888</td>\n",
       "      <td>0.375052</td>\n",
       "      <td>0.324437</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>amount</th>\n",
       "      <td>636262.0</td>\n",
       "      <td>1.800585e+05</td>\n",
       "      <td>6.069714e+05</td>\n",
       "      <td>0.0</td>\n",
       "      <td>13407.425</td>\n",
       "      <td>74815.770</td>\n",
       "      <td>2.084988e+05</td>\n",
       "      <td>5.722962e+07</td>\n",
       "      <td>5.722962e+07</td>\n",
       "      <td>3.370967</td>\n",
       "      <td>29.577107</td>\n",
       "      <td>1546.661043</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>oldbalance_org</th>\n",
       "      <td>636262.0</td>\n",
       "      <td>8.317937e+05</td>\n",
       "      <td>2.885636e+06</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000</td>\n",
       "      <td>14239.000</td>\n",
       "      <td>1.072998e+05</td>\n",
       "      <td>4.368662e+07</td>\n",
       "      <td>4.368662e+07</td>\n",
       "      <td>3.469173</td>\n",
       "      <td>5.243428</td>\n",
       "      <td>32.766036</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>newbalance_orig</th>\n",
       "      <td>636262.0</td>\n",
       "      <td>8.528354e+05</td>\n",
       "      <td>2.921296e+06</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>1.435652e+05</td>\n",
       "      <td>4.367380e+07</td>\n",
       "      <td>4.367380e+07</td>\n",
       "      <td>3.425393</td>\n",
       "      <td>5.173614</td>\n",
       "      <td>31.932547</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>oldbalance_dest</th>\n",
       "      <td>636262.0</td>\n",
       "      <td>1.096212e+06</td>\n",
       "      <td>3.375389e+06</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000</td>\n",
       "      <td>131539.745</td>\n",
       "      <td>9.384820e+05</td>\n",
       "      <td>3.551855e+08</td>\n",
       "      <td>3.551855e+08</td>\n",
       "      <td>3.079138</td>\n",
       "      <td>20.622388</td>\n",
       "      <td>1074.335293</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>newbalance_dest</th>\n",
       "      <td>636262.0</td>\n",
       "      <td>1.221809e+06</td>\n",
       "      <td>3.656213e+06</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000</td>\n",
       "      <td>214712.725</td>\n",
       "      <td>1.109230e+06</td>\n",
       "      <td>3.555534e+08</td>\n",
       "      <td>3.555534e+08</td>\n",
       "      <td>2.992460</td>\n",
       "      <td>19.623903</td>\n",
       "      <td>928.694204</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                    count          mean           std  min        25%         50%           75%           max         range  variation coefficient       skew     kurtosis\n",
       "step             636262.0  2.429319e+02  1.423309e+02  1.0    155.000     238.000  3.340000e+02  7.420000e+02  7.410000e+02               0.585888   0.375052     0.324437\n",
       "amount           636262.0  1.800585e+05  6.069714e+05  0.0  13407.425   74815.770  2.084988e+05  5.722962e+07  5.722962e+07               3.370967  29.577107  1546.661043\n",
       "oldbalance_org   636262.0  8.317937e+05  2.885636e+06  0.0      0.000   14239.000  1.072998e+05  4.368662e+07  4.368662e+07               3.469173   5.243428    32.766036\n",
       "newbalance_orig  636262.0  8.528354e+05  2.921296e+06  0.0      0.000       0.000  1.435652e+05  4.367380e+07  4.367380e+07               3.425393   5.173614    31.932547\n",
       "oldbalance_dest  636262.0  1.096212e+06  3.375389e+06  0.0      0.000  131539.745  9.384820e+05  3.551855e+08  3.551855e+08               3.079138  20.622388  1074.335293\n",
       "newbalance_dest  636262.0  1.221809e+06  3.656213e+06  0.0      0.000  214712.725  1.109230e+06  3.555534e+08  3.555534e+08               2.992460  19.623903   928.694204"
      ]
     },
     "execution_count": 245,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "describe = num_attributes.describe().T\n",
    "\n",
    "describe['range'] = (num_attributes.max() - num_attributes.min()).tolist()\n",
    "describe['variation coefficient'] = (num_attributes.std() / num_attributes.mean()).tolist()\n",
    "describe['skew'] = num_attributes.skew().tolist()\n",
    "describe['kurtosis'] = num_attributes.kurtosis().tolist()\n",
    "\n",
    "describe"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "* All the data has a coeficient of variation greater than 25%, therefore they aren't homogeneous.\n",
    "\n",
    "* The step variable starts from 1 hour to 742 hour (30 days).\n",
    "\n",
    "* Some variables are higher shap and right skewed.\n",
    "\n",
    "* 50% of the newbalance_orig is 0. Maybe there are some transfers that don't go to the destination.\n",
    "\n",
    "* The skew is higher positive, therefore the values may be in less values."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "### 1.8.2 Categorical Attributes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 246,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-01-11T18:47:42.821513Z",
     "start_time": "2021-01-11T18:47:40.809829Z"
    },
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>type</th>\n",
       "      <th>name_orig</th>\n",
       "      <th>name_dest</th>\n",
       "      <th>is_fraud</th>\n",
       "      <th>is_flagged_fraud</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>636262</td>\n",
       "      <td>636262</td>\n",
       "      <td>636262</td>\n",
       "      <td>636262</td>\n",
       "      <td>636262</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>unique</th>\n",
       "      <td>5</td>\n",
       "      <td>636171</td>\n",
       "      <td>457224</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>top</th>\n",
       "      <td>CASH_OUT</td>\n",
       "      <td>C241218843</td>\n",
       "      <td>C2083562754</td>\n",
       "      <td>no</td>\n",
       "      <td>no</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>freq</th>\n",
       "      <td>224216</td>\n",
       "      <td>2</td>\n",
       "      <td>14</td>\n",
       "      <td>635441</td>\n",
       "      <td>636260</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            type   name_orig    name_dest is_fraud is_flagged_fraud\n",
       "count     636262      636262       636262   636262           636262\n",
       "unique         5      636171       457224        2                2\n",
       "top     CASH_OUT  C241218843  C2083562754       no               no\n",
       "freq      224216           2           14   635441           636260"
      ]
     },
     "execution_count": 246,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cat_attributes.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "* The majority type is cash_out with 2237500.\n",
    "\n",
    "* There's a lot of variability in name_orig, so it could be hard to use one hot encoding.\n",
    "\n",
    "* There's less name_orig than name_dest. There's more users sending than receiving, however use one hot encoding will not help.\n",
    "\n",
    "* There's more fraud than the flagged fraud, it shows that the current method can't recognize fraud efficiently."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "# 2.0 Feature Engineering"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 247,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-01-11T18:47:42.876765Z",
     "start_time": "2021-01-11T18:47:42.823469Z"
    },
    "hidden": true
   },
   "outputs": [],
   "source": [
    "df2 = df1.copy()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "## 2.1 Mind Map"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 248,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-01-11T18:47:42.884372Z",
     "start_time": "2021-01-11T18:47:42.878669Z"
    },
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "execution_count": 248,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Image('../images/Fraud-mindmap.png')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "## 2.2 Hypothesis Creation"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "### 2.2.1 User"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "* 90% of the twentyone-year-old users did a fraud transiction.\n",
    "\n",
    "* The majority fraud transiction occours for the same initial letter user.\n",
    "\n",
    "* The fraud amount is greater than 10.000.\n",
    "\n",
    "* The 60% of the age is greater than 30 year old."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "### 2.2.2 Type"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "* 60% of fraud transaction occours using cash-out-type method.\n",
    "\n",
    "* The majority transfers occours using tranfers-type method.\n",
    "\n",
    "* Values greater than 100.000 occours using transfers-type method.\n",
    "\n",
    "* Payment type occurs with values lower than 100.000"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "### 2.2.3 Origin and Destiny Transactions"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "* 60% of the difference between origin destiny transactions is equal 0 for frauds.\n",
    "\n",
    "* Origin values are greater than destiny values for fraud transaction."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "### 2.2.4 Time"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "* Fraud transactions occours at least in 3 days.\n",
    "\n",
    "* 40% of the cash-out transactions occours less than 1 day.\n",
    "\n",
    "* 60% of the transaction less than 100.000 occours at least 10 days.\n",
    "\n",
    "* The transactions greater than 10.000 occours at most in 2 weeks. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "## 2.3 Hipothesys List"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "1. The majority fraud transiction occours for the same initial letter user.\n",
    "\n",
    "1. All the fraud amount is greater than 10.000.\n",
    "\n",
    "1. 60% of fraud transaction occours using cash-out-type method.\n",
    "\n",
    "1. The majority transfers occours using tranfers-type method.\n",
    "\n",
    "1. Fraud transactions occours at least in 3 days."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "## 2.4 Feature Engineering"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 249,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-01-11T18:47:44.922596Z",
     "start_time": "2021-01-11T18:47:43.999043Z"
    },
    "hidden": true
   },
   "outputs": [],
   "source": [
    "# step\n",
    "df2['step_days'] = df2['step'].apply(lambda i: i/24)\n",
    "df2['step_weeks'] = df2['step'].apply(lambda i: i/(24*7))\n",
    "\n",
    "# difference between initial balance before the transaction and new balance after the transaction\n",
    "df2['diff_new_old_balance'] = df2['newbalance_orig'] - df2['oldbalance_org']\n",
    "\n",
    "# difference between initial balance recipient before the transaction and new balance recipient after the transaction.\n",
    "df2['diff_new_old_destiny'] = df2['newbalance_dest'] - df2['oldbalance_dest']\n",
    "\n",
    "# name orig and name dest\n",
    "df2['name_orig'] = df2['name_orig'].apply(lambda i: i[0])\n",
    "df2['name_dest'] = df2['name_dest'].apply(lambda i: i[0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "# 3.0 Selecting Columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 250,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-01-11T18:47:44.957038Z",
     "start_time": "2021-01-11T18:47:44.924834Z"
    },
    "hidden": true
   },
   "outputs": [],
   "source": [
    "df3 = df2.copy()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "## 3.1 Selecting Columns"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "I'll use all the columns for data analysis"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "## 3.2 Selecting Lines"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "I'll use all the lines."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "# 4.0 Exploratory Data Analisys"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 251,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-01-11T18:47:45.536329Z",
     "start_time": "2021-01-11T18:47:45.479614Z"
    },
    "hidden": true
   },
   "outputs": [],
   "source": [
    "df4 = df3.copy()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "## 4.1 Univariate Analysis"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "### 4.1.1 Response Variable"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 252,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-01-11T18:47:46.652434Z",
     "start_time": "2021-01-11T18:47:46.010096Z"
    },
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABbUAAALECAYAAAA/5d2mAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAA+dElEQVR4nO3debRe86H/8c9JcoJICBGJITVFQiSIJAhCDVfUJaRa1NQWLUqiqKnG69Y81Ny4V1pza6yfGJoYioarREtaBFVFEkMmCYnItH9/qHOdm4RGhnO+8nqtddby7P199vk+Z53v2nnenrN3TVVVVQAAAAAAoABNGnoCAAAAAADwrxK1AQAAAAAohqgNAAAAAEAxRG0AAAAAAIohagMAAAAAUAxRGwAAAACAYjRr6AksSbNmzc6kSdMaehpQrJVWamENwUKwhmDhWEOw8KwjWDjWECwca4gF0bZtq/nuW6o+qd2sWdOGngIUzRqChWMNwcKxhmDhWUewcKwhWDjWEIvKUhW1AQAAAAAom6gNAAAAAEAxRG0AAAAAAIohagMAAAAAUAxRGwAAAACAYojaAAAAAAAUQ9QGAAAAAKAYojYAAAAAAMUQtQEAAAAAKIaoDQAAAABAMURtAAAAAACKIWoDAAAAAFAMURsAAAAAgGKI2gAAAAAAFEPUBgAAAACgGKI2AAAAAADFELUBAAAAACiGqA0AAAAAQDFEbQAAAAAAiiFqAwAAAABQDFEbAAAAAIBiiNoAAAAAABRD1AYAAAAAoBiiNgAAAAAAxRC1AQAAAAAohqgNAAAAAEAxRG0AAAAAAIohagMAAAAAUAxRGwAAAACAYojaAAAAAAAUQ9QGAAAAAKAYNVVVVQ09iSVlxszZaV7btKGnAQAAAAAwT9M/npkPpkxv6Gk0uLZtW813X7MlOI8G17y2afY74eaGngYAAAAAwDzdcsH++SCi9udx+REAAAAAAIohagMAAAAAUAxRGwAAAACAYojaAAAAAAAUQ9QGAAAAAKAYojYAAAAAAMUQtQEAAAAAKIaoDQAAAABAMURtAAAAAACKIWoDAAAAAFAMURsAAAAAgGKI2gAAAAAAFEPUBgAAAACgGKI2AAAAAADFELUBAAAAACiGqA0AAAAAQDFEbQAAAAAAiiFqAwAAAABQDFEbAAAAAIBiiNoAAAAAABRD1AYAAAAAoBiiNgAAAAAAxRC1AQAAAAAohqgNAAAAAEAxRG0AAAAAAIohagMAAAAAUAxRGwAAAACAYojaAAAAAAAUQ9QGAAAAAKAYojYAAAAAAMUQtQEAAAAAKIaoDQAAAABAMURtAAAAAACKIWoDAAAAAFAMURsAAAAAgGKI2gAAAAAAFEPUBgAAAACgGKI2AAAAAADFELUBAAAAACiGqA0AAAAAQDFEbQAAAAAAiiFqAwAAAABQDFEbAAAAAIBiiNoAAAAAABRD1AYAAAAAoBiiNgAAAAAAxRC1AQAAAAAohqgNAAAAAEAxRG0AAAAAAIohagMAAAAAUAxRGwAAAACAYojaAAAAAAAUQ9QGAAAAAKAYojYAAAAAAMUQtQEAAAAAKIaoDQAAAABAMURtAAAAAACKIWoDAAAAAFAMURsAAAAAgGKI2gAAAAAAFEPUBgAAAACgGKI2AAAAAADFELUBAAAAACiGqA0AAAAAQDFEbQAAAAAAiiFqAwAAAABQDFEbAAAAAIBiiNoAAAAAABRD1AYAAAAAoBiiNgAAAAAAxRC1AQAAAAAohqgNAAAAAEAxRG0AAAAAAIo
Download .txt
gitextract_ql5qvdyw/

├── .gitignore
├── LICENSE
├── README.md
├── api/
│   ├── fraud/
│   │   └── Fraud.py
│   └── handler.py
├── data/
│   └── raw/
│       └── fraud_0.1origbase.csv
├── functions/
│   ├── minmaxscaler_cycle1.joblib
│   └── onehotencoder_cycle1.joblib
├── models/
│   └── model_cycle1.joblib
├── notebooks/
│   └── transaction-fraud-detection-cycle1.ipynb
└── requirements.txt
Download .txt
SYMBOL INDEX (7 symbols across 2 files)

FILE: api/fraud/Fraud.py
  class Fraud (line 5) | class Fraud:
    method __init__ (line 7) | def __init__(self):
    method data_cleaning (line 11) | def data_cleaning(self, df1):
    method feature_engineering (line 21) | def feature_engineering(self, df2):
    method data_preparation (line 39) | def data_preparation(self, df3):
    method get_prediction (line 53) | def get_prediction(self, model, original_data, test_data):

FILE: api/handler.py
  function churn_predict (line 13) | def churn_predict():
Condensed preview — 11 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,011K chars).
[
  {
    "path": ".gitignore",
    "chars": 1799,
    "preview": "# Byte-compiled / optimized / DLL files\n__pycache__/\n*.py[cod]\n*$py.class\n\n# C extensions\n*.so\n\n# Distribution / packagi"
  },
  {
    "path": "LICENSE",
    "chars": 1079,
    "preview": "MIT License\n\nCopyright (c) 2021 Clébio Oliveira Júnior\n\nPermission is hereby granted, free of charge, to any person obta"
  },
  {
    "path": "README.md",
    "chars": 12042,
    "preview": "# Transaction Fraud Detection\n\nA data science project to predict whether a transaction is a fraud or not.\n\n<div align=\"c"
  },
  {
    "path": "api/fraud/Fraud.py",
    "chars": 2316,
    "preview": "import joblib\nimport inflection\nimport pandas as pd\n\nclass Fraud:\n    \n    def __init__(self):\n        self.minmaxscaler"
  },
  {
    "path": "api/handler.py",
    "chars": 1205,
    "preview": "import joblib\nimport pandas as pd\nfrom fraud.Fraud import Fraud\nfrom flask import Flask, request, Response\n\n# loading mo"
  },
  {
    "path": "notebooks/transaction-fraud-detection-cycle1.ipynb",
    "chars": 972032,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"heading_collapsed\": true\n   },\n   \"source\": [\n    \"#"
  },
  {
    "path": "requirements.txt",
    "chars": 1364,
    "preview": "argon2-cffi==20.1.0\nasync-generator==1.10\nattrs==20.3.0\nbackcall==0.2.0\nbleach==3.2.1\nBoruta==0.3\ncategory-encoders==2.2"
  }
]

// ... and 4 more files (download for full content)

About this extraction

This page contains the full source code of the juniorcl/transaction-fraud-detection GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 11 files (47.9 MB), approximately 589.8k tokens, and a symbol index with 7 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!