Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save JJRyan0/c528696af85f84d3950680e6060f6108 to your computer and use it in GitHub Desktop.
Save JJRyan0/c528696af85f84d3950680e6060f6108 to your computer and use it in GitHub Desktop.
Machine Learning - Wisconson Breast Cancer Diagnosis Prediction.ipynb
{
"cells": [
{
"metadata": {},
"cell_type": "markdown",
"source": "## Machine Learning Demo: Classification of Wisconsin Breast Cancer Diagnosis in patients\n\n### Scikit-Learn (python)\n\nCreated by John Ryan 20th April 2017\n\n<div class=\"alert alert-block alert-info\" style=\"margin-top: 20px\">**Note:** Citation: Data Source: Lichman, M. (2013). UCI Machine Learning Repository [http://archive.ics.uci.edu/ml]. Irvine, CA: University of California, School of Information and Computer Science. UCI Machine learning Repository http://archive.ics.uci.edu/ml/datasets.html.</div>\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "__Contents__\n\n1. Load the data to a pandas data frame.\n2. Missing Value Detection\n3. Encode Labels for Feature Importance Extra Tree Classifier \n4. Feature Selection - Selecting only highly prdictive features using random forest Model\n5. Feature Ranking\n6. Uni-Variate / Bi-Variate Anaylsis\n7. Cross Validation Train/Test Split\n8. Creating a Logistic Regression Model\n9. Evaluate Model Performance:\n\nMetric 1: Classification Accurracy: % of correct predictions\n\nMetric 2: Null Accuracy: Accuracy that could be achieved by always predicting most frequent class\n\nMetric 3: Confusion Matrix\n\nMetric 4: Mis - classification Rate\n\nMetric 5: Sensitivity (recall) & Specificity \n\nMetric 6: False Positive Rate\n\nMetric 7: Sensitivity\n\nAdjusting the Classification to Threshold (0.3) to improve Model performance\n\nAnalysis the distribution of new class distribution after threshold adjustment\n "
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Question:** How do we predict the cancer status of a patient given their health measurements?"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "\nFor the purpose of this analysis we will look to machine learning as a method to better predict diagnosis of cancers."
},
{
"metadata": {},
"cell_type": "markdown",
"source": "----------------------------------------------------------------------------------------------------------------------"
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "import os\nimport warnings\nimport pandas as pd\nimport numpy as np\nwarnings.filterwarnings(\"ignore\", category=DeprecationWarning,\n module=\"pandas, lineno=570\")\nfrom __future__ import print_function\nimport io\nimport requests\nimport seaborn as sns\nimport matplotlib.pyplot as plt\nsns.set_style('whitegrid')\n%matplotlib inline\nfrom sklearn import preprocessing\nfrom sklearn.metrics import log_loss, auc, roc_auc_score\nfrom sklearn.preprocessing import LabelEncoder\nfrom sklearn import metrics\nfrom sklearn.preprocessing import MinMaxScaler\nfrom sklearn.preprocessing import StandardScaler\nfrom matplotlib import pyplot",
"execution_count": 1,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Load the data to a pandas data frame**"
},
{
"metadata": {
"scrolled": true,
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#Load the data to a pandas data frame.\ndf = pd.read_csv(\"C:\\\\data\\\\wisc_bc_data.csv\")\ndf.head()# print the first five rows of the data frame",
"execution_count": 2,
"outputs": [
{
"execution_count": 2,
"output_type": "execute_result",
"data": {
"text/plain": " id diagnosis radius_mean texture_mean perimeter_mean area_mean \\\n0 842302 M 17.99 10.38 122.80 1001.0 \n1 842517 M 20.57 17.77 132.90 1326.0 \n2 84300903 M 19.69 21.25 130.00 1203.0 \n3 84348301 M 11.42 20.38 77.58 386.1 \n4 84358402 M 20.29 14.34 135.10 1297.0 \n\n smoothness_mean compactness_mean concavity_mean concave points_mean \\\n0 0.11840 0.27760 0.3001 0.14710 \n1 0.08474 0.07864 0.0869 0.07017 \n2 0.10960 0.15990 0.1974 0.12790 \n3 0.14250 0.28390 0.2414 0.10520 \n4 0.10030 0.13280 0.1980 0.10430 \n\n ... radius_worst texture_worst perimeter_worst \\\n0 ... 25.38 17.33 184.60 \n1 ... 24.99 23.41 158.80 \n2 ... 23.57 25.53 152.50 \n3 ... 14.91 26.50 98.87 \n4 ... 22.54 16.67 152.20 \n\n area_worst smoothness_worst compactness_worst concavity_worst \\\n0 2019.0 0.1622 0.6656 0.7119 \n1 1956.0 0.1238 0.1866 0.2416 \n2 1709.0 0.1444 0.4245 0.4504 \n3 567.7 0.2098 0.8663 0.6869 \n4 1575.0 0.1374 0.2050 0.4000 \n\n concave points_worst symmetry_worst fractal_dimension_worst \n0 0.2654 0.4601 0.11890 \n1 0.1860 0.2750 0.08902 \n2 0.2430 0.3613 0.08758 \n3 0.2575 0.6638 0.17300 \n4 0.1625 0.2364 0.07678 \n\n[5 rows x 32 columns]",
"text/html": "<div>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>id</th>\n <th>diagnosis</th>\n <th>radius_mean</th>\n <th>texture_mean</th>\n <th>perimeter_mean</th>\n <th>area_mean</th>\n <th>smoothness_mean</th>\n <th>compactness_mean</th>\n <th>concavity_mean</th>\n <th>concave points_mean</th>\n <th>...</th>\n <th>radius_worst</th>\n <th>texture_worst</th>\n <th>perimeter_worst</th>\n <th>area_worst</th>\n <th>smoothness_worst</th>\n <th>compactness_worst</th>\n <th>concavity_worst</th>\n <th>concave points_worst</th>\n <th>symmetry_worst</th>\n <th>fractal_dimension_worst</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>842302</td>\n <td>M</td>\n <td>17.99</td>\n <td>10.38</td>\n <td>122.80</td>\n <td>1001.0</td>\n <td>0.11840</td>\n <td>0.27760</td>\n <td>0.3001</td>\n <td>0.14710</td>\n <td>...</td>\n <td>25.38</td>\n <td>17.33</td>\n <td>184.60</td>\n <td>2019.0</td>\n <td>0.1622</td>\n <td>0.6656</td>\n <td>0.7119</td>\n <td>0.2654</td>\n <td>0.4601</td>\n <td>0.11890</td>\n </tr>\n <tr>\n <th>1</th>\n <td>842517</td>\n <td>M</td>\n <td>20.57</td>\n <td>17.77</td>\n <td>132.90</td>\n <td>1326.0</td>\n <td>0.08474</td>\n <td>0.07864</td>\n <td>0.0869</td>\n <td>0.07017</td>\n <td>...</td>\n <td>24.99</td>\n <td>23.41</td>\n <td>158.80</td>\n <td>1956.0</td>\n <td>0.1238</td>\n <td>0.1866</td>\n <td>0.2416</td>\n <td>0.1860</td>\n <td>0.2750</td>\n <td>0.08902</td>\n </tr>\n <tr>\n <th>2</th>\n <td>84300903</td>\n <td>M</td>\n <td>19.69</td>\n <td>21.25</td>\n <td>130.00</td>\n <td>1203.0</td>\n <td>0.10960</td>\n <td>0.15990</td>\n <td>0.1974</td>\n <td>0.12790</td>\n <td>...</td>\n <td>23.57</td>\n <td>25.53</td>\n <td>152.50</td>\n <td>1709.0</td>\n <td>0.1444</td>\n <td>0.4245</td>\n <td>0.4504</td>\n <td>0.2430</td>\n <td>0.3613</td>\n <td>0.08758</td>\n </tr>\n <tr>\n <th>3</th>\n <td>84348301</td>\n <td>M</td>\n <td>11.42</td>\n <td>20.38</td>\n <td>77.58</td>\n <td>386.1</td>\n <td>0.14250</td>\n <td>0.28390</td>\n <td>0.2414</td>\n <td>0.10520</td>\n <td>...</td>\n <td>14.91</td>\n <td>26.50</td>\n <td>98.87</td>\n <td>567.7</td>\n <td>0.2098</td>\n <td>0.8663</td>\n <td>0.6869</td>\n <td>0.2575</td>\n <td>0.6638</td>\n <td>0.17300</td>\n </tr>\n <tr>\n <th>4</th>\n <td>84358402</td>\n <td>M</td>\n <td>20.29</td>\n <td>14.34</td>\n <td>135.10</td>\n <td>1297.0</td>\n <td>0.10030</td>\n <td>0.13280</td>\n <td>0.1980</td>\n <td>0.10430</td>\n <td>...</td>\n <td>22.54</td>\n <td>16.67</td>\n <td>152.20</td>\n <td>1575.0</td>\n <td>0.1374</td>\n <td>0.2050</td>\n <td>0.4000</td>\n <td>0.1625</td>\n <td>0.2364</td>\n <td>0.07678</td>\n </tr>\n </tbody>\n</table>\n<p>5 rows × 32 columns</p>\n</div>"
},
"metadata": {}
}
]
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "df.describe()",
"execution_count": 3,
"outputs": [
{
"execution_count": 3,
"output_type": "execute_result",
"data": {
"text/plain": " id radius_mean texture_mean perimeter_mean area_mean \\\ncount 5.690000e+02 569.000000 569.000000 569.000000 569.000000 \nmean 3.037183e+07 14.127292 19.289649 91.969033 654.889104 \nstd 1.250206e+08 3.524049 4.301036 24.298981 351.914129 \nmin 8.670000e+03 6.981000 9.710000 43.790000 143.500000 \n25% 8.692180e+05 11.700000 16.170000 75.170000 420.300000 \n50% 9.060240e+05 13.370000 18.840000 86.240000 551.100000 \n75% 8.813129e+06 15.780000 21.800000 104.100000 782.700000 \nmax 9.113205e+08 28.110000 39.280000 188.500000 2501.000000 \n\n smoothness_mean compactness_mean concavity_mean concave points_mean \\\ncount 569.000000 569.000000 569.000000 569.000000 \nmean 0.096360 0.104341 0.088799 0.048919 \nstd 0.014064 0.052813 0.079720 0.038803 \nmin 0.052630 0.019380 0.000000 0.000000 \n25% 0.086370 0.064920 0.029560 0.020310 \n50% 0.095870 0.092630 0.061540 0.033500 \n75% 0.105300 0.130400 0.130700 0.074000 \nmax 0.163400 0.345400 0.426800 0.201200 \n\n symmetry_mean ... radius_worst texture_worst \\\ncount 569.000000 ... 569.000000 569.000000 \nmean 0.181162 ... 16.269190 25.677223 \nstd 0.027414 ... 4.833242 6.146258 \nmin 0.106000 ... 7.930000 12.020000 \n25% 0.161900 ... 13.010000 21.080000 \n50% 0.179200 ... 14.970000 25.410000 \n75% 0.195700 ... 18.790000 29.720000 \nmax 0.304000 ... 36.040000 49.540000 \n\n perimeter_worst area_worst smoothness_worst compactness_worst \\\ncount 569.000000 569.000000 569.000000 569.000000 \nmean 107.261213 880.583128 0.132369 0.254265 \nstd 33.602542 569.356993 0.022832 0.157336 \nmin 50.410000 185.200000 0.071170 0.027290 \n25% 84.110000 515.300000 0.116600 0.147200 \n50% 97.660000 686.500000 0.131300 0.211900 \n75% 125.400000 1084.000000 0.146000 0.339100 \nmax 251.200000 4254.000000 0.222600 1.058000 \n\n concavity_worst concave points_worst symmetry_worst \\\ncount 569.000000 569.000000 569.000000 \nmean 0.272188 0.114606 0.290076 \nstd 0.208624 0.065732 0.061867 \nmin 0.000000 0.000000 0.156500 \n25% 0.114500 0.064930 0.250400 \n50% 0.226700 0.099930 0.282200 \n75% 0.382900 0.161400 0.317900 \nmax 1.252000 0.291000 0.663800 \n\n fractal_dimension_worst \ncount 569.000000 \nmean 0.083946 \nstd 0.018061 \nmin 0.055040 \n25% 0.071460 \n50% 0.080040 \n75% 0.092080 \nmax 0.207500 \n\n[8 rows x 31 columns]",
"text/html": "<div>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>id</th>\n <th>radius_mean</th>\n <th>texture_mean</th>\n <th>perimeter_mean</th>\n <th>area_mean</th>\n <th>smoothness_mean</th>\n <th>compactness_mean</th>\n <th>concavity_mean</th>\n <th>concave points_mean</th>\n <th>symmetry_mean</th>\n <th>...</th>\n <th>radius_worst</th>\n <th>texture_worst</th>\n <th>perimeter_worst</th>\n <th>area_worst</th>\n <th>smoothness_worst</th>\n <th>compactness_worst</th>\n <th>concavity_worst</th>\n <th>concave points_worst</th>\n <th>symmetry_worst</th>\n <th>fractal_dimension_worst</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>count</th>\n <td>5.690000e+02</td>\n <td>569.000000</td>\n <td>569.000000</td>\n <td>569.000000</td>\n <td>569.000000</td>\n <td>569.000000</td>\n <td>569.000000</td>\n <td>569.000000</td>\n <td>569.000000</td>\n <td>569.000000</td>\n <td>...</td>\n <td>569.000000</td>\n <td>569.000000</td>\n <td>569.000000</td>\n <td>569.000000</td>\n <td>569.000000</td>\n <td>569.000000</td>\n <td>569.000000</td>\n <td>569.000000</td>\n <td>569.000000</td>\n <td>569.000000</td>\n </tr>\n <tr>\n <th>mean</th>\n <td>3.037183e+07</td>\n <td>14.127292</td>\n <td>19.289649</td>\n <td>91.969033</td>\n <td>654.889104</td>\n <td>0.096360</td>\n <td>0.104341</td>\n <td>0.088799</td>\n <td>0.048919</td>\n <td>0.181162</td>\n <td>...</td>\n <td>16.269190</td>\n <td>25.677223</td>\n <td>107.261213</td>\n <td>880.583128</td>\n <td>0.132369</td>\n <td>0.254265</td>\n <td>0.272188</td>\n <td>0.114606</td>\n <td>0.290076</td>\n <td>0.083946</td>\n </tr>\n <tr>\n <th>std</th>\n <td>1.250206e+08</td>\n <td>3.524049</td>\n <td>4.301036</td>\n <td>24.298981</td>\n <td>351.914129</td>\n <td>0.014064</td>\n <td>0.052813</td>\n <td>0.079720</td>\n <td>0.038803</td>\n <td>0.027414</td>\n <td>...</td>\n <td>4.833242</td>\n <td>6.146258</td>\n <td>33.602542</td>\n <td>569.356993</td>\n <td>0.022832</td>\n <td>0.157336</td>\n <td>0.208624</td>\n <td>0.065732</td>\n <td>0.061867</td>\n <td>0.018061</td>\n </tr>\n <tr>\n <th>min</th>\n <td>8.670000e+03</td>\n <td>6.981000</td>\n <td>9.710000</td>\n <td>43.790000</td>\n <td>143.500000</td>\n <td>0.052630</td>\n <td>0.019380</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.106000</td>\n <td>...</td>\n <td>7.930000</td>\n <td>12.020000</td>\n <td>50.410000</td>\n <td>185.200000</td>\n <td>0.071170</td>\n <td>0.027290</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.156500</td>\n <td>0.055040</td>\n </tr>\n <tr>\n <th>25%</th>\n <td>8.692180e+05</td>\n <td>11.700000</td>\n <td>16.170000</td>\n <td>75.170000</td>\n <td>420.300000</td>\n <td>0.086370</td>\n <td>0.064920</td>\n <td>0.029560</td>\n <td>0.020310</td>\n <td>0.161900</td>\n <td>...</td>\n <td>13.010000</td>\n <td>21.080000</td>\n <td>84.110000</td>\n <td>515.300000</td>\n <td>0.116600</td>\n <td>0.147200</td>\n <td>0.114500</td>\n <td>0.064930</td>\n <td>0.250400</td>\n <td>0.071460</td>\n </tr>\n <tr>\n <th>50%</th>\n <td>9.060240e+05</td>\n <td>13.370000</td>\n <td>18.840000</td>\n <td>86.240000</td>\n <td>551.100000</td>\n <td>0.095870</td>\n <td>0.092630</td>\n <td>0.061540</td>\n <td>0.033500</td>\n <td>0.179200</td>\n <td>...</td>\n <td>14.970000</td>\n <td>25.410000</td>\n <td>97.660000</td>\n <td>686.500000</td>\n <td>0.131300</td>\n <td>0.211900</td>\n <td>0.226700</td>\n <td>0.099930</td>\n <td>0.282200</td>\n <td>0.080040</td>\n </tr>\n <tr>\n <th>75%</th>\n <td>8.813129e+06</td>\n <td>15.780000</td>\n <td>21.800000</td>\n <td>104.100000</td>\n <td>782.700000</td>\n <td>0.105300</td>\n <td>0.130400</td>\n <td>0.130700</td>\n <td>0.074000</td>\n <td>0.195700</td>\n <td>...</td>\n <td>18.790000</td>\n <td>29.720000</td>\n <td>125.400000</td>\n <td>1084.000000</td>\n <td>0.146000</td>\n <td>0.339100</td>\n <td>0.382900</td>\n <td>0.161400</td>\n <td>0.317900</td>\n <td>0.092080</td>\n </tr>\n <tr>\n <th>max</th>\n <td>9.113205e+08</td>\n <td>28.110000</td>\n <td>39.280000</td>\n <td>188.500000</td>\n <td>2501.000000</td>\n <td>0.163400</td>\n <td>0.345400</td>\n <td>0.426800</td>\n <td>0.201200</td>\n <td>0.304000</td>\n <td>...</td>\n <td>36.040000</td>\n <td>49.540000</td>\n <td>251.200000</td>\n <td>4254.000000</td>\n <td>0.222600</td>\n <td>1.058000</td>\n <td>1.252000</td>\n <td>0.291000</td>\n <td>0.663800</td>\n <td>0.207500</td>\n </tr>\n </tbody>\n</table>\n<p>8 rows × 31 columns</p>\n</div>"
},
"metadata": {}
}
]
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#feature response variable (Y = target) M = Malignant B= Benign \nsns.countplot(x=\"diagnosis\", data=df)",
"execution_count": 4,
"outputs": [
{
"execution_count": 4,
"output_type": "execute_result",
"data": {
"text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0xbf2d3c8>"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\nIEkC4P8Bfoduv5Oy274AAAAASUVORK5CYII=\n",
"text/plain": "<matplotlib.figure.Figure at 0x3b14c18>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "The first variable is an integer variable named id. As this is simply a unique identifier (ID) for each patient in the data, it does not provide useful information and we will need to exclude it from the model."
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "del df['id']#delete the ID as not required\ndf.tail()#view last few rows of the data set",
"execution_count": 5,
"outputs": [
{
"execution_count": 5,
"output_type": "execute_result",
"data": {
"text/plain": " diagnosis radius_mean texture_mean perimeter_mean area_mean \\\n564 M 21.56 22.39 142.00 1479.0 \n565 M 20.13 28.25 131.20 1261.0 \n566 M 16.60 28.08 108.30 858.1 \n567 M 20.60 29.33 140.10 1265.0 \n568 B 7.76 24.54 47.92 181.0 \n\n smoothness_mean compactness_mean concavity_mean concave points_mean \\\n564 0.11100 0.11590 0.24390 0.13890 \n565 0.09780 0.10340 0.14400 0.09791 \n566 0.08455 0.10230 0.09251 0.05302 \n567 0.11780 0.27700 0.35140 0.15200 \n568 0.05263 0.04362 0.00000 0.00000 \n\n symmetry_mean ... radius_worst texture_worst \\\n564 0.1726 ... 25.450 26.40 \n565 0.1752 ... 23.690 38.25 \n566 0.1590 ... 18.980 34.12 \n567 0.2397 ... 25.740 39.42 \n568 0.1587 ... 9.456 30.37 \n\n perimeter_worst area_worst smoothness_worst compactness_worst \\\n564 166.10 2027.0 0.14100 0.21130 \n565 155.00 1731.0 0.11660 0.19220 \n566 126.70 1124.0 0.11390 0.30940 \n567 184.60 1821.0 0.16500 0.86810 \n568 59.16 268.6 0.08996 0.06444 \n\n concavity_worst concave points_worst symmetry_worst \\\n564 0.4107 0.2216 0.2060 \n565 0.3215 0.1628 0.2572 \n566 0.3403 0.1418 0.2218 \n567 0.9387 0.2650 0.4087 \n568 0.0000 0.0000 0.2871 \n\n fractal_dimension_worst \n564 0.07115 \n565 0.06637 \n566 0.07820 \n567 0.12400 \n568 0.07039 \n\n[5 rows x 31 columns]",
"text/html": "<div>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>diagnosis</th>\n <th>radius_mean</th>\n <th>texture_mean</th>\n <th>perimeter_mean</th>\n <th>area_mean</th>\n <th>smoothness_mean</th>\n <th>compactness_mean</th>\n <th>concavity_mean</th>\n <th>concave points_mean</th>\n <th>symmetry_mean</th>\n <th>...</th>\n <th>radius_worst</th>\n <th>texture_worst</th>\n <th>perimeter_worst</th>\n <th>area_worst</th>\n <th>smoothness_worst</th>\n <th>compactness_worst</th>\n <th>concavity_worst</th>\n <th>concave points_worst</th>\n <th>symmetry_worst</th>\n <th>fractal_dimension_worst</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>564</th>\n <td>M</td>\n <td>21.56</td>\n <td>22.39</td>\n <td>142.00</td>\n <td>1479.0</td>\n <td>0.11100</td>\n <td>0.11590</td>\n <td>0.24390</td>\n <td>0.13890</td>\n <td>0.1726</td>\n <td>...</td>\n <td>25.450</td>\n <td>26.40</td>\n <td>166.10</td>\n <td>2027.0</td>\n <td>0.14100</td>\n <td>0.21130</td>\n <td>0.4107</td>\n <td>0.2216</td>\n <td>0.2060</td>\n <td>0.07115</td>\n </tr>\n <tr>\n <th>565</th>\n <td>M</td>\n <td>20.13</td>\n <td>28.25</td>\n <td>131.20</td>\n <td>1261.0</td>\n <td>0.09780</td>\n <td>0.10340</td>\n <td>0.14400</td>\n <td>0.09791</td>\n <td>0.1752</td>\n <td>...</td>\n <td>23.690</td>\n <td>38.25</td>\n <td>155.00</td>\n <td>1731.0</td>\n <td>0.11660</td>\n <td>0.19220</td>\n <td>0.3215</td>\n <td>0.1628</td>\n <td>0.2572</td>\n <td>0.06637</td>\n </tr>\n <tr>\n <th>566</th>\n <td>M</td>\n <td>16.60</td>\n <td>28.08</td>\n <td>108.30</td>\n <td>858.1</td>\n <td>0.08455</td>\n <td>0.10230</td>\n <td>0.09251</td>\n <td>0.05302</td>\n <td>0.1590</td>\n <td>...</td>\n <td>18.980</td>\n <td>34.12</td>\n <td>126.70</td>\n <td>1124.0</td>\n <td>0.11390</td>\n <td>0.30940</td>\n <td>0.3403</td>\n <td>0.1418</td>\n <td>0.2218</td>\n <td>0.07820</td>\n </tr>\n <tr>\n <th>567</th>\n <td>M</td>\n <td>20.60</td>\n <td>29.33</td>\n <td>140.10</td>\n <td>1265.0</td>\n <td>0.11780</td>\n <td>0.27700</td>\n <td>0.35140</td>\n <td>0.15200</td>\n <td>0.2397</td>\n <td>...</td>\n <td>25.740</td>\n <td>39.42</td>\n <td>184.60</td>\n <td>1821.0</td>\n <td>0.16500</td>\n <td>0.86810</td>\n <td>0.9387</td>\n <td>0.2650</td>\n <td>0.4087</td>\n <td>0.12400</td>\n </tr>\n <tr>\n <th>568</th>\n <td>B</td>\n <td>7.76</td>\n <td>24.54</td>\n <td>47.92</td>\n <td>181.0</td>\n <td>0.05263</td>\n <td>0.04362</td>\n <td>0.00000</td>\n <td>0.00000</td>\n <td>0.1587</td>\n <td>...</td>\n <td>9.456</td>\n <td>30.37</td>\n <td>59.16</td>\n <td>268.6</td>\n <td>0.08996</td>\n <td>0.06444</td>\n <td>0.0000</td>\n <td>0.0000</td>\n <td>0.2871</td>\n <td>0.07039</td>\n </tr>\n </tbody>\n</table>\n<p>5 rows × 31 columns</p>\n</div>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Missing Value Detection**"
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "print(\"Number of NA values : {0}\".format((df.shape[0] * df.shape[1]) - df.count().sum()))",
"execution_count": 6,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": "Number of NA values : 0\n"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Radial Visualization of features by Diagnosis**"
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "from pandas.tools.plotting import radviz\nradviz(df, \"diagnosis\");",
"execution_count": 7,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n/fUX+/btQ0dHB21tbVasWIG2tja5ubncu3cPhUKBUplXu0Qmk+Hk5ISzs7PqD8e+ffu4f/8+rVu3\nLnLRuSqtX7+eiIgIlixZQkpKClu3blW74Glvb4+np6faayIiIoq94F9bv3sVrar64MuV4CuSSPBV\nrzT7qTwjc6rC4cOHOXr0KKampiQkJNC4cWPVWXWbNm1wdHR85uiM7OxsgoODadSokepsvrBn7aeo\nqCgiIiJwcXFBW7vkH8S5ubncvXuXW7duAXndPpGRkaq4X331VXr27Fnat61xb7zxRrGzXcV3r3Sq\n/UVWoeb77bff+PHHH3F2diY+Pp6kpCTatm2Lt7d3kZE5T548oVGjRmrDNSdMmMCWLVvw9fXF0tKS\nyMhIVq5cWWSadWJiIp9++in169cnMTGR5cuX88svv5Q4E/NFXLt2TXWdw9zcHJlMxogRI0r9eh0d\nHTp27FimbQPY2tpia2v73OdpaWkhl8tVF6s///xztbgvX75c5gRfmtE3hUdTXb58GV9fX9avX4+Z\nmRkmJiYYGhoyceJEli5dio6ODmFhYUyaNImWLVuyfPlyDA0NiY+PZ/DgwarZrqtXr8bDw4MHDx4w\nePBgdHR0WLJkCVpaWiQmJjJnzhyOHz9OSEgICQkJjBkzBn19fbZv364anTVx4sQi76kmzFyuCUSC\nr+OGDx+OjY2N2miV5s2bP3NkTj6ZTEZ2djYRERG0adOGfv36FdvnnJ6eztOnT+nSpQvOzs6kp6er\njbw4c+bMCyV4SZI4e/YsUVFRmJiY8PjxYywtLYmLi1N10VR3bm5u7NmzBwsLC2JjY7G3t+e3336j\nYcOGqpm+pVWa0TeFR1P9+uuvBAUFAfD666/TuHFj3n//fcaOHcvAgQPJysri5MmT+Pv7ExISQrdu\n3Rg8eDAhISE4ODioZrvm5uYybdo0QkND2bRpE+bm5sTExNC0aVMyMjK4dOkSjx49Qk9Pj6FDh+Lk\n5ERQUFCxo7MKGzBgAL169WL06NGsXr2as2fPcu7cOUJCQrCxsUFXV5ewsDDVzGWlUsnly5c5efIk\nI0aMUM1cXrNmDbdv3y5zV2ZNJhJ8HWdqasqqVatUo1X279+vGtkCRUc8aGtrk52dTW5uLklJSSiV\nSubOnUtaWhqbNm1i8uTJRX566urq8sknnxATE8PKlSuZP3++2siLv/76q1SxJiYm4ufnR25uLt26\n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\nvzMr6sW/8AAAAABJRU5ErkJggg==\n",
"text/plain": "<matplotlib.figure.Figure at 0xbed8c50>"
},
"metadata": {}
}
]
},
{
"metadata": {
"collapsed": true,
"trusted": true
},
"cell_type": "code",
"source": "XE = df\nYE = df.diagnosis",
"execution_count": 8,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Encode Labels for Feature Importance Extra Tree Classifier ** "
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#One hot encoder that turns the string labels in to a format for the algorithm\nfor feature in XE.columns:\n if XE[feature].dtype=='object':\n le = LabelEncoder()\n XE[feature] = le.fit_transform(XE[feature])\nXE.tail(3)",
"execution_count": 9,
"outputs": [
{
"execution_count": 9,
"output_type": "execute_result",
"data": {
"text/plain": " diagnosis radius_mean texture_mean perimeter_mean area_mean \\\n566 1 16.60 28.08 108.30 858.1 \n567 1 20.60 29.33 140.10 1265.0 \n568 0 7.76 24.54 47.92 181.0 \n\n smoothness_mean compactness_mean concavity_mean concave points_mean \\\n566 0.08455 0.10230 0.09251 0.05302 \n567 0.11780 0.27700 0.35140 0.15200 \n568 0.05263 0.04362 0.00000 0.00000 \n\n symmetry_mean ... radius_worst texture_worst \\\n566 0.1590 ... 18.980 34.12 \n567 0.2397 ... 25.740 39.42 \n568 0.1587 ... 9.456 30.37 \n\n perimeter_worst area_worst smoothness_worst compactness_worst \\\n566 126.70 1124.0 0.11390 0.30940 \n567 184.60 1821.0 0.16500 0.86810 \n568 59.16 268.6 0.08996 0.06444 \n\n concavity_worst concave points_worst symmetry_worst \\\n566 0.3403 0.1418 0.2218 \n567 0.9387 0.2650 0.4087 \n568 0.0000 0.0000 0.2871 \n\n fractal_dimension_worst \n566 0.07820 \n567 0.12400 \n568 0.07039 \n\n[3 rows x 31 columns]",
"text/html": "<div>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>diagnosis</th>\n <th>radius_mean</th>\n <th>texture_mean</th>\n <th>perimeter_mean</th>\n <th>area_mean</th>\n <th>smoothness_mean</th>\n <th>compactness_mean</th>\n <th>concavity_mean</th>\n <th>concave points_mean</th>\n <th>symmetry_mean</th>\n <th>...</th>\n <th>radius_worst</th>\n <th>texture_worst</th>\n <th>perimeter_worst</th>\n <th>area_worst</th>\n <th>smoothness_worst</th>\n <th>compactness_worst</th>\n <th>concavity_worst</th>\n <th>concave points_worst</th>\n <th>symmetry_worst</th>\n <th>fractal_dimension_worst</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>566</th>\n <td>1</td>\n <td>16.60</td>\n <td>28.08</td>\n <td>108.30</td>\n <td>858.1</td>\n <td>0.08455</td>\n <td>0.10230</td>\n <td>0.09251</td>\n <td>0.05302</td>\n <td>0.1590</td>\n <td>...</td>\n <td>18.980</td>\n <td>34.12</td>\n <td>126.70</td>\n <td>1124.0</td>\n <td>0.11390</td>\n <td>0.30940</td>\n <td>0.3403</td>\n <td>0.1418</td>\n <td>0.2218</td>\n <td>0.07820</td>\n </tr>\n <tr>\n <th>567</th>\n <td>1</td>\n <td>20.60</td>\n <td>29.33</td>\n <td>140.10</td>\n <td>1265.0</td>\n <td>0.11780</td>\n <td>0.27700</td>\n <td>0.35140</td>\n <td>0.15200</td>\n <td>0.2397</td>\n <td>...</td>\n <td>25.740</td>\n <td>39.42</td>\n <td>184.60</td>\n <td>1821.0</td>\n <td>0.16500</td>\n <td>0.86810</td>\n <td>0.9387</td>\n <td>0.2650</td>\n <td>0.4087</td>\n <td>0.12400</td>\n </tr>\n <tr>\n <th>568</th>\n <td>0</td>\n <td>7.76</td>\n <td>24.54</td>\n <td>47.92</td>\n <td>181.0</td>\n <td>0.05263</td>\n <td>0.04362</td>\n <td>0.00000</td>\n <td>0.00000</td>\n <td>0.1587</td>\n <td>...</td>\n <td>9.456</td>\n <td>30.37</td>\n <td>59.16</td>\n <td>268.6</td>\n <td>0.08996</td>\n <td>0.06444</td>\n <td>0.0000</td>\n <td>0.0000</td>\n <td>0.2871</td>\n <td>0.07039</td>\n </tr>\n </tbody>\n</table>\n<p>3 rows × 31 columns</p>\n</div>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Feature Selection - Selecting only highly prdictive features using random forest Model**"
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#Feature Importance - selecting only highly prdictive features using random forest Model\nfrom sklearn.ensemble import ExtraTreesClassifier\ndf.shape\n# feature extraction\nmodel = ExtraTreesClassifier(n_estimators = 250, max_features = \"auto\", random_state=0)\nmodel.fit(XE, YE)\nprint(model.feature_importances_)",
"execution_count": 10,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": "[ 0.40185926 0.04220558 0.01095037 0.02167439 0.03424769 0.0036195\n 0.01177978 0.04854262 0.05861388 0.00344996 0.0019013 0.01265307\n 0.00184723 0.01242945 0.01882787 0.0019354 0.00202329 0.0040758\n 0.00423104 0.00152555 0.00172974 0.05300822 0.01229509 0.04919915\n 0.04729567 0.0092959 0.02478544 0.02328619 0.07024402 0.00623683\n 0.00423072]\n"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Important Feature Ranking**"
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#Ranking the most imporatnt predictive variables potentially build model based on top ranked i.e 1 -16\nfeatureimportance = model.feature_importances_\nstd = np.std([tree.feature_importances_ for tree in model.estimators_], axis=0)\nindices = np.argsort(featureimportance)[::-1]\n#Print top ranked predictive features\nprint(\"Feature ranking:\")\n\nfor feature in range(XE.shape[1]):\n print(\"%d. feature %d (%f)\" % (feature + 1, indices[feature], featureimportance[indices[feature]])) ",
"execution_count": 11,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": "Feature ranking:\n1. feature 0 (0.401859)\n2. feature 28 (0.070244)\n3. feature 8 (0.058614)\n4. feature 21 (0.053008)\n5. feature 23 (0.049199)\n6. feature 7 (0.048543)\n7. feature 24 (0.047296)\n8. feature 1 (0.042206)\n9. feature 4 (0.034248)\n10. feature 26 (0.024785)\n11. feature 27 (0.023286)\n12. feature 3 (0.021674)\n13. feature 14 (0.018828)\n14. feature 11 (0.012653)\n15. feature 13 (0.012429)\n16. feature 22 (0.012295)\n17. feature 6 (0.011780)\n18. feature 2 (0.010950)\n19. feature 25 (0.009296)\n20. feature 29 (0.006237)\n21. feature 18 (0.004231)\n22. feature 30 (0.004231)\n23. feature 17 (0.004076)\n24. feature 5 (0.003620)\n25. feature 9 (0.003450)\n26. feature 16 (0.002023)\n27. feature 15 (0.001935)\n28. feature 10 (0.001901)\n29. feature 12 (0.001847)\n30. feature 20 (0.001730)\n31. feature 19 (0.001526)\n"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Results:** Top predictive variables "
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#Create Y and X matrix with newly selected features outputted from the previous stage\nfeature_cols = ['concave points_mean','radius_worst', 'area_worst','symmetry_worst','concavity_mean']\nX = df[feature_cols]\ny = df.diagnosis",
"execution_count": 12,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Uni-variate / Bi-variate Analysis**"
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "sns.FacetGrid(df, hue=\"diagnosis\", size=5) \\\n .map(plt.scatter, \"radius_worst\", \"symmetry_worst\") \\\n .add_legend();",
"execution_count": 13,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\ngQ7LTQAAAABJRU5ErkJggg==\n",
"text/plain": "<matplotlib.figure.Figure at 0xca34240>"
},
"metadata": {}
}
]
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "sns.violinplot(x=\"diagnosis\", y=\"concavity_mean\", data =df);",
"execution_count": 14,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": "<matplotlib.figure.Figure at 0xc821940>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Cross Validation Train/Test Split** \n\nSplit the data into x and y into training and test sets"
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "from sklearn.cross_validation import train_test_split\nX_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)",
"execution_count": 15,
"outputs": [
{
"output_type": "stream",
"name": "stderr",
"text": "C:\\Users\\IBM_ADMIN\\Anaconda2\\lib\\site-packages\\sklearn\\cross_validation.py:44: DeprecationWarning: This module was deprecated in version 0.18 in favor of the model_selection module into which all the refactored classes and functions are moved. Also note that the interface of the new CV iterators are different from that of this module. This module will be removed in 0.20.\n \"This module will be removed in 0.20.\", DeprecationWarning)\n"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "__Machine Learning: Creating A set of Predictive Models__"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "** Creating a Logistic Regression Model**\n\nDespite its name Logistic regression is a very powerful classification model where the dependent variable is categorical. In logistic regression we use a \"hypothesis class\" to make a prediction that a given new example belongs to Benign class Vs the probability that it belongs to the Malignant class. "
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#Classification model\nfrom sklearn.linear_model import LogisticRegression\nLRmodel = LogisticRegression()\nLRmodel.fit(X_train, y_train)\n# during the fitting process the model is learning the relationship between X_train & y_train",
"execution_count": 16,
"outputs": [
{
"execution_count": 16,
"output_type": "execute_result",
"data": {
"text/plain": "LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\n intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\n penalty='l2', random_state=None, solver='liblinear', tol=0.0001,\n verbose=0, warm_start=False)"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Make class predictions for the test set**\n\nFirst we pass X_test the feature matrix for the testing set to the predict () method \nfor the fitted model"
},
{
"metadata": {
"collapsed": true,
"trusted": true
},
"cell_type": "code",
"source": "#make class predictions for the test set\n#we pass X_test the feature matrix for the testing set to the predict () method \n#for the fitted model\ny_predict_class = LRmodel.predict(X_test)\n#outputs a class prediction 1 or 0 for every observation in the testing set which\n#is then stored in an object called y_pred_class",
"execution_count": 17,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Evaluate Model Performance:**"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Metric 1: Classification Accurracy: % of correct predictions**\n\nFor the test set the accuracy score function can tell us what percentage of the predictions in y_pred_class are correct."
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "# calculate accurracy pass y_test and y_predict_class to the accurracy score function\nfrom sklearn import metrics\nprint (metrics.accuracy_score(y_test, y_predict_class))#y_test contains true response values\n#for the test set the accuracy score function can tell us what percentage of the predictions in \n#y_pred_class are correct.",
"execution_count": 18,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": "0.93006993007\n"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Metric 2: Null Accuracy: Accuracy that could be achieved by always predicting most frequent class**"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Analysis the class distribution of the test set. When we evaluate the class distribution counts below we see that the 0 value is present 90 times and the 1 value is present 53 times. Null accuracy tests that if this model was to predict the dominant class 100% of the time, how often would it be correct."
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#display the class distribution\ny_test.value_counts()",
"execution_count": 19,
"outputs": [
{
"execution_count": 19,
"output_type": "execute_result",
"data": {
"text/plain": "0 90\n1 53\nName: diagnosis, dtype: int64"
},
"metadata": {}
}
]
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "##the below y_test only contains ones and zeros.\n#Calcualte the percent of 1's by taking the mean()\ny_test.mean()",
"execution_count": 20,
"outputs": [
{
"execution_count": 20,
"output_type": "execute_result",
"data": {
"text/plain": "0.3706293706293706"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Result: 37% of the values in y_test are ones "
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#calcualte percentage of zero's \n1 - y_test.mean()",
"execution_count": 21,
"outputs": [
{
"execution_count": 21,
"output_type": "execute_result",
"data": {
"text/plain": "0.6293706293706294"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Results:** 63% as this is greather than 37% we can safely suggest that this is the null accuracy for this question. The model will predict 63% of the time that the patient will not have a milignant diagnosis 63% of the time, this is not to useful but will provide a basis of what we can compare our logit model against. If we compare the classification accuracy of 93% of our model above to our null accuracy we cleary see that the classification accuracy does not tell us anything about the underlying distribution of the test set and does not tell us what type of errors outr model is making."
},
{
"metadata": {
"collapsed": true,
"trusted": true
},
"cell_type": "code",
"source": "#code for null accuracy binary problem zero & one\n#max(y_test.mean(), 1 - y_test.mean())",
"execution_count": 22,
"outputs": []
},
{
"metadata": {
"collapsed": true,
"trusted": true
},
"cell_type": "code",
"source": "#Code for null accuracy multiclass problem \n#y_test.value_counts().head(1)/len(y_test)",
"execution_count": 23,
"outputs": []
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#Print out true and predicted responses to see a snapshot of some of the errors the model \n#is producing for instance.\nprint ('True:', y_test.values[0:30])\nprint ('Pred:', y_predict_class[0:30])",
"execution_count": 24,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": "True: [1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 0 0 1 0 0 1 0 1]\nPred: [1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 1 1 0 0 1 0 0 0 0 1]\n"
}
]
},
{
"metadata": {
"collapsed": true
},
"cell_type": "markdown",
"source": "**Metric 3: Confusion Matrix**\n\nA table that assesses the performance of a classification model"
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#true values i.e y_test needs to be the first argument otherwise we wont see any errors produced\nfrom sklearn.metrics import confusion_matrix\nprint (metrics.confusion_matrix(y_test, y_predict_class))",
"execution_count": 25,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": "[[85 5]\n [ 5 48]]\n"
}
]
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "from IPython.display import Image\nImage(\"C:\\\\data\\\\CM PSCD.PNG\", width=900, height=600)",
"execution_count": 26,
"outputs": [
{
"execution_count": 26,
"output_type": "execute_result",
"data": {
"image/png": "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\n+HOf+9zpe7/3e7tDtiOZBgAAQAuSaQAP5fd///fDRLk1ZHsAAACghmQaAAAAAIBOJNMAAAAAAHQi\nmQYAAAAAoBPJNAAAAAAAnUimARzXx9fThw8fxnj9OC10WsoEPr4O5V/eTp+mz3cvzcPL6S0N6NPp\n7WWP8e1Vz5Vs3PfHcss5/nh6HebqbqfqLo3792U8MQEAD4ZkGngAn95ezklFCk2q7tn44L/+ENpS\nJkYy3eLIyfT2fX8st5vjdJ1I7UxtzteLIN454x6vaa/DXj6Llt2FdG7eYb8BAFUk08CdS0mhT54/\nvZ1e7v3hLY2h8kOBljIFj51Mb3Dp9rd2wb5/N+86xytvSA+47x8qmR56zDcCAOAxkUwDd2x8uLyz\nhKJVywP+BUkAybRzwIRq1b31V7xnn9d++HDAuXysZFqm+P3f9gMA9kcyDdytnq+HLr/WuXiuSw/b\nK+vTA7epwxeobW/5utwD8vi2PQ9f33qZ+ngXyfSl4zfmB2e3jd1Ey4wJgqw3c9DQ1nm7adu0zTkh\nWoxvkG9z7k80l/oGM6pn0b8gwYnnoDFhq9Qf9TeYovY++PYWlZW+Fm37tX7Mtc7xWK4wn3Y/VPuc\nW01EU13LeWnpS/r3Yo4vO39E1N/VMViVtrTP5/NhrLO0PPF1lualsH1z3wEAd4VkGrhbrb8zOj7k\n2+fJ8cHOPjz7umSbtQfBKXGYK13f3lq2PT2E+of5wgN+JizTMt6pzTk5uXT8uXE8tv5lH6IyoqWt\nxXjmB31X/0r745hNO4X5rtczlQmX5dv6uiKt9Q8Ll8uclj7U53s5/2O9y21qx1ypz1mfpn2ZH1r5\n8Vnv85Ifd6Y0l9MPmLJq3bJojv3Yt/R3uU28zGtpK+qzKC334xFj2WjZcvuk4XgFANwfkmngXk0P\ntfVkOrB4SPbJpDWuWzz3podDfWhd294qlQuWtzx8tj6gBklBevCdH3ovHX8ur1vlbYwP3n77lrYK\nfXVz0T6+SWEu2+pZLg/noLq/2uuv19XSh7HelvnOyjS0HR1zpe3yfo7J33KsK/0RWRmvkrwWx7Pc\nzier4RxPfRzHsKW/y3ZEPZluayv1OagnXm7HYi2Xl+pNouMBAHD3SKaBe9WVTE8PxUN5G/bBbnxQ\nleXuoXpqx2/ryxa3t4oPlMHDfvEB36glAVlf83Z9EnDp+K04wcjHGJZpaas0h24usvqL824U5rKt\n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\nk9Zn25p5nN/6j1Han2KtnlofRsux2PZW++nM7dnPUtlq+7mxvXz/+3rLx0idP9/yuV2fi6S2b9z5\nujjXGvbt2pzPc1Gb01o/Ctbmx++Hi+drZZ1tK5oPLbvs06Ay9rTNsOw81uWxpGV8XYs+luppmP98\nrodt0zbuGuHGVto/qaxZLpGdpzv0J7LW7tz/rO3rXH8u78egYY6sVK+Ucdvlm20f39zv9GlS6WPc\nJ3dM2e2HiObTajoufL+Ccyqp9H9orO/etzLWWaVvPXMy75PVNlv2+XJ+5rqnz4t+r01G0nA9vmMk\n08j4m2GKAxzx8wVl0ZflCTpePNqT6bluH/5GkZzbk3p1vrS+ef5Mo/X6XV/DC2Ep2R4ibRTNw3Kd\n7XM2vvkmcb6IVvvtbixjBDeLRPtfWm/aM3M36p9zEe3rWdh3jXIfx7aiG/HUR9OH1P48x4X1pRun\n2Td5PbXP+7UzLBjK+LkY9+N5TqW9aD6MsJ6WPoxjsbt1nH9XV6F+z4+vaQ4W7Lk6zbWb2/l4NBEe\ng85ybNKW1t0yF+v7ZnnsTv2fK+3Yt5v3aUs/Yuvz49u5dL7W52JxnKzNR+fYozn0ojJ+fKV6Wvqw\nmKs0PqnP1b/S/lAi2z9jHcs52qs/RZuP1bEf68fQoFD/wuZ+tM2RF9Wb9/+y8W3pY8tYS+1FFv1N\n20ob52XRmMZ+5Mvq/e+4Pg5axtrat3Fcblmg3mbDPp/mMD+08rHX58praPfOkUwjMx7g0wmpUTxB\nbme+SCz6Mp3Ess5ekKeTX5bbTbSe8wVRy9mTWuuMTvRze2O90/ZT2/P8zY021K+Jnemo9nMxXGNu\na3Fxzus6tzfVNyeS5z5t6rfeuLILtS1vRfXlWvbxuKo256NyfdvNbZXCtJXan+dm7HPWleAGmW8z\nceV8mWu1E22n9Z/PnwZhPY198KZjtza+yPq8TZrqOh+PEtXDK9U5lF0tuGFeF3OxVkdwXIjUN30o\n6uhDYZ7qc9rSj0i9b2Hb1ob5KrW3aKtpPtrGnrZZnQtfr8r7HNfT0ofC2N0Yo7Gt7R+//Wi//hQV\nyoVzWKvzguvP9n60zNFSyzGy0DG+aP/X+tg054X2llqOi9J4/fKW/pfqirXu13rfBo1z0jS/3mKf\nj/e3Zfv5PPQejwvRsXbHSKaRCZOFAxzt6SIR9sUnWmo84f1yrWe+UKQLwFR3EMuhL9vTOZPPi8Su\n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\nJ8598zF2pbxeIhvmYJ4/v+IC4Tlgw7SV39DGMWddCW5wi5ugcOV8mWu1E22n9deSx0xYT2MfvCiB\nqW0zWZ+3SWNdmbTNUFfxONswZ4txrtUR7HOR+qUPcO196J+nWt2l9cvlqS330Cni5TuNu7DP83FP\n1x7T2HgtWPbVCufO9Wn3sbnx5H3YOh/79SdUKBPOX62+C64R2/vRMj+xlmNkoWOM0f6v9bNp3gvt\nefvsw8p8BKJ2w3O2uy/LuqtzHLSxz7w01lOrF1dFMo1MmEgsrsq3Uku8pMh44VmUmS885zrGbcaL\n4Lmsueimi5Fdl0c8DaU+uoua1u0viHP/84eVcz32puDHIpv7pFgsy6WL8fB5vFEt17eNfa1vnpb1\nF/fSfGkbjfM50XHteYyWH6Cnvpm28ptcYb2rq+XG6Mtcq53F58n5OhDP+0KhnqY+6Hiy/W2OTVGo\n31uft0ljXV40x7PgAWipPs7ivJeucynOZVv3W/c81cZXXF87Z87C5S3jbpn7xuMzP/eXfY/E48m3\n3X1sbjxZ/VvnY8f+hBr3QbIou981YnM/WuanoOUYuWSM0f739Yxx3rZp3hvndK992HvfidrNz+HJ\nhr74uvPPft9N67fcgzf0Jdm4r3AdJNM4sPNFJvxp5dpNw1/0hmXLm9K5fFrnlvnItp9V+qi0bn9B\nnMcQXfx928uxzDefrHPBmG37UZs9Yw/75tWT6Xi+GudzMt7ANhwfKzed8GacTH0zAw5vsFk7y3pa\nboy+zLXaWXx2Uh2F+jOFeup9mI4TexBN+215zJX7qdbnbdJYl1c+LgZRnzON45ws5r1af66237rn\nqdZ+cX3tnDkLl7eMu6VM8/E57qd0PWmc83g8+bh3H5sbT1b/1vnYsT+h5n0wyMrue43Y3I+W+Smo\nHyOXjbF7/w/q8x58LthtH05SfVK+ct+J2q0n02198XXnn/e6B2/rS7JxX+E6SKZxYOcLVpgspYuH\nu8gslp3rSBcnWW+uUlkyOl3E+i5IlT6que7gIinLtb9r/fNjseuzC+2y3FDxeNEexvb6auuctIx9\ntW9e1AdRm6/G+Ux6yrYLb8bJ1J4ZUHaTS3NYP3Zaboy+zLXaWXyOTMdGuJtVoZ5qH6K6o2Ut/Rys\nzptqrMsL65qN51fxOGwdp5Wtr9QfWam/f55q7ZfWL5eX5jFe3jLuhjIdx6cu+yjXgaCfXku/dx+b\n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\n+FzUclyU+uWXt/U/E82VsX2/Bssb56TaZus+H2qQ56rUB9k+q3PDXO2MZBoHVkmCphMuJU8+5hPN\nJV/pJHZlh9D604kfrC//tM/VPxtP7nl7s7LaRqGPWR+axj7wdaV+xH32/crHs73fpQuc1pevr+zz\nDfNt1/kxXWJzMu37quFuOPk2kzTH5xuYL3OtdsKbm5Sx2/ltIuFNsqUP01jmDQvHQaF+b33eJrXx\npLby/T//UGet/c1zoPW7Pvn94KR6s21kLs/9ztttmGffnu3j2rr00Y3RrVe+XMu4w/kL+HLhdoV+\nqbRNtj6YU7f9uCw/XsK2B6XlzfOw0rf+40/qK1/H1dhuXse4rHSsnW0a19y38zJf/2KbxrnYqz+h\nzed/w7kpCvWH3uValNc9LtN9ctkYfb83XzfcWHvmdByP2TbVlS9blBnk8zCq9t/Pt++30zLW1r61\nzkm9zcZ9Lqbxvg11+uvRluNxTyTTOLDzSVW8kaeTciwzlnsbT8z5BFqemOOFwW6T1+3Xj+EuJLPK\niT9t39fGdHEJw/SjOnZx7l+K1MlCn219hQtQbW5qc2uNF7+hXNaJ2j7fMN/TRb+8D7cZ+x/VOfXR\ndDDNizsm8/5P25h5z7eZpDG6G19xm/3aEamcm1+7TGKxTwLFemp9sMdnams8T3ybUf2eb6+p/YBt\na4z18irqY2sf5vNGw28T8P20c7Zot2Geq/WtrVu0tZyzRblBbdzRNhFfLtxuw773x2HLfir1eW0s\nzfWaMr5vdv3q8Td8SteLhuN63j47fvLtdh2XrE/X9nMbUf3ZNkO0zIXYoz8lUZtR34eFQxlTX8O5\nKUpjimzuy6Bljqy53pVjZGxH1/WNMep3rY+tY43aK7FlU93BcdE6d039N+v9PFmtY23tW8ucNLXZ\nuM+Hgmn54piZ9B6PeyKZBg5GL1DZheRKCeG7utGY5gvsDS+sa8b+LMdcWr7VrdoB8KiWP3wrCR+a\nAYNjBI+KZBo4GPvTvkWs/djx7uhbj/Wfpl7mFm300eQ+78/0E9cdO3mrdgA8qOkHni2XCxIl1HCM\n4FGRTAOHc04AbdS+WnSPNOG7WnJ30Df687hNXGP/3qodAI9n/MFu27WTRAk1j36M+HstcZy4NpJp\nAAAAAAA6kUwDAAAAANCJZBoAAAAAgE4k0wAAAAAAdCKZBgAAAACgE8k0AAAAAACdSKYBAAAAAOhE\n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\nRK5CYII=\n",
"text/plain": "<IPython.core.display.Image object>"
},
"metadata": {
"image/png": {
"width": 900,
"height": 600
}
}
}
]
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "Image(\"C:\\\\data\\\\CM -Prediction of Skin Cancer Diagnosis.PNG\", width=900, height=600)",
"execution_count": 27,
"outputs": [
{
"execution_count": 27,
"output_type": "execute_result",
"data": {
"image/png": "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\nRS3g/wdI9Uj0o+5hpQAAAABJRU5ErkJggg==\n",
"text/plain": "<IPython.core.display.Image object>"
},
"metadata": {
"image/png": {
"width": 900,
"height": 600
}
}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "The graphic above shows some highlighted examples of a mix of true postive and true negative results in green and an example of a false negative results in red."
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#1st way to compute the claasification accuracy for confusion matrix\nconfusion = metrics.confusion_matrix(y_test,y_predict_class)\nTP = confusion[1,1]\nTN = confusion[0,0]\nFP = confusion[0,1]\nFN = confusion[1,0]",
"execution_count": 28,
"outputs": []
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#classifiaction accuracy score\n(TP + TN)/float(TP + TN + FP + FN)",
"execution_count": 29,
"outputs": [
{
"execution_count": 29,
"output_type": "execute_result",
"data": {
"text/plain": "0.93006993006993011"
},
"metadata": {}
}
]
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#2nd way to compute the claasification accuracy for confusion matrix\nfrom sklearn import metrics\nprint (metrics.accuracy_score(y_test, y_predict_class))",
"execution_count": 30,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": "0.93006993007\n"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Metric 4: Mis - Classification Rate**\n\nThis is equal to the FP + FN / total observations"
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "# add the FP + FN / float(total)\n1 - metrics.accuracy_score(y_test, y_predict_class)",
"execution_count": 31,
"outputs": [
{
"execution_count": 31,
"output_type": "execute_result",
"data": {
"text/plain": "0.069930069930069894"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Metric 5: Sensitivity (recall) & Specificity **\n\nSensitivity how often is the prediction correct, how sensitive is the classifier to predicting positive instances!\n\nSpecificity when the actual value is a negative, how often is the prediction correct? How selective is the model at predicting positive instances"
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#Sensitivity (recall) TP / float(TP + FN)\nmetrics.recall_score(y_test, y_predict_class)",
"execution_count": 32,
"outputs": [
{
"execution_count": 32,
"output_type": "execute_result",
"data": {
"text/plain": "0.90566037735849059"
},
"metadata": {}
}
]
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#Specificity need to maximise TN/ total\nTN /float(TN+ FP)",
"execution_count": 33,
"outputs": [
{
"execution_count": 33,
"output_type": "execute_result",
"data": {
"text/plain": "0.94444444444444442"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Metric 6: False Positive Rate**\n\nThe actual value is negative. How often is the prediction incorrect?"
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#Calculate the False Positive rate\nFP / float (TN + FP)",
"execution_count": 34,
"outputs": [
{
"execution_count": 34,
"output_type": "execute_result",
"data": {
"text/plain": "0.055555555555555552"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Metric 6: Precision**\n\nWhen a positive instance is predicted, how often is the prediction correct"
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#precision TP/float(TP + FP)\nmetrics.precision_score(y_test, y_predict_class)",
"execution_count": 35,
"outputs": [
{
"execution_count": 35,
"output_type": "execute_result",
"data": {
"text/plain": "0.90566037735849059"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Improving Performance: Changing the Classification Threshold to assist the performance model**"
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#Print first 10 predictions of the logistic regression model\nLRmodel.predict(X_test)[0:10]",
"execution_count": 36,
"outputs": [
{
"execution_count": 36,
"output_type": "execute_result",
"data": {
"text/plain": "array([1, 0, 0, 0, 0, 0, 0, 0, 0, 0], dtype=int64)"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Print the first 10 prediction probabilities for class membership\n\nleft colunm shows predicted probability of class zero\n\nRight shows predicted probabilty of class one"
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#Print the first 10 prediction probabilities for class memebership\n#left colunm shows predicted probably of class zero\n#Right shows \"\" \"\" of class one\nLRmodel.predict_proba(X_test)[0:10, :]",
"execution_count": 37,
"outputs": [
{
"execution_count": 37,
"output_type": "execute_result",
"data": {
"text/plain": "array([[ 0.4050764 , 0.5949236 ],\n [ 0.92001903, 0.07998097],\n [ 0.87160313, 0.12839687],\n [ 0.60269255, 0.39730745],\n [ 0.96295384, 0.03704616],\n [ 0.97194111, 0.02805889],\n [ 0.97212734, 0.02787266],\n [ 0.97287178, 0.02712822],\n [ 0.99229454, 0.00770546],\n [ 0.98964261, 0.01035739]])"
},
"metadata": {}
}
]
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#predicted probabilties of class 1\ny_predicted_prob = LRmodel.predict_proba(X_test)[:,1]\ny_predicted_prob",
"execution_count": 38,
"outputs": [
{
"execution_count": 38,
"output_type": "execute_result",
"data": {
"text/plain": "array([ 0.5949236 , 0.07998097, 0.12839687, 0.39730745, 0.03704616,\n 0.02805889, 0.02787266, 0.02712822, 0.00770546, 0.01035739,\n 0.34819238, 0.34401188, 0.00839074, 0.8844614 , 0.34883838,\n 0.9683782 , 0.01119844, 0.99999891, 0.99632126, 0.99999988,\n 0.74553776, 0.880426 , 0.10462839, 0.04127744, 0.99978523,\n 0.05868857, 0.02264456, 0.23895241, 0.1039025 , 0.999999 ,\n 0.04023106, 0.99999967, 0.17854556, 0.98354996, 0.01078724,\n 0.61427741, 0.16304831, 0.99983723, 0.189259 , 0.90804021,\n 0.73939874, 0.00880361, 0.9733486 , 0.01241581, 0.22477001,\n 0.99999991, 0.00725354, 0.14098749, 0.03127663, 0.82215601,\n 0.99760753, 0.34708804, 0.99994205, 0.02883654, 0.04321303,\n 0.02341593, 0.02208396, 0.0421101 , 0.04198372, 1. ,\n 0.3646413 , 0.99039895, 0.02178728, 0.07921516, 0.99944056,\n 0.04552427, 1. , 0.99676009, 0.99997142, 0.01053309,\n 0.5542699 , 0.99664509, 0.02824856, 0.23473253, 0.99990075,\n 0.06985463, 0.00940011, 0.05248624, 0.03908923, 0.00890815,\n 0.96218018, 0.99997366, 0.99634121, 0.02893585, 0.92552067,\n 0.03874369, 0.14308227, 0.00805859, 0.99938217, 0.99999309,\n 0.0085265 , 0.86386627, 0.55578614, 0.72956475, 0.01191934,\n 0.01426497, 0.99999656, 0.10984142, 0.03564838, 0.02913212,\n 0.00824045, 0.0436735 , 0.27298281, 0.1313435 , 0.99994123,\n 0.00762231, 0.99705196, 0.09714986, 0.80893598, 0.88271574,\n 0.06937122, 0.99968478, 0.99978607, 0.45671596, 0.01461387,\n 0.02462841, 0.69530174, 0.02199462, 0.08728206, 0.08234044,\n 0.0349817 , 0.04989745, 0.43739152, 0.02023716, 0.99994447,\n 0.03161879, 0.57734806, 0.01932297, 0.011838 , 0.01326551,\n 0.99931787, 0.01985985, 0.08001529, 0.11413993, 0.02824452,\n 0.02572074, 0.36778528, 0.79129863, 1. , 0.01157835,\n 0.04948473, 0.07078188, 1. ])"
},
"metadata": {}
}
]
},
{
"metadata": {
"collapsed": true,
"trusted": true
},
"cell_type": "code",
"source": "import matplotlib.pyplot as plt\n%matplotlib inline\nplt.rcParams['font.size']=12",
"execution_count": 39,
"outputs": []
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#Analysis the distribution of class distribution\nplt.hist(y_predict_class, bins= 10)\nplt.xlim(0,1)\nplt.title('Histogram of Predicted Classes')\nplt.xlabel('Predicted Probability of Breast Cancer')\nplt.ylabel('Frequency')",
"execution_count": 40,
"outputs": [
{
"execution_count": 40,
"output_type": "execute_result",
"data": {
"text/plain": "<matplotlib.text.Text at 0xd27f860>"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\nSUVORK5CYII=\n",
"text/plain": "<matplotlib.figure.Figure at 0xd1dfbe0>"
},
"metadata": {}
}
]
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#Analysis the distribution of a numerical variable\nplt.hist(y_predicted_prob, bins= 10)\nplt.xlim(0,1)\nplt.title('Histogram of Predicted Probabilities')\nplt.xlabel('Predicted Probability of Breast Cancer')\nplt.ylabel('Frequency')",
"execution_count": 41,
"outputs": [
{
"execution_count": 41,
"output_type": "execute_result",
"data": {
"text/plain": "<matplotlib.text.Text at 0xceb3c88>"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\nTkSuQmCC\n",
"text/plain": "<matplotlib.figure.Figure at 0xd4f4748>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "When we analyze the the histagram to see if we can adjust the classification threshold i.e 0.5 to improve the performance of the model. We see that that the first bar has about 69 percent of the observations had values between 0.0 and 0.1. \n\nWe see that class 1 on the far right is predicted 38% of the time. If we adjust the classification threshold for example from 0.5 to 0.4 we can alter the sensitivity & Specificity(inverse relationship). \n\nThe increase of Sensitivity in this way can shift many of the obervations predicted above the threshold into class 1 making the model more sensitive to positive instances."
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Adjusting the Classification to Threshold (0.3) to Improve Model performance**\n\nNext we will experiment with this concept and lower the threshold;"
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#alter the default predict probabilty to 0.3\nfrom sklearn.preprocessing import binarize\ny_pred_class = binarize(y_predicted_prob, 0.3)[0]",
"execution_count": 42,
"outputs": [
{
"output_type": "stream",
"name": "stderr",
"text": "C:\\Users\\IBM_ADMIN\\Anaconda2\\lib\\site-packages\\sklearn\\utils\\validation.py:395: DeprecationWarning: Passing 1d arrays as data is deprecated in 0.17 and will raise ValueError in 0.19. Reshape your data either using X.reshape(-1, 1) if your data has a single feature or X.reshape(1, -1) if it contains a single sample.\n DeprecationWarning)\n"
}
]
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#print the first 10 predicted probabilities with lower threshold\ny_predicted_prob[0:10]",
"execution_count": 43,
"outputs": [
{
"execution_count": 43,
"output_type": "execute_result",
"data": {
"text/plain": "array([ 0.5949236 , 0.07998097, 0.12839687, 0.39730745, 0.03704616,\n 0.02805889, 0.02787266, 0.02712822, 0.00770546, 0.01035739])"
},
"metadata": {}
}
]
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#print the first 10 predicted classes with lower threshold\ny_pred_class[0:10]",
"execution_count": 44,
"outputs": [
{
"execution_count": 44,
"output_type": "execute_result",
"data": {
"text/plain": "array([ 1., 0., 0., 1., 0., 0., 0., 0., 0., 0.])"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Confusion Matrix at Default Threshold 0.5**"
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#previous confusion matrix before threshold change (default 0.5)\nconfusion",
"execution_count": 45,
"outputs": [
{
"execution_count": 45,
"output_type": "execute_result",
"data": {
"text/plain": "array([[85, 5],\n [ 5, 48]])"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Confusion Matrix at new Threshold 0.3**"
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#new confusion matrix (threshold 0.3)\nmetrics.confusion_matrix(y_test, y_pred_class)",
"execution_count": 46,
"outputs": [
{
"execution_count": 46,
"output_type": "execute_result",
"data": {
"text/plain": "array([[79, 11],\n [ 2, 51]])"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Specificity i.e TN /float(TN+ FP) has decreased from 94% to 91% as oberservations moved \nfrom left to right colunm meaning FP will increase and TN will decrease. "
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Sensitivity/ Recall (New)**"
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#Sensitivity (recall) TP / float(TP + FN) has gone from 90% previous to 96%\nmetrics.recall_score(y_test, y_pred_class)",
"execution_count": 47,
"outputs": [
{
"execution_count": 47,
"output_type": "execute_result",
"data": {
"text/plain": "0.96226415094339623"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Specificity (New)**"
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#Specificity TN /float(TN+ FP) has decreased from 94% to 91% as oberservations moved \n#from left to right colunm meaning FP will increase and TN will decrease. \n51/ float(51 + 5)",
"execution_count": 48,
"outputs": [
{
"execution_count": 48,
"output_type": "execute_result",
"data": {
"text/plain": "0.9107142857142857"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Analysis the distribution of new class distribution after threshold adjustment**"
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#Analysis the distribution of new class distribution\nplt.hist(y_pred_class, bins= 10)\nplt.xlim(0,1)\nplt.title('Histogram of Predicted Classes')\nplt.xlabel('Predicted class of Breast Cancer diagnosis')\nplt.ylabel('Frequency')",
"execution_count": 49,
"outputs": [
{
"execution_count": 49,
"output_type": "execute_result",
"data": {
"text/plain": "<matplotlib.text.Text at 0xd3dcef0>"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": "<matplotlib.figure.Figure at 0xd2739e8>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Area Under AUC Curve**\n\nThe ROC curve helps to select a threshold value that balances sensitivity and specificity in a way that makes sense.\n\nAUC is a popular metric. I believe it is a good metric given the unbalaced classes seen above. It is used to judge predictions in binary response (0/1) problem. It is only sensitive to the order determined by the predictions and not their magnitudes.\n\nFor other evaluation methods, a user has to choose a cut-off point above which the target variable is part of the positive class (e.g. a logistic regression model returns any real number between 0 and 1 - the modeler might decide that predictions greater than 0.5 mean a positive class prediction while a prediction of less than 0.5 mean a negative class prediction). AUC evaluates entries at all cut-off points, giving better insight into how well the classifier is able to separate the two classes."
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "fpr, tpr, thresholds = metrics.roc_curve(y_test, y_predicted_prob)\nplt.plot(fpr, tpr)\nplt.xlim([0.0,1.0])\nplt.ylim([0.0,1.0])\nplt.title('ROC Curve for Cancer Prediction')\nplt.xlabel('False Positive Rate(1 - specificity)')\nplt.ylabel('True Positive Rate(sensitivity)')\nplt.grid(True)",
"execution_count": 50,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n5AAAAABJRU5ErkJggg==\n",
"text/plain": "<matplotlib.figure.Figure at 0xceca048>"
},
"metadata": {}
}
]
}
],
"metadata": {
"kernelspec": {
"name": "python2",
"display_name": "Python 2",
"language": "python"
},
"language_info": {
"mimetype": "text/x-python",
"nbconvert_exporter": "python",
"name": "python",
"pygments_lexer": "ipython2",
"version": "2.7.11",
"file_extension": ".py",
"codemirror_mode": {
"version": 2,
"name": "ipython"
}
},
"gist": {
"id": "",
"data": {
"description": "Machine Learning - Wisconson Breast Cancer Diagnosis Prediction.ipynb",
"public": true
}
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment