Skip to content

Instantly share code, notes, and snippets.

@stabgan
Created January 31, 2021 10:15
Show Gist options
  • Save stabgan/e82270cff4c1fce850d5d994152c985b to your computer and use it in GitHub Desktop.
Save stabgan/e82270cff4c1fce850d5d994152c985b to your computer and use it in GitHub Desktop.
3col_heart.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "3col_heart.ipynb",
"provenance": [],
"toc_visible": true,
"authorship_tag": "ABX9TyPfTt+2CcMu+91XHzHusfKE",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"accelerator": "TPU"
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/stabgan/e82270cff4c1fce850d5d994152c985b/3col_heart.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Yrf6H65S1rEQ"
},
"source": [
"# Heart.xlsx data analysis and feature extraction - A Study\n",
"by Kaustabh Ganguly"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "4l48x2KY2D5Q"
},
"source": [
"## Importing Necessary Functions and Libraries"
]
},
{
"cell_type": "code",
"metadata": {
"id": "0KVrFbvpBEzH"
},
"source": [
"import pandas as pd\n",
"from scipy.stats import skewnorm\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"def warn(*args, **kwargs):\n",
" pass\n",
"import warnings\n",
"warnings.warn = warn\n",
"from imblearn.over_sampling import SMOTE, BorderlineSMOTE, SVMSMOTE, ADASYN, RandomOverSampler\n",
"from imblearn.combine import SMOTEENN,SMOTETomek\n",
"from imblearn.ensemble import BalancedRandomForestClassifier\n",
"from sklearn.decomposition import PCA\n",
"from google.colab import files\n",
"import io\n",
"from sklearn.preprocessing import StandardScaler\n",
"import matplotlib.pyplot as plt\n",
"from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA\n",
"from sklearn.ensemble import RandomForestClassifier\n",
"from sklearn.linear_model import LogisticRegression\n",
"from sklearn.tree import DecisionTreeClassifier\n",
"from xgboost import XGBClassifier\n",
"from sklearn.neighbors import KNeighborsClassifier\n",
"from sklearn.inspection import permutation_importance"
],
"execution_count": 1,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "zoeW8uQD2K5S"
},
"source": [
"Uploading the Data local repository to cloud"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"resources": {
"http://localhost:8080/nbextensions/google.colab/files.js": {
"data": "Ly8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIExMQwovLwovLyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLy8geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgovLyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLy8KLy8gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLy8KLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQovLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAovLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAovLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KCi8qKgogKiBAZmlsZW92ZXJ2aWV3IEhlbHBlcnMgZm9yIGdvb2dsZS5jb2xhYiBQeXRob24gbW9kdWxlLgogKi8KKGZ1bmN0aW9uKHNjb3BlKSB7CmZ1bmN0aW9uIHNwYW4odGV4dCwgc3R5bGVBdHRyaWJ1dGVzID0ge30pIHsKICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOwogIGVsZW1lbnQudGV4dENvbnRlbnQgPSB0ZXh0OwogIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHN0eWxlQXR0cmlidXRlcykpIHsKICAgIGVsZW1lbnQuc3R5bGVba2V5XSA9IHN0eWxlQXR0cmlidXRlc1trZXldOwogIH0KICByZXR1cm4gZWxlbWVudDsKfQoKLy8gTWF4IG51bWJlciBvZiBieXRlcyB3aGljaCB3aWxsIGJlIHVwbG9hZGVkIGF0IGEgdGltZS4KY29uc3QgTUFYX1BBWUxPQURfU0laRSA9IDEwMCAqIDEwMjQ7CgpmdW5jdGlvbiBfdXBsb2FkRmlsZXMoaW5wdXRJZCwgb3V0cHV0SWQpIHsKICBjb25zdCBzdGVwcyA9IHVwbG9hZEZpbGVzU3RlcChpbnB1dElkLCBvdXRwdXRJZCk7CiAgY29uc3Qgb3V0cHV0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG91dHB1dElkKTsKICAvLyBDYWNoZSBzdGVwcyBvbiB0aGUgb3V0cHV0RWxlbWVudCB0byBtYWtlIGl0IGF2YWlsYWJsZSBmb3IgdGhlIG5leHQgY2FsbAogIC8vIHRvIHVwbG9hZEZpbGVzQ29udGludWUgZnJvbSBQeXRob24uCiAgb3V0cHV0RWxlbWVudC5zdGVwcyA9IHN0ZXBzOwoKICByZXR1cm4gX3VwbG9hZEZpbGVzQ29udGludWUob3V0cHV0SWQpOwp9CgovLyBUaGlzIGlzIHJvdWdobHkgYW4gYXN5bmMgZ2VuZXJhdG9yIChub3Qgc3VwcG9ydGVkIGluIHRoZSBicm93c2VyIHlldCksCi8vIHdoZXJlIHRoZXJlIGFyZSBtdWx0aXBsZSBhc3luY2hyb25vdXMgc3RlcHMgYW5kIHRoZSBQeXRob24gc2lkZSBpcyBnb2luZwovLyB0byBwb2xsIGZvciBjb21wbGV0aW9uIG9mIGVhY2ggc3RlcC4KLy8gVGhpcyB1c2VzIGEgUHJvbWlzZSB0byBibG9jayB0aGUgcHl0aG9uIHNpZGUgb24gY29tcGxldGlvbiBvZiBlYWNoIHN0ZXAsCi8vIHRoZW4gcGFzc2VzIHRoZSByZXN1bHQgb2YgdGhlIHByZXZpb3VzIHN0ZXAgYXMgdGhlIGlucHV0IHRvIHRoZSBuZXh0IHN0ZXAuCmZ1bmN0aW9uIF91cGxvYWRGaWxlc0NvbnRpbnVlKG91dHB1dElkKSB7CiAgY29uc3Qgb3V0cHV0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG91dHB1dElkKTsKICBjb25zdCBzdGVwcyA9IG91dHB1dEVsZW1lbnQuc3RlcHM7CgogIGNvbnN0IG5leHQgPSBzdGVwcy5uZXh0KG91dHB1dEVsZW1lbnQubGFzdFByb21pc2VWYWx1ZSk7CiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShuZXh0LnZhbHVlLnByb21pc2UpLnRoZW4oKHZhbHVlKSA9PiB7CiAgICAvLyBDYWNoZSB0aGUgbGFzdCBwcm9taXNlIHZhbHVlIHRvIG1ha2UgaXQgYXZhaWxhYmxlIHRvIHRoZSBuZXh0CiAgICAvLyBzdGVwIG9mIHRoZSBnZW5lcmF0b3IuCiAgICBvdXRwdXRFbGVtZW50Lmxhc3RQcm9taXNlVmFsdWUgPSB2YWx1ZTsKICAgIHJldHVybiBuZXh0LnZhbHVlLnJlc3BvbnNlOwogIH0pOwp9CgovKioKICogR2VuZXJhdG9yIGZ1bmN0aW9uIHdoaWNoIGlzIGNhbGxlZCBiZXR3ZWVuIGVhY2ggYXN5bmMgc3RlcCBvZiB0aGUgdXBsb2FkCiAqIHByb2Nlc3MuCiAqIEBwYXJhbSB7c3RyaW5nfSBpbnB1dElkIEVsZW1lbnQgSUQgb2YgdGhlIGlucHV0IGZpbGUgcGlja2VyIGVsZW1lbnQuCiAqIEBwYXJhbSB7c3RyaW5nfSBvdXRwdXRJZCBFbGVtZW50IElEIG9mIHRoZSBvdXRwdXQgZGlzcGxheS4KICogQHJldHVybiB7IUl0ZXJhYmxlPCFPYmplY3Q+fSBJdGVyYWJsZSBvZiBuZXh0IHN0ZXBzLgogKi8KZnVuY3Rpb24qIHVwbG9hZEZpbGVzU3RlcChpbnB1dElkLCBvdXRwdXRJZCkgewogIGNvbnN0IGlucHV0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlucHV0SWQpOwogIGlucHV0RWxlbWVudC5kaXNhYmxlZCA9IGZhbHNlOwoKICBjb25zdCBvdXRwdXRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQob3V0cHV0SWQpOwogIG91dHB1dEVsZW1lbnQuaW5uZXJIVE1MID0gJyc7CgogIGNvbnN0IHBpY2tlZFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewogICAgaW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIChlKSA9PiB7CiAgICAgIHJlc29sdmUoZS50YXJnZXQuZmlsZXMpOwogICAgfSk7CiAgfSk7CgogIGNvbnN0IGNhbmNlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogIGlucHV0RWxlbWVudC5wYXJlbnRFbGVtZW50LmFwcGVuZENoaWxkKGNhbmNlbCk7CiAgY2FuY2VsLnRleHRDb250ZW50ID0gJ0NhbmNlbCB1cGxvYWQnOwogIGNvbnN0IGNhbmNlbFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewogICAgY2FuY2VsLm9uY2xpY2sgPSAoKSA9PiB7CiAgICAgIHJlc29sdmUobnVsbCk7CiAgICB9OwogIH0pOwoKICAvLyBXYWl0IGZvciB0aGUgdXNlciB0byBwaWNrIHRoZSBmaWxlcy4KICBjb25zdCBmaWxlcyA9IHlpZWxkIHsKICAgIHByb21pc2U6IFByb21pc2UucmFjZShbcGlja2VkUHJvbWlzZSwgY2FuY2VsUHJvbWlzZV0pLAogICAgcmVzcG9uc2U6IHsKICAgICAgYWN0aW9uOiAnc3RhcnRpbmcnLAogICAgfQogIH07CgogIGNhbmNlbC5yZW1vdmUoKTsKCiAgLy8gRGlzYWJsZSB0aGUgaW5wdXQgZWxlbWVudCBzaW5jZSBmdXJ0aGVyIHBpY2tzIGFyZSBub3QgYWxsb3dlZC4KICBpbnB1dEVsZW1lbnQuZGlzYWJsZWQgPSB0cnVlOwoKICBpZiAoIWZpbGVzKSB7CiAgICByZXR1cm4gewogICAgICByZXNwb25zZTogewogICAgICAgIGFjdGlvbjogJ2NvbXBsZXRlJywKICAgICAgfQogICAgfTsKICB9CgogIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykgewogICAgY29uc3QgbGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaScpOwogICAgbGkuYXBwZW5kKHNwYW4oZmlsZS5uYW1lLCB7Zm9udFdlaWdodDogJ2JvbGQnfSkpOwogICAgbGkuYXBwZW5kKHNwYW4oCiAgICAgICAgYCgke2ZpbGUudHlwZSB8fCAnbi9hJ30pIC0gJHtmaWxlLnNpemV9IGJ5dGVzLCBgICsKICAgICAgICBgbGFzdCBtb2RpZmllZDogJHsKICAgICAgICAgICAgZmlsZS5sYXN0TW9kaWZpZWREYXRlID8gZmlsZS5sYXN0TW9kaWZpZWREYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygpIDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ24vYSd9IC0gYCkpOwogICAgY29uc3QgcGVyY2VudCA9IHNwYW4oJzAlIGRvbmUnKTsKICAgIGxpLmFwcGVuZENoaWxkKHBlcmNlbnQpOwoKICAgIG91dHB1dEVsZW1lbnQuYXBwZW5kQ2hpbGQobGkpOwoKICAgIGNvbnN0IGZpbGVEYXRhUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7CiAgICAgIHJlYWRlci5vbmxvYWQgPSAoZSkgPT4gewogICAgICAgIHJlc29sdmUoZS50YXJnZXQucmVzdWx0KTsKICAgICAgfTsKICAgICAgcmVhZGVyLnJlYWRBc0FycmF5QnVmZmVyKGZpbGUpOwogICAgfSk7CiAgICAvLyBXYWl0IGZvciB0aGUgZGF0YSB0byBiZSByZWFkeS4KICAgIGxldCBmaWxlRGF0YSA9IHlpZWxkIHsKICAgICAgcHJvbWlzZTogZmlsZURhdGFQcm9taXNlLAogICAgICByZXNwb25zZTogewogICAgICAgIGFjdGlvbjogJ2NvbnRpbnVlJywKICAgICAgfQogICAgfTsKCiAgICAvLyBVc2UgYSBjaHVua2VkIHNlbmRpbmcgdG8gYXZvaWQgbWVzc2FnZSBzaXplIGxpbWl0cy4gU2VlIGIvNjIxMTU2NjAuCiAgICBsZXQgcG9zaXRpb24gPSAwOwogICAgd2hpbGUgKHBvc2l0aW9uIDwgZmlsZURhdGEuYnl0ZUxlbmd0aCkgewogICAgICBjb25zdCBsZW5ndGggPSBNYXRoLm1pbihmaWxlRGF0YS5ieXRlTGVuZ3RoIC0gcG9zaXRpb24sIE1BWF9QQVlMT0FEX1NJWkUpOwogICAgICBjb25zdCBjaHVuayA9IG5ldyBVaW50OEFycmF5KGZpbGVEYXRhLCBwb3NpdGlvbiwgbGVuZ3RoKTsKICAgICAgcG9zaXRpb24gKz0gbGVuZ3RoOwoKICAgICAgY29uc3QgYmFzZTY0ID0gYnRvYShTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsIGNodW5rKSk7CiAgICAgIHlpZWxkIHsKICAgICAgICByZXNwb25zZTogewogICAgICAgICAgYWN0aW9uOiAnYXBwZW5kJywKICAgICAgICAgIGZpbGU6IGZpbGUubmFtZSwKICAgICAgICAgIGRhdGE6IGJhc2U2NCwKICAgICAgICB9LAogICAgICB9OwogICAgICBwZXJjZW50LnRleHRDb250ZW50ID0KICAgICAgICAgIGAke01hdGgucm91bmQoKHBvc2l0aW9uIC8gZmlsZURhdGEuYnl0ZUxlbmd0aCkgKiAxMDApfSUgZG9uZWA7CiAgICB9CiAgfQoKICAvLyBBbGwgZG9uZS4KICB5aWVsZCB7CiAgICByZXNwb25zZTogewogICAgICBhY3Rpb246ICdjb21wbGV0ZScsCiAgICB9CiAgfTsKfQoKc2NvcGUuZ29vZ2xlID0gc2NvcGUuZ29vZ2xlIHx8IHt9OwpzY29wZS5nb29nbGUuY29sYWIgPSBzY29wZS5nb29nbGUuY29sYWIgfHwge307CnNjb3BlLmdvb2dsZS5jb2xhYi5fZmlsZXMgPSB7CiAgX3VwbG9hZEZpbGVzLAogIF91cGxvYWRGaWxlc0NvbnRpbnVlLAp9Owp9KShzZWxmKTsK",
"ok": true,
"headers": [
[
"content-type",
"application/javascript"
]
],
"status": 200,
"status_text": ""
}
},
"base_uri": "https://localhost:8080/",
"height": 72
},
"id": "mltOEg2kCFUy",
"outputId": "8e2557f9-5013-4fc4-8e8d-5a193a3ae48e"
},
"source": [
"uploaded = files.upload()"
],
"execution_count": 2,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/html": [
"\n",
" <input type=\"file\" id=\"files-e4c89af8-0db2-4724-ad1b-d6054eb4450c\" name=\"files[]\" multiple disabled\n",
" style=\"border:none\" />\n",
" <output id=\"result-e4c89af8-0db2-4724-ad1b-d6054eb4450c\">\n",
" Upload widget is only available when the cell has been executed in the\n",
" current browser session. Please rerun this cell to enable.\n",
" </output>\n",
" <script src=\"/nbextensions/google.colab/files.js\"></script> "
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "stream",
"text": [
"Saving 3 col heart.xlsx to 3 col heart (1).xlsx\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "KBbJYkR22TUt"
},
"source": [
"Converting the data into pandas DataFrame"
]
},
{
"cell_type": "code",
"metadata": {
"id": "oSK7KBDLCMoY"
},
"source": [
"data = pd.read_excel(io.BytesIO(uploaded['3 col heart.xlsx']))"
],
"execution_count": 3,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "C1vrN7sC2XJS"
},
"source": [
"Checking the Dimension of the Data"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "iQTlPueoH48F",
"outputId": "1cacf628-5b2a-4f2a-d6f3-1c43d77021ec"
},
"source": [
"data.shape"
],
"execution_count": 4,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(270, 4)"
]
},
"metadata": {
"tags": []
},
"execution_count": 4
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "P-nOmZUg2ady"
},
"source": [
"Checking the count of absence/presence of heart disease. (Last column)"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "CvHLPEA4IF6u",
"outputId": "2faa7b11-35ce-4cda-ad76-d3efd8132297"
},
"source": [
"data[\"Absence (1) or presence (2) of heart disease\"].value_counts()"
],
"execution_count": 5,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"1 150\n",
"2 120\n",
"Name: Absence (1) or presence (2) of heart disease, dtype: int64"
]
},
"metadata": {
"tags": []
},
"execution_count": 5
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "dmAeAnjV2qbU"
},
"source": [
"# Data"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
},
"id": "HlEPNIStCMr6",
"outputId": "57aaaf30-0688-4ab4-a043-963e12f30dd0"
},
"source": [
"data.head()"
],
"execution_count": 6,
"outputs": [
{
"output_type": "execute_result",
"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>blood pressure</th>\n",
" <th>cholesterol</th>\n",
" <th>maximum heart rate</th>\n",
" <th>Absence (1) or presence (2) of heart disease</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>130</td>\n",
" <td>322</td>\n",
" <td>109</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>115</td>\n",
" <td>564</td>\n",
" <td>160</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>124</td>\n",
" <td>261</td>\n",
" <td>141</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>128</td>\n",
" <td>263</td>\n",
" <td>105</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>120</td>\n",
" <td>269</td>\n",
" <td>121</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" blood pressure ... Absence (1) or presence (2) of heart disease\n",
"0 130 ... 2\n",
"1 115 ... 1\n",
"2 124 ... 2\n",
"3 128 ... 1\n",
"4 120 ... 1\n",
"\n",
"[5 rows x 4 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 6
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "t0lC1AqW2tZL"
},
"source": [
"Replacing the target variable's (last column) from 1,2 to -1/1 and renaming the last column accordingly for future"
]
},
{
"cell_type": "code",
"metadata": {
"id": "uP4aSKMXCMur"
},
"source": [
"data[\"Absence (1) or presence (2) of heart disease\"].replace({2: 1, 1: -1}, inplace=True)\n",
"data = data.rename(columns={\"Absence (1) or presence (2) of heart disease\":\"Target (1= Presence of heart disease)\"})"
],
"execution_count": 7,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "riKzqhEs3A55"
},
"source": [
"Converting DataFrame objects to Numpy arrays"
]
},
{
"cell_type": "code",
"metadata": {
"id": "tbk9SaYOEJdn"
},
"source": [
"X = data.iloc[:, 0:-1].values\n",
"y = data.iloc[:, -1].values"
],
"execution_count": 8,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "2VU1Xrzs3EqM"
},
"source": [
"Using SMOTE for oversampling and TOMEK links for undersampling data points"
]
},
{
"cell_type": "code",
"metadata": {
"id": "TxWqww3SFYg4"
},
"source": [
"sm = SMOTETomek(random_state=4)\n",
"X, y = sm.fit_sample(X, y)"
],
"execution_count": 9,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "aYz9p2QT3NBm"
},
"source": [
"Checking the Dimension of our numpy arrays"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "G3wg3aSVF3_9",
"outputId": "b5295ac6-725b-43ba-ad8f-33aecd63df1b"
},
"source": [
"X.shape, y.shape"
],
"execution_count": 10,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"((250, 3), (250,))"
]
},
"metadata": {
"tags": []
},
"execution_count": 10
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "tlQm0ZEX3YkR"
},
"source": [
"Checking if counts of target variable is same "
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "xV4fBPvwF_LO",
"outputId": "dcc6a4e1-e54f-4c47-b532-aa4ba9d3b246"
},
"source": [
"pd.DataFrame(y).value_counts()"
],
"execution_count": 11,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" 1 125\n",
"-1 125\n",
"dtype: int64"
]
},
"metadata": {
"tags": []
},
"execution_count": 11
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "AW24GKge3emY"
},
"source": [
"Standardising all the independent variables"
]
},
{
"cell_type": "code",
"metadata": {
"id": "XUDgsPz5L2EQ"
},
"source": [
"sc = StandardScaler()\n",
"X_stan = sc.fit_transform(X)"
],
"execution_count": 12,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "7PKWXaVp3nKp"
},
"source": [
"Principal Component Analysis of the standardised data and extracting the explained variance in the form of ratio (sums to 1)"
]
},
{
"cell_type": "code",
"metadata": {
"id": "MFqakuiOL311"
},
"source": [
"pca = PCA(n_components=3)\n",
"X_pca = pca.fit_transform(X_stan)\n",
"explained_variance = pca.explained_variance_ratio_"
],
"execution_count": 14,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "SbHXrC3b3yjn"
},
"source": [
"# PCA Analysis of Important Features (Unsupervised)"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 437
},
"id": "OIz52hwgLO-t",
"outputId": "081e0bff-dee8-4e91-eace-34e721f2c637"
},
"source": [
"features = data.iloc[:, 0:-1].columns.to_numpy()\n",
"weights_pca = explained_variance\n",
"vis = zip(features,weights_pca)\n",
"for i,j in vis :\n",
" print(\"Feature {} has weight {}%\".format(i,j*100))\n",
"fig = plt.figure()\n",
"ax = fig.add_axes([0,0,1,1])\n",
"ax.bar(features,weights_pca)\n",
"plt.setp(ax.get_xticklabels(), rotation=30, horizontalalignment='right')\n",
"plt.show()"
],
"execution_count": 15,
"outputs": [
{
"output_type": "stream",
"text": [
"Feature blood pressure has weight 39.354536029924596%\n",
"Feature cholesterol has weight 33.24287008456666%\n",
"Feature maximum heart rate has weight 27.402593885508736%\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "4W7YW0dD37Ya"
},
"source": [
"Linear Discriminant Analysis of the standardised data and extracting the coefficient of the trained LDA which is acting as our score for each feature"
]
},
{
"cell_type": "code",
"metadata": {
"id": "T2NUT4pGibHq"
},
"source": [
"lda = LDA(solver='eigen', shrinkage = 'auto',n_components=3)\n",
"X_lda = lda.fit_transform(X_stan, y)\n",
"weights_lda = lda.coef_[0]"
],
"execution_count": 16,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "_Q4pDCgzAHTz",
"outputId": "0057c766-092c-4308-f885-b907c8f093be"
},
"source": [
"weights_lda"
],
"execution_count": 17,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([ 0.38010567, 0.21838097, -1.3470873 ])"
]
},
"metadata": {
"tags": []
},
"execution_count": 17
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "eegwyD1J44Rj"
},
"source": [
"# **LDA** analysis of important features (Supervised)"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 437
},
"id": "6OqPj9rNktV7",
"outputId": "18d47651-d324-4d80-c139-4da38e02209f"
},
"source": [
"vis = zip(features,weights_lda)\n",
"for i,j in vis :\n",
" print(\"Feature {} has Score {}%\".format(i,j*100))\n",
"fig = plt.figure()\n",
"ax = fig.add_axes([0,0,1,1])\n",
"ax.bar(features,weights_lda)\n",
"plt.setp(ax.get_xticklabels(), rotation=30, horizontalalignment='right')\n",
"plt.show()"
],
"execution_count": 18,
"outputs": [
{
"output_type": "stream",
"text": [
"Feature blood pressure has Score 38.010567313803044%\n",
"Feature cholesterol has Score 21.838096891499255%\n",
"Feature maximum heart rate has Score -134.70873037980527%\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "KeX1rYAT5AIa"
},
"source": [
"# Using **Random Forest Classifier** to train our model and extracting the feature_importance_ parameter from trained model which is our score"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 437
},
"id": "K8RXDKLBnMAQ",
"outputId": "60760ea3-1276-4afd-883e-5e52ffbd682e"
},
"source": [
"model = RandomForestClassifier()\n",
"# fit the model\n",
"model.fit(X, y)\n",
"# get importance\n",
"importance = model.feature_importances_\n",
"# summarize feature importance\n",
"for i,v in zip(features,importance):\n",
"\tprint(\"Feature: {}, Score: {}\".format(i,v*100))\n",
"# plot feature importance\n",
"fig = plt.figure()\n",
"ax = fig.add_axes([0,0,1,1])\n",
"weights = importance\n",
"ax.bar(features,importance)\n",
"plt.setp(ax.get_xticklabels(), rotation=30, horizontalalignment='right')\n",
"plt.show()"
],
"execution_count": 19,
"outputs": [
{
"output_type": "stream",
"text": [
"Feature: blood pressure, Score: 23.36408424069707\n",
"Feature: cholesterol, Score: 30.88035483411681\n",
"Feature: maximum heart rate, Score: 45.755560925186124\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Tj4bPFih5cRp"
},
"source": [
"# Using **Logistic Regression** to train our model and extracting the coef_ parameter from trained model which is our score"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 437
},
"id": "sbu5Hf6Etv7s",
"outputId": "d8607f52-8af1-4386-cc7b-70588f5d69bb"
},
"source": [
"model = LogisticRegression()\n",
"# fit the model\n",
"model.fit(X, y)\n",
"# get importance\n",
"importance = np.exp(model.coef_[0])\n",
"# summarize feature importance\n",
"for i,v in zip(features,importance):\n",
"\tprint(\"Feature: {}, Score: {}\".format(i,v*100))\n",
"# plot feature importance\n",
"fig = plt.figure()\n",
"ax = fig.add_axes([0,0,1,1])\n",
"weights = importance\n",
"ax.bar(features,importance)\n",
"plt.setp(ax.get_xticklabels(), rotation=30, horizontalalignment='right')\n",
"plt.show()"
],
"execution_count": 20,
"outputs": [
{
"output_type": "stream",
"text": [
"Feature: blood pressure, Score: 102.54244322624493\n",
"Feature: cholesterol, Score: 100.44932424725899\n",
"Feature: maximum heart rate, Score: 94.39095599530435\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "sc3YmIW95lkv"
},
"source": [
"# Using **Decision Tree Classifier** (CART) to train our model and extracting the feature_importance_ parameter from trained model which is our score"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 437
},
"id": "kt4aBXL5wOEB",
"outputId": "a7d7b5a6-1e2e-41d5-947a-1622ac11721b"
},
"source": [
"model = DecisionTreeClassifier()\n",
"# fit the model\n",
"model.fit(X, y)\n",
"# get importance\n",
"importance = model.feature_importances_\n",
"for i,v in zip(features,importance):\n",
"\tprint(\"Feature: {}, Score: {}\".format(i,v*100))\n",
"# plot feature importance\n",
"fig = plt.figure()\n",
"ax = fig.add_axes([0,0,1,1])\n",
"weights = importance\n",
"ax.bar(features,importance)\n",
"plt.setp(ax.get_xticklabels(), rotation=30, horizontalalignment='right')\n",
"plt.show()"
],
"execution_count": 21,
"outputs": [
{
"output_type": "stream",
"text": [
"Feature: blood pressure, Score: 25.088112025284303\n",
"Feature: cholesterol, Score: 26.511470690688167\n",
"Feature: maximum heart rate, Score: 48.40041728402753\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "kGHE53tF5r6r"
},
"source": [
"# Using **XGBoost Classifier** to train our model and extracting the feature_importance_ parameter from trained model which is our score"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 437
},
"id": "Z1ydBmg7wsht",
"outputId": "e40027e7-005a-4267-b46c-eed981db4061"
},
"source": [
"model = XGBClassifier()\n",
"# fit the model\n",
"model.fit(X, y)\n",
"# get importance\n",
"importance = model.feature_importances_\n",
"for i,v in zip(features,importance):\n",
"\tprint(\"Feature: {}, Score: {}\".format(i,v*100))\n",
"# plot feature importance\n",
"fig = plt.figure()\n",
"ax = fig.add_axes([0,0,1,1])\n",
"weights = importance\n",
"ax.bar(features,importance)\n",
"plt.setp(ax.get_xticklabels(), rotation=30, horizontalalignment='right')\n",
"plt.show()"
],
"execution_count": 22,
"outputs": [
{
"output_type": "stream",
"text": [
"Feature: blood pressure, Score: 25.387638807296753\n",
"Feature: cholesterol, Score: 21.72376662492752\n",
"Feature: maximum heart rate, Score: 52.88859009742737\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "LmI-04MR5xOE"
},
"source": [
"# Permutation Feature Importance\n",
"Permutation feature importance is a technique for calculating relative importance scores that is independent of the model used.\n",
"\n",
"First, a model is fit on the dataset, such as a model that does not support native feature importance scores. Then the model is used to make predictions on a dataset, although the values of a feature (column) in the dataset are scrambled. This is repeated for each feature in the dataset. Then this whole process is repeated 3, 5, 10 or more times. The result is a mean importance score for each input feature (and distribution of scores given the repeats).\n",
"\n",
"This approach can be used for regression or classification and requires that a performance metric be chosen as the basis of the importance score, such as the mean squared error for regression and accuracy for classification.\n",
"\n",
"Permutation feature selection can be used via the permutation_importance() function that takes a fit model, a dataset (train or test dataset is fine), and a scoring function."
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 437
},
"id": "Pg-txpAoxH5L",
"outputId": "3ee7a6e2-03a9-4f1e-a45b-d1a88d6bc89b"
},
"source": [
"model = KNeighborsClassifier()\n",
"# fit the model\n",
"model.fit(X, y)\n",
"# perform permutation importance\n",
"results = permutation_importance(model, X, y, scoring='accuracy')\n",
"# get importance\n",
"importance = results.importances_mean\n",
"for i,v in zip(features,importance):\n",
"\tprint(\"Feature: {}, Score: {}\".format(i,v*100))\n",
"# plot feature importance\n",
"fig = plt.figure()\n",
"ax = fig.add_axes([0,0,1,1])\n",
"weights = importance\n",
"ax.bar(features,importance)\n",
"plt.setp(ax.get_xticklabels(), rotation=30, horizontalalignment='right')\n",
"plt.show()"
],
"execution_count": 23,
"outputs": [
{
"output_type": "stream",
"text": [
"Feature: blood pressure, Score: 7.680000000000006\n",
"Feature: cholesterol, Score: 11.120000000000005\n",
"Feature: maximum heart rate, Score: 24.880000000000006\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment