Skip to content

Instantly share code, notes, and snippets.

@flyfir248
Created May 14, 2023 08:16
Show Gist options
  • Save flyfir248/7996fc186cfe68d932b1ca9680e41eb7 to your computer and use it in GitHub Desktop.
Save flyfir248/7996fc186cfe68d932b1ca9680e41eb7 to your computer and use it in GitHub Desktop.
[IMLT] Project_AnoopJohny.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/flyfir248/7996fc186cfe68d932b1ca9680e41eb7/-imlt-project_anoopjohny.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "y4xlCAAxUMm6"
},
"source": [
"### By Anoop Johny"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "eY-Z4xZ9UMm8"
},
"source": [
"sent to : alexandra.reitelmann@bit.uni-bonn.de"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "s2zRAxkxUMm9"
},
"source": [
" "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "qyowHTVIUMm9"
},
"source": [
"# Project IMLT 2022, Wisconsin Breast Cancer Dataset\n",
"\n",
"**You have received a breast cancer dataset and the relevant information about the features in this \n",
"dataset.**\n",
"\n",
"### Solve the following tasks with regard to this dataset:\n",
"\n",
"### 1. \n",
"**Which ML algorithm that we have worked on in this course works best on this dataset?** \n",
"- Use performance metrics F1 and AUCROC. \n",
"- Algorithms to be compared: kNN, Logistic regression, SVM, Decision Tree, Random Forest, AdaBoost, GradientBoost. \n",
"- Which of these ML algorithms works best with the given breast cancer dataset? \n",
"- Look at the performance metrics.\n",
"\n",
"### 2. \n",
"**Calculate and plot feature importances for which ML algorithm it is possible and compare it to the scientific literature.** \n",
"- Are your calculated feature importances in line with the relevant literature or not?( Discuss this in your Jupyter Notebook ) \n",
"\n",
"- If the calculated feature importances do not correspond to the relevant scientific literature the algorithm might not be the best for the gven dataset.\n",
"\n",
"### 3.\n",
"\n",
"Check the data: \n",
"**Does it need some pre-processing before you can run the ML algorithms on it? Are there correlations to be mitigated?**\n",
"\n",
"### 4. \n",
"Present all your results, including the literature search, in a Jupyter Notebook."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "MW503SR0UMm9"
},
"source": [
" "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "ncoNPC_bUMm-"
},
"source": [
" "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "CTMaolZoUMm-"
},
"source": [
"# Breast Cancer Dataset Information\n",
"\n",
"\n",
"**Taken from the Wisconsin Breast Cancer Database Predict whether a person is having Breast Cancer or not: Benign or Malignant.**\n",
"\n",
"<center>Dataset Information:-\n",
"\n",
" \n",
"<center>1. Sample code number: id number\n",
"<center>2. Clump Thickness: 1 - 10\n",
"<center>3. Uniformity of Cell Size: 1 - 10\n",
"<center>4. Uniformity of Cell Shape: 1 - 10\n",
"<center>5. Marginal Adhesion: 1 - 10\n",
"<center>6. Single Epithelial Cell Size: 1 - 10\n",
"<center>7. Bare Nuclei: 1 - 10\n",
"<center>8. Bland Chromatin: 1 - 10\n",
"<center>9. Normal Nucleoli: 1 - 10\n",
"<center>10. Mitoses: 1 - 10\n",
"<center>11. Class: (2 for benign, 4 for malignant)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "1wHOF4IoUMm-"
},
"source": [
" "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "_Iqtf1sjUMm-"
},
"source": [
" "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "3py8ev9fUMm-"
},
"source": [
"# Literature review : link https://pages.cs.wisc.edu/~olvi/uwmp/cancer.html\n",
"\n",
"- This method has so far correctly diagnosed 176 new cases in a row (119 benign, 57 malignant). \n",
"\n",
"- Only eight of those cases received a \"suspicious\" designation from Xcyt (that is, an estimated probability of malignancy between 0.3 and 0.7).\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "D0qB-LANUMm_"
},
"source": [
"# 4.)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "VdwQ7osmUMm_"
},
"source": [
"## Literature Overview :\n",
" \n",
"This work was <span class=\"burk\">conducted by Dr. Wolberg</span> to detect breast masses based <span class=\"girk\">Fine Needle Aspiration (FNA)</span> which is a diagnostic procedure used to investigate lumps or masses. \n",
"\n",
"\n",
"Here <span class=\"girk\">9 characteristics</span> were assessed from the FNA sample which was considered relevent :\n",
"\n",
"- Clump Thickness\t\n",
"- Uniformity of Cell Size\t\n",
"- Uniformity of Cell Shape\t\n",
"- Marginal Adhesion\t\n",
"- Single Epithelial Cell Size\t\n",
"- Bare Nuclei\t\n",
"- Bland Chromatin\t\n",
"- Normal Nucleoli\t\n",
"- Mitoses\n",
"\n",
"\n",
"\n",
"The classifier was produced using <span class=\"girk\">multisurface method (MSM)</span> of pattern separation on listed features that <span class=\"girk\">diagnosed 97% of new cases</span>, this dataset was termed the Wisconsin Breast Cancer Data. The goal was to diagnose sample based on digital image of small section of FNA slide. This has led to creation of the software **'Xcyt'**.\n",
"\n",
"the diagnosis procedure is as follows :\n",
"\n",
"- FNA sample is taken from the sample stained under microscope <span class=\"girk\">to detect cell nuclei</span>.\n",
"\n",
"\n",
"- The Xyct software determines individual **nuclei** with nuclei boundaries manually made using CV method 'snakes appraoch'(2-5 mins).\n",
"\n",
"\n",
"- This is followed by a computation of 9 values of coresponding characteristics, with mean,sd resulting in **~30 nuclear features for sample**.\n",
"\n",
"\n",
"- Using a linear classifier we differentiate between benign and malignant samples where mean values of texture is point of concern **(Extreme value of 'Area' and 'Smoothness' along with Mean Value of Texture)**.\n",
"\n",
"\n",
"- The diagnosis is revealed to the patient to allow the patient to self assess if any doubts may arise in the software made assessment in comparison to previous samples.\n",
"\n",
"\n",
"- System correctly diagnosed 176 new patients with 119 benign and 57 malignant with suspicious values found only for 8 cases with probability of maligancy between 0.3 & 0.7.\n",
"\n",
"\n",
"### from the literature study we understand that the nature of the cell nuclei and other nuclear features have been given priority as feature parameters."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "tkEePf-vUMm_"
},
"source": [
" "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "uovAksGwUMm_",
"outputId": "d2adc1ef-7a5c-4ef7-e53d-f30db5558f97"
},
"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>Clump Thickness</th>\n",
" <th>Uniformity of Cell Size</th>\n",
" <th>Uniformity of Cell Shape</th>\n",
" <th>Marginal Adhesion</th>\n",
" <th>Single Epithelial Cell Size</th>\n",
" <th>Bare Nuclei</th>\n",
" <th>Bland Chromatin</th>\n",
" <th>Normal Nucleoli</th>\n",
" <th>Mitoses</th>\n",
" <th>Class</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>5</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>10</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>6</td>\n",
" <td>8</td>\n",
" <td>8</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>678</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>679</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>680</th>\n",
" <td>5</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>10</td>\n",
" <td>2</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>681</th>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>6</td>\n",
" <td>4</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>10</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>682</th>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>8</td>\n",
" <td>5</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>10</td>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>683 rows × 10 columns</p>\n",
"</div>"
],
"text/plain": [
" Clump Thickness Uniformity of Cell Size Uniformity of Cell Shape \\\n",
"0 5 1 1 \n",
"1 5 4 4 \n",
"2 3 1 1 \n",
"3 6 8 8 \n",
"4 4 1 1 \n",
".. ... ... ... \n",
"678 3 1 1 \n",
"679 2 1 1 \n",
"680 5 10 10 \n",
"681 4 8 6 \n",
"682 4 8 8 \n",
"\n",
" Marginal Adhesion Single Epithelial Cell Size Bare Nuclei \\\n",
"0 1 2 1 \n",
"1 5 7 10 \n",
"2 1 2 2 \n",
"3 1 3 4 \n",
"4 3 2 1 \n",
".. ... ... ... \n",
"678 1 3 2 \n",
"679 1 2 1 \n",
"680 3 7 3 \n",
"681 4 3 4 \n",
"682 5 4 5 \n",
"\n",
" Bland Chromatin Normal Nucleoli Mitoses Class \n",
"0 3 1 1 2 \n",
"1 3 2 1 2 \n",
"2 3 1 1 2 \n",
"3 3 7 1 2 \n",
"4 3 1 1 2 \n",
".. ... ... ... ... \n",
"678 1 1 1 2 \n",
"679 1 1 1 2 \n",
"680 8 10 2 4 \n",
"681 10 6 1 4 \n",
"682 10 4 1 4 \n",
"\n",
"[683 rows x 10 columns]"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import os\n",
"\n",
"\n",
"dataset = pd.read_csv(\"Breast Cancer.csv\")\n",
"\n",
"dataset= dataset.drop(['Sample code number'],axis=1)\n",
"dataset"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "ROIr2jWZUMnA"
},
"outputs": [],
"source": [
"dataset['Class'] = dataset['Class'].replace(2,0) # replace values Class: (2 for benign = 0, 4 for malignant =1)\n",
"dataset['Class'] = dataset['Class'].replace(4,1) # replace values Class: (2 for benign = 0, 4 for malignant =1)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "gTzeq7VdUMnA"
},
"source": [
" "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "2RsUUwblUMnB"
},
"source": [
" "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "s5q3ey6GUMnB"
},
"source": [
"# 3.)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "VCola24IUMnB"
},
"source": [
"# overview of the dataset"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "mwM6vFi9UMnB",
"outputId": "85bc81c2-5c1c-49f2-9244-6adff3e60383"
},
"outputs": [
{
"data": {
"text/plain": [
"(683, 10)"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dataset.shape"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "mliCSs3-UMnB",
"outputId": "32b428e5-aa2e-49a5-ee01-a48031860f6d"
},
"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>Clump Thickness</th>\n",
" <th>Uniformity of Cell Size</th>\n",
" <th>Uniformity of Cell Shape</th>\n",
" <th>Marginal Adhesion</th>\n",
" <th>Single Epithelial Cell Size</th>\n",
" <th>Bare Nuclei</th>\n",
" <th>Bland Chromatin</th>\n",
" <th>Normal Nucleoli</th>\n",
" <th>Mitoses</th>\n",
" <th>Class</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>683.000000</td>\n",
" <td>683.000000</td>\n",
" <td>683.000000</td>\n",
" <td>683.000000</td>\n",
" <td>683.000000</td>\n",
" <td>683.000000</td>\n",
" <td>683.000000</td>\n",
" <td>683.000000</td>\n",
" <td>683.000000</td>\n",
" <td>683.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>4.442167</td>\n",
" <td>3.150805</td>\n",
" <td>3.215227</td>\n",
" <td>2.830161</td>\n",
" <td>3.234261</td>\n",
" <td>3.544656</td>\n",
" <td>3.445095</td>\n",
" <td>2.869693</td>\n",
" <td>1.603221</td>\n",
" <td>0.349927</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>2.820761</td>\n",
" <td>3.065145</td>\n",
" <td>2.988581</td>\n",
" <td>2.864562</td>\n",
" <td>2.223085</td>\n",
" <td>3.643857</td>\n",
" <td>2.449697</td>\n",
" <td>3.052666</td>\n",
" <td>1.732674</td>\n",
" <td>0.477296</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>2.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>2.000000</td>\n",
" <td>1.000000</td>\n",
" <td>2.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>4.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>2.000000</td>\n",
" <td>1.000000</td>\n",
" <td>3.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>6.000000</td>\n",
" <td>5.000000</td>\n",
" <td>5.000000</td>\n",
" <td>4.000000</td>\n",
" <td>4.000000</td>\n",
" <td>6.000000</td>\n",
" <td>5.000000</td>\n",
" <td>4.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>10.000000</td>\n",
" <td>10.000000</td>\n",
" <td>10.000000</td>\n",
" <td>10.000000</td>\n",
" <td>10.000000</td>\n",
" <td>10.000000</td>\n",
" <td>10.000000</td>\n",
" <td>10.000000</td>\n",
" <td>10.000000</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Clump Thickness Uniformity of Cell Size Uniformity of Cell Shape \\\n",
"count 683.000000 683.000000 683.000000 \n",
"mean 4.442167 3.150805 3.215227 \n",
"std 2.820761 3.065145 2.988581 \n",
"min 1.000000 1.000000 1.000000 \n",
"25% 2.000000 1.000000 1.000000 \n",
"50% 4.000000 1.000000 1.000000 \n",
"75% 6.000000 5.000000 5.000000 \n",
"max 10.000000 10.000000 10.000000 \n",
"\n",
" Marginal Adhesion Single Epithelial Cell Size Bare Nuclei \\\n",
"count 683.000000 683.000000 683.000000 \n",
"mean 2.830161 3.234261 3.544656 \n",
"std 2.864562 2.223085 3.643857 \n",
"min 1.000000 1.000000 1.000000 \n",
"25% 1.000000 2.000000 1.000000 \n",
"50% 1.000000 2.000000 1.000000 \n",
"75% 4.000000 4.000000 6.000000 \n",
"max 10.000000 10.000000 10.000000 \n",
"\n",
" Bland Chromatin Normal Nucleoli Mitoses Class \n",
"count 683.000000 683.000000 683.000000 683.000000 \n",
"mean 3.445095 2.869693 1.603221 0.349927 \n",
"std 2.449697 3.052666 1.732674 0.477296 \n",
"min 1.000000 1.000000 1.000000 0.000000 \n",
"25% 2.000000 1.000000 1.000000 0.000000 \n",
"50% 3.000000 1.000000 1.000000 0.000000 \n",
"75% 5.000000 4.000000 1.000000 1.000000 \n",
"max 10.000000 10.000000 10.000000 1.000000 "
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dataset.describe()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "21CXids3UMnB",
"outputId": "2742eaa3-bbfd-47e4-a84a-59f79cfcba55"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"RangeIndex: 683 entries, 0 to 682\n",
"Data columns (total 10 columns):\n",
" # Column Non-Null Count Dtype\n",
"--- ------ -------------- -----\n",
" 0 Clump Thickness 683 non-null int64\n",
" 1 Uniformity of Cell Size 683 non-null int64\n",
" 2 Uniformity of Cell Shape 683 non-null int64\n",
" 3 Marginal Adhesion 683 non-null int64\n",
" 4 Single Epithelial Cell Size 683 non-null int64\n",
" 5 Bare Nuclei 683 non-null int64\n",
" 6 Bland Chromatin 683 non-null int64\n",
" 7 Normal Nucleoli 683 non-null int64\n",
" 8 Mitoses 683 non-null int64\n",
" 9 Class 683 non-null int64\n",
"dtypes: int64(10)\n",
"memory usage: 53.5 KB\n"
]
}
],
"source": [
"dataset.info()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "FUwtPfIjUMnB",
"outputId": "a27a2474-0350-4c8a-cf51-733c98281a6b"
},
"outputs": [
{
"data": {
"text/plain": [
"Clump Thickness False\n",
"Uniformity of Cell Size False\n",
"Uniformity of Cell Shape False\n",
"Marginal Adhesion False\n",
"Single Epithelial Cell Size False\n",
"Bare Nuclei False\n",
"Bland Chromatin False\n",
"Normal Nucleoli False\n",
"Mitoses False\n",
"Class False\n",
"dtype: bool"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# checking for missing values\n",
"\n",
"dataset.isna().any()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "GgBsI7TVUMnC",
"outputId": "5c9ce2ec-6b5d-4ef3-fe93-cdfff925d970"
},
"outputs": [
{
"data": {
"text/plain": [
"Clump Thickness 0\n",
"Uniformity of Cell Size 0\n",
"Uniformity of Cell Shape 0\n",
"Marginal Adhesion 0\n",
"Single Epithelial Cell Size 0\n",
"Bare Nuclei 0\n",
"Bland Chromatin 0\n",
"Normal Nucleoli 0\n",
"Mitoses 0\n",
"Class 0\n",
"dtype: int64"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dataset.isna().sum()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "YfFnARXDUMnC",
"outputId": "b0162002-7110-49b0-f986-9db4a87f680c"
},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:>"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1728x720 with 3 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"\n",
"# visually checking for missing values \n",
"\n",
"import missingno as msno\n",
"\n",
"msno.bar(dataset)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "PRNiqmSzUMnC",
"outputId": "660249fc-0a5c-4a5b-acd7-36a914d14e54"
},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:>"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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XJIkSZIkSZI0lAyAS5IkSZIkSZKGkgFwSZIkSZIkSdJQMgAuSZIkSZIkSRpKBsAlSZIkSZIkSUPJALgkSZIkSZIkaSgZAJckSZIkSZIkDSUD4JIkSZIkSZKkoWQAXJIkSZIkSZI0lAyAS5IkSZIkSZKGkgFwSZIkSZIkSdJQMgAuSZIkSZIkSRpKBsAlSZIkSZIkSUPJALgkSZIkSZIkaSgZAJckSZIkSZIkDSUD4JIkSZIkSZKkoWQAXJIkSZIkSZI0lAyAS5IkSZIkSZKGkgFwSZIkSZIkSdJQMgAuSZIkSZIkSRpKBsAlSZIkSZIkSUPJALgkSZIkSZIkaSgZAJckSZIkSZIkDSUD4JIkSZIkSZKkoWQAXJIkSZIkSZI0lAyAS5IkSZIkSZKGkgFwSZIkSZIkSdJQMgAuSZIkSZIkSRpKBsAlSZIkSZIkSUPJALgkSZIkSZIkaSgZAJckSZIkSZIkDSUD4JIkSZIkSZKkoWQAXJIkSZIkSZI0lAyAS5IkSZIkSZKGkgFwSZIkSZIkSdJQMgAuSZIkSZIkSRpKBsAlSZIkSZIkSUPJALgkSZIkSZIkaSgZAJckSZIkSZIkDSUD4JIkSZIkSZKkoWQAXJIkSZIkSZI0lAyAS5IkSZIkSZKGkgFwSZIkSZIkSdJQMgAuSZIkSZIkSRpKBsAlSZIkSZIkSUPJALgkSZIkSZIkaSgZAJckSZIkSZIkDSUD4JIkSZIkSZKkoWQAXJIkSZIkSZI0lAyAS5IkSZIkSZKGkgFwSZIkSZIkSdJQMgAuSZIkSZIkSRpKBsAlSZIkSZIkSUPJALgkSZIkSZIkaSgZAJckSZIkSZIkDSUD4JIkSZIkSZKkoWQAXJIkSZIkSZI0lAyAS5IkSZIkSZKGkgFwSZIkSZIkSdJQMgAuSZIkSZIkSRpKBsAlSZIkSZIkSUPJALgkSZIkSZIkaSgZAJckSZIkSZIkDSUD4JIkSZIkSZKkoWQAXJIkSZIkSZI0lAyAS5IkSZIkSZKGkgFwSZIkSZIkSdJQMgAuSZIkSZIkSRpKBsAlSZIkSZIkSUPJALgkSZIkSZIkaSgZAJckSZIkSZIkDSUD4JIkSZIkSZKkoWQAXJIkSZIkSZI0lAyAS5IkSZIkSZKGkgFwSZIkSZIkSdJQMgAuSZIkSZIkSRpKBsAlSZIkSZIkSUPJALgkSZIkSZIkaSgZAJckSZIkSZIkDSUD4JIkSZIkSZKkoWQAXJIkSZIkSZI0lAyAS5IkSZIkSZKGkgFwSZIkSZIkSdJQMgAuSZIkSZIkSRpKBsAlSZIkSZIkSUPJALgkSZIkSZIkaSgZAJckSZIkSZIkDSUD4JIkSZIkSZKkoWQAXJIkSZIkSZI0lAyAS5IkSZIkSZKGkgFwSZIkSZIkSdJQMgAuSZIkSZIkSRpKBsAlSZIkSZIkSUPJALgkSZIkSZIkaSgZAJckSZIkSZIkDSUD4JIkSZIkSZKkoWQAXJIkSZIkSZI0lAyAS5IkSZIkSZKGkgFwSZIkSZIkSdJQMgAuSZIkSZIkSRpKBsAlSZIkSZIkSUPJALgkSZIkSZIkaSgZAJckSZIkSZIkDSUD4JIkSZIkSZKkoWQAXJIkSZIkSZI0lAyAS5IkSZIkSZKGkgFwSZIkSZIkSdJQMgAuSZIkSZIkSRpKBsAlSZIkSZIkSUPJALgkSZIkSZIkaSgZAJckSZIkSZIkDSUD4JIkSZIkSZKkoWQAXJIkSZIkSZI0lAyAS5IkSZIkSZKGkgFwSZIkSZIkSdJQMgAuSZIkSZIkSRpKBsAlSZIkSZIkSUPJALgkSZIkSZIkaSgZAJckSZIkSZIkDSUD4JIkSZIkSZKkoWQAXJIkSZIkSdL/b+/+Q3a/6zqOv95ztgILLDZWk61lEZSBkC2cqVvLpS2CjbN/1h9t/dNi2YIih61QJMwgKi2bEMyOnfqjDDT8fezULN0MAmliCWuB2HbKcngObjuZn/64rmP3bo/uvnd2dvK1xwNuPvd1Xd/r+/1cfP978uXzgUoCOAAAAAAAlQRwAAAAAAAqCeAAAAAAAFQSwAEAAAAAqCSAAwAAAABQSQAHAAAAAKCSAA4AAAAAQCUBHAAAAACASgI4AAAAAACVBHAAAAAAACoJ4AAAAAAAVBLAAQAAAACoJIADAAAAAFBJAAcAAAAAoJIADgAAAABAJQEcAAAAAIBKAjgAAAAAAJUEcAAAAAAAKgngAAAAAABUEsABAAAAAKgkgAMAAAAAUEkABwAAAACgkgAOAAAAAEAlARwAAAAAgEoCOAAAAAAAlQRwAAAAAAAqCeAAAAAAAFQSwAEAAAAAqCSAAwAAAABQSQAHAAAAAKCSAA4AAAAAQCUBHAAAAACASgI4AAAAAACVBHAAAAAAACoJ4AAAAAAAVBLAAQAAAACoJIADAAAAAFBJAAcAAAAAoJIADgAAAABAJQEcAAAAAIBKAjgAAAAAAJUEcAAAAAAAKgngAAAAAABUEsABAAAAAKgkgAMAAAAAUEkABwAAAACgkgAOAAAAAEAlARwAAAAAgEoCOAAAAAAAlQRwAAAAAAAqCeAAAAAAAFQSwAEAAAAAqCSAAwAAAABQSQAHAAAAAKCSAA4AAAAAQCUBHAAAAACASgI4AAAAAACVBHAAAAAAACoJ4AAAAAAAVBLAAQAAAACoJIADAAAAAFBJAAcAAAAAoJIADgAAAABAJQEcAAAAAIBKAjgAAAAAAJUEcAAAAAAAKgngAAAAAABUEsABAAAAAKgkgAMAAAAAUEkABwAAAACgkgAOAAAAAEAlARwAAAAAgEoCOAAAAAAAlQRwAAAAAAAqCeAAAAAAAFQSwAEAAAAAqCSAAwAAAABQSQAHAAAAAKCSAA4AAAAAQCUBHAAAAACASgI4AAAAAACVBHAAAAAAACoJ4AAAAAAAVBLAAQAAAACoJIADAAAAAFBJAAcAAAAAoJIADgAAAABAJQEcAAAAAIBKAjgAAAAAAJUEcAAAAAAAKgngAAAAAABUEsABAAAAAKgkgAMAAAAAUEkABwAAAACgkgAOAAAAAEAlARwAAAAAgEoCOAAAAAAAlQRwAAAAAAAqCeAAAAAAAFQSwAEAAAAAqCSAAwAAAABQSQAHAAAAAKCSAA4AAAAAQCUBHAAAAACASgI4AAAAAACVBHAAAAAAACoJ4AAAAAAAVBLAAQAAAACoJIADAAAAAFBJAAcAAAAAoJIADgAAAABAJQEcAAAAAIBKAjgAAAAAAJUEcAAAAAAAKgngAAAAAABUEsABAAAAAKgkgAMAAAAAUEkABwAAAACgkgAOAAAAAEAlARwAAAAAgEoCOAAAAAAAlQRwAAAAAAAqCeAAAAAAAFQSwAEAAAAAqCSAAwAAAABQSQAHAAAAAKCSAA4AAAAAQCUBHAAAAACASgI4AAAAAACVBHAAAAAAACoJ4AAAAAAAVBLAAQAAAACoJIADAAAAAFBJAAcAAAAAoJIADgAAAABAJQEcAAAAAIBKAjgAAAAAAJUEcAAAAAAAKgngAAAAAABUEsABAAAAAKgkgAMAAAAAUEkABwAAAACgkgAOAAAAAEAlARwAAAAAgEoCOAAAAAAAlQRwAAAAAAAqCeAAAAAAAFQSwAEAAAAAqCSAAwAAAABQSQAHAAAAAKCSAA4AAAAAQCUBHAAAAACASgI4AAAAAACVBHAAAAAAACoJ4AAAAAAAVBLAAQAAAACoJIADAAAAAFBJAAcAAAAAoJIADgAAAABAJQEcAAAAAIBKAjgAAAAAAJUEcAAAAAAAKgngAAAAAABUEsABAAAAAKgkgAMAAAAAUEkABwAAAACgkgAOAAAAAEAlARwAAAAAgEoCOAAAAAAAlQRwAAAAAAAqCeAAAAAAAFQSwAEAAAAAqCSAAwAAAABQSQAHAAAAAKCSAA4AAAAAQCUBHAAAAACASgI4AAAAAACVBHAAAAAAACoJ4AAAAAAAVBLAAQAAAACoJIADAAAAAFBJAAcAAAAAoJIADgAAAABAJQEcAAAAAIBKAjgAAAAAAJUEcAAAAAAAKgngAAAAAABUEsABAAAAAKgkgAMAAAAAUEkABwAAAACgkgAOAAAAAEAlARwAAAAAgEoCOAAAAAAAlQRwAAAAAAAqCeAAAAAAAFQSwAEAAAAAqCSAAwAAAABQSQAHAAAAAKCSAA4AAAAAQCUBHAAAAACASgI4AAAAAACVBHAAAAAAACoJ4AAAAAAAVBLAAQAAAACoJIADAAAAAFBJAAcAAAAAoJIADgAAAABAJQEcAAAAAIBKAjgAAAAAAJUEcAAAAAAAKgngAAAAAABUEsABAAAAAKgkgAMAAAAAUEkABwAAAACgkgAOAAAAAEAlARwAAAAAgEoCOAAAAAAAlQRwAAAAAAAqCeAAAAAAAFQSwAEAAAAAqCSAAwAAAABQSQAHAAAAAKCSAA4AAAAAQCUBHAAAAACASgI4AAAAAACVBHAAAAAAACoJ4AAAAAAAVBLAAQAAAACoJIADAAAAAFBJAAcAAAAAoJIADgAAAABAJQEcAAAAAIBKAjgAAAAAAJUEcAAAAAAAKgngAAAAAABUEsABAAAAAKgkgAMAAAAAUEkABwAAAACgkgAOAAAAAEAlARwAAAAAgEoCOAAAAAAAlQRwAAAAAAAqCeAAAAAAAFQSwAEAAAAAqCSAAwAAAABQSQAHAAAAAKCSAA4AAAAAQCUBHAAAAACASgI4AAAAAACVBHAAAAAAACoJ4AAAAAAAVBLAAQAAAACoJIADAAAAAFBJAAcAAAAAoJIADgAAAABAJQEcAAAAAIBKAjgAAAAAAJUEcAAAAAAAKgngAAAAAABUEsABAAAAAKgkgAMAAAAAUEkABwAAAACgkgAOAAAAAEAlARwAAAAAgEoCOAAAAAAAlQRwAAAAAAAqCeAAAAAAAFQSwAEAAAAAqCSAAwAAAABQSQAHAAAAAKCSAA4AAAAAQCUBHAAAAACASgI4AAAAAACVBHAAAAAAACoJ4AAAAAAAVBLAAQAAAACoJIADAAAAAFBJAAcAAAAAoJIADgAAAABAJQEcAAAAAIBKAjgAAAAAAJUEcAAAAAAAKgngAAAAAABUEsABAAAAAKgkgAMAAAAAUEkABwAAAACgkgAOAAAAAEAlARwAAAAAgEoCOAAAAAAAlQRwAAAAAAAqCeAAAAAAAFQSwAEAAAAAqCSAAwAAAABQSQAHAAAAAKCSAA4AAAAAQCUBHAAAAACASgI4AAAAAACVBHAAAAAAACoJ4AAAAAAAVBLAAQAAAACoJIADAAAAAFBJAAcAAAAAoJIADgAAAABAJQEcAAAAAIBKAjgAAAAAAJUEcAAAAAAAKgngAAAAAABUEsABAAAAAKgkgAMAAAAAUEkABwAAAACgkgAOAAAAAEAlARwAAAAAgEoCOAAAAAAAlQRwAAAAAAAqCeAAAAAAAFQSwAEAAAAAqCSAAwAAAABQSQAHAAAAAKCSAA4AAAAAQCUBHAAAAACASgI4AAAAAACVBHAAAAAAACoJ4AAAAAAAVBLAAQAAAACoJIADAAAAAFBJAAcAAAAAoJIADgAAAABAJQEcAAAAAIBKAjgAAAAAAJUEcAAAAAAAKgngAAAAAABUEsABAAAAAKgkgAMAAAAAUEkABwAAAACgkgAOAAAAAEAlARwAAAAAgEoCOAAAAAAAlQRwAAAAAAAqCeAAAAAAAFQSwAEAAAAAqCSAAwAAAABQSQAHAAAAAKCSAA4AAAAAQCUBHAAAAACASgI4AAAAAACVBHAAAAAAACoJ4AAAAAAAVBLAAQAAAACoJIADAAAAAFBJAAcAAAAAoJIADgAAAABAJQEcAAAAAIBKAjgAAAAAAJUEcAAAAAAAKgngAAAAAABUEsABAAAAAKgkgAMAAAAAUEkABwAAAACgkgAOAAAAAEAlARwAAAAAgEoCOAAAAAAAlQRwAAAAAAAqCeAAAAAAAFQSwAEAAAAAqCSAAwAAAABQSQAHAAAAAKCSAA4A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\n",
"text/plain": [
"<Figure size 1800x720 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"msno.matrix(dataset)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "2ZKSYKwxUMnC",
"outputId": "ef07fe1f-eeb8-41e8-88e4-07578cb129bd"
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"C:\\Users\\anoop\\anaconda3\\lib\\site-packages\\scipy\\cluster\\hierarchy.py:2833: UserWarning: Attempting to set identical bottom == top == 0.0 results in singular transformations; automatically expanding.\n",
" ax.set_ylim([dvw, 0])\n"
]
},
{
"data": {
"text/plain": [
"<AxesSubplot:>"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1800x720 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"msno.dendrogram(dataset) # the dendogram is generated on basis of nullility which is apparent since no null values exist.\n",
"\n",
"# thus no dendogram is generated."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "62HUl1PIUMnC"
},
"source": [
" "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Jg58jhGhUMnD"
},
"source": [
" "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Iiq6dttpUMnD"
},
"source": [
"## No kind of imputation studies need to be carried out since there are no missing values, a visual confirmation also suggests the same."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "wjgCAsKcUMnD"
},
"outputs": [],
"source": [
"#dataset=dataset.drop(['Sample code number'], axis=1) # drop 'Sample code number'\n",
"#dataset"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "OLSIV-qXUMnD",
"outputId": "d1319b46-4cb2-4e31-ce83-cc085c14fa9a"
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1440x1080 with 12 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"dataset.hist(bins=50, figsize = (20,15))\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "EUUFN01lUMnD",
"outputId": "f7ccced7-64df-4343-8f33-21c6c1d47198"
},
"outputs": [
{
"data": {
"image/png": "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kTPvtfvytXK257U++eQTGjRoQPPmzWnatCnt2rXjyJEj+S4nPDycI0eO5JnRarUyY8YMBg4cyKBBg3j66ad5++236dChA8OHDyc9PR2A0aNHEx0dbb9ddHQ0LVu2JDw8nL59+9KzZ097hpz1Pf/882zZsiXfXKNHj7Yv/1qtWrW67mdWq5UlS5bQu3dv++N08ODBXOssiujoaJo3b55rXy7sOM7LypUrAdiyZQurV68udP789sPbbruNjRs32qe3bNnC888//5eyFPV5+urjG6BDhw6kpaXRqlUrhgwZYt/PDx48yK5du/5SBkfKq6927NhRql31V7mV5sKTkpIYM2YMCxcupEaNGmRlZTFy5Eg++OADQkJCSnPV3HbbbURGRgLZB2rz5s2ZP38+AP/3f/933fz16tWjXr169ukhQ4YAcO7cORISEvD398fPz6/YuYKCguyl+Mknn/DQQw/h6en5l5czZMgQPv/8cxo3bsyvv/6a60lz+vTphISEsGrVKgA2bNjAqFGjivQE4O7ufl2+yZMn8/nnn1OxYkWSk5MJCwujVatWdO3atcBl7dmzh5YtW/L8888THR1NSEgI69atY8eOHYSEhPDyyy8zbNgwqlatWuR8efn444/zzAdw4cIFtm/fTlRUFCaTif379zN+/HjWrl2Lv78/VapUuW55X3zxBQ899BBffvllofexMOPGjaNt27b5/v7qcs3Z506dOsVHH31Et27d/tY6r92XiyIpKYm33nqLu+++m2XLlpGVlUXfvn0ZOXIk69at+8sZtm7dyoULF3j33XcB2LhxI4sWLSIlJYWKFSvi4eGR721DQ0N54403APjxxx+ZPXs2S5cuLfK6c25bVG+//TYJCQmsXLkSFxcXYmJieOaZZ/j666//0nIg+/h54YUXePfddzGZTH/59gCLFy+mb9++Be43RVGhQgVmzpxJs2bNCAwMLNayiiLn+H7ooYcAOHToEBUqVCAwMJCZM2cC8O2331K5cmVatGhR6nn+qvz6KigoyNnRcinV0t60aRN33XUXNWrUAMDV1ZVZs2bh7u7OTz/9ZJ+vVatWbNu2Dch+ldyzZ09Onz7N999/T2pqKrGxsfTr149Nmzbx+++/89xzz3Hfffdx77330rhxY06ePMmtt97K9OnTcXEp2smDPXv2sHv3biIiIqhUqRKZmZkcPnyY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scycORN/f3927NjB2LFjady4MePGjWPYsGG4u7vTr18/Ll26RKtWrdi1axeurq6sWLGCS5cusXDhQpYvX05UVBTnz5+3v+i9mtVq5dKlSyxfvpxVq1aRmZnJL7/8kufxcOHCBYKDg9mxYwfh4eH06NGDKVOm8NBDD7F582aOHTvGV199Zd8HP//8cwASEhIICwujdevWTJw4kZdffpnIyEgefvhhmjZtysaNG3nkkUd47LHHOHnyJK6urgQEBDB79mxGjx5NaGgooaGh3HHHHdx0001ERUWRlpaGzWbjzJkzLFq0iH79+rF69WqCg4M5cuQIly9f5l//+hcdO3akTZs23HDDDbz11lucPXuWhx9+mKCgIIKDg9myZQtbtmwhLS2NDz/8kLFjx9r3maulpqZedxYtICDA/v927drx3nvv0bZtW/voOy0tjVWrVhEWFsbEiRNZtGgRL730EoGBgQQHB/PNN99w8uRJ7r//frp06cKCBQtwd3dn7dq1eHt7c+LECb777js6depEWFgYDz/8MDExMaSnpxMQEMDatWvt+9Wbb75JbGws06dPJzw8HJPJxOuvv06HDh0KPRvQu3dvkpOT+eKLLwqcD7JLKyEhgY8//pi33347176S3z63ePFi7r77biZMmECzZs2Ij4/n22+/xWazsW/fPipVqmRfxg033MCjjz7KgAEDaNiwoX27rVy5khYtWrB48WJiYmLw9fUlIiKCCRMmkJyczOHDh/nqq69YtWoVq1atYuPGjRw9epR169bZn2Nbt26da+Dzd+TXVzkvivI7nv7zn/9Qv3593n33XZ5++mkSExPzvB8lpVRLu2rVqpw7dy7Xz/74448Cr2lc/amqOaf4fH19qVWrFiaTCT8/P/u1xipVqlC9enUAmjZtyrFjx/Jcpslkuu4Vto+PD56envj5+REYGIirqytubm64ublx66234urqislk4plnnsHV1ZWLFy9y+vRp/P39gewd0NXV1X5qu0aNGqSlpREXF0dCQgLh4eF89dVXuLq6kpCQwKBBg9i1axfjx48nKysLyL6munnzZmbOnInZbOarr77ik08+4fHHH+fKlSv2Zfv5+XHnnXfi7e2Nl5cXjRs35vLly9fdzyNHjtCmTRuSkpIIDg7Gx8eH+Ph4IPuafVxcHBaLhZiYGMLDwzl16hQVKlQAwNPTM89RyJUrVzh79iwDBgygT58+dOzYEZvNlqvgjxw5Qt26dRk5ciSvvvoqLVq0YM+ePZw+fZp169bx5JNPkpWVRUpKCo899hjx8fHs3LmT5s2b25fx5ZdfkpGRwalTp+jcuTO7d+8mJiaGS5cu2V8gnD59Gi8vLypUqICrqytNmzYlJSWFS5cucdddd/H2229Tt25doqOj2bJlC2azmUqVKlGtWjUCAgLw8fHh1ltvJSEhgeHDh5OZmcnFixexWq1UrVqVhg0bsm/fPs6dO8elS5cAiIuLY9SoUVy+fJkLFy5w8eJFAgICSExMJDExkYyMDIYPH87Ro0fx8vIiJSWFQ4cOsXTpUrZu3YrZbKZu3bp88sknTJw4kcWLFzN//nxuuukm/P39MZlMNGrUiNjYWPu+1ahRI1JTU+2PfZMmTXB1daVy5cqkpKRw8uRJ4uPj7dfejhw5wh9//HHdY+fi4oK7uztjxozhxRdf5Ny5c2RmZuZ5jFStWpX4+HhCQ0OJjIxk9erVvPXWWwwdOpRff/2VCxcuEBYWRocOHbBYLCQkJABw44034urqat8PXnnlFcLDw1m5ciWZmZnMnTuXbdu2MWbMGPvlGjc3N/r06cMrr7zC2bNn2bNnD08++SSQfWnAzS37BGBgYCCenp4sW7aM1NRUKlWqRLNmzfDy8mLz5s2sWLGCH374gV9++YVnn30Wm81mv9xx4403kpaWxu+//06jRo3s9zGvyyHXnumC7EtKOT9r0KABAJUrV7Y/LjVr1gSyX7T4+Phwww03ANlnIf744w/69OljH3F6eXkREBBAkyZNqFSpEunp6TRv3pyUlBQ2btxITEwMBw8eJCsri5tvvhkXFxcqVqyIj48PXl5eeHh44Orqio+PDzfeeCOpqalMmTKF6OjofB/PHCaTiVdffZV58+Zx4cKFPOfJec49duwYTZo0AbIv4119HTe/fe7IkSP2U91eXl5UrlyZzz//nPT0dJo1a5Zvrmu3W4sWLfj9999p27YtLVq04JlnnmHBggW4uLhw6NAhzpw5w4ABA+jfvz+XLl3i5MmTvPDCC+zatYu+ffuyZ8+eYo2yofC+yu94evzxxwkICODJJ5/k/fffx9XVNc/7UVJKtbTbt2/P1q1bOXnyJJB9enHmzJkcOnQo13yZmZlYLBbS09M5fPiw/eeFXRM6f/68/VTlnj17qF27dp7zubm5ceDAAftOa7Va2bdvH/Xr179uPa6urhw9etRerK+88goZGRlUrlyZLl26sH//frZs2cL58+ex2Wz2J9ocAQEBNGjQgMjISPr06UPt2rXx9vbmp59+4u677+b1118nPj6e06dPc+LECfr06cPKlSu5cuUKH3zwAbt27SI0NJRdu3bZ8/n6+rJ7924g+wD76aef8PHxue5+1qpVi71799K6dWvefPNNkpKS8Pf3JyUlhffff5/AwEB8fHzo1asXkZGRtGnThmrVquW7fXNe7IwaNYrWrVvz9ddf89tvv1GzZs1cZ0uqVKnCe++9xwsvvEBISAg//fQTDRo0ICQkhEceeYQVK1Zw1113YTabCQkJwdfXl+nTp9O5c2cgu4yXLFnC9u3bqV69Op999hlVqlShU6dOhISE2B+fatWqkZaWRmpqKlarlZiYGDIzM1m1apX9Cdbd3Z3KlSvb8128eJHnn3+eNm3aUKtWLerVq4fNZmPWrFm4ublhtVrt9/X777/nX//6F7Vq1SIwMJCgoCBsNhvTp0/H19eXunXrUq9ePS5dukTFihUJCgqiVq1aREZG0rdvX8xmM5B9be/f//43bdq0oW/fvnTs2JGDBw9isVhYtmwZ48eP59ChQ6SkpGCz2YiJiSE4ONj+h4S//PKLPb/JZLruOLjpppuoUqUK77zzjn3djRs3vu7xO3DgABs3bmTevHlMnDgRq9VKfl810L59e2JiYrhy5QqQfawuX76crKwsatasSVJSEhs3bmTr1q1Ur17dftr06mw1a9Zk1qxZREZG0rx5c/tlJZPJxK233pprn+nVqxfHjx/nl19+YcSIEXh7exMbG0uVKlXshfjKK69wyy232I/FixcvsnbtWn777TdatmxJnz59aNmyJXXr1iUiIoIKFSpcdzyGhISwd+9eIPv54vz589fd90cffZRFixbZt82ePXuYMWNGgWcEc56EAwICSE5Otj+3xMXFUaNGDZo2bYqPjw+ffvopkF1oOfurzWZj+/btREdH07FjR8LCwvD09MRms2EymfJ9jAAmTJjAzTffzPjx4wkODi5w3hw33ngjI0aM4PXXX7f/zMPDgwsXLmCz2Thw4IB9W+WMri9fvsygQYPs8+e3z9WqVYv//ve/QPYZi9TUVDIyMkhOTubhhx++LovJZMJqtV633Xbu3EmN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\n",
"text/plain": [
"<Figure size 576x396 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"\n",
"df = pd.DataFrame(dataset, columns = ['Clump Thickness','Uniformity of Cell Size','Uniformity of Cell Shape','Marginal Adhesion','Single Epithelial Cell Size','Bare Nuclei','Bland Chromatin','Normal Nucleoli','Mitoses','Class'])\n",
"\n",
"sns.boxplot(x=\"variable\", y=\"value\", data=pd.melt(df))\n",
"plt.rcParams[\"figure.figsize\"] = (8,6)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "IXZRNjKgUMnE",
"outputId": "f1ed6dfc-db6b-4ee5-d857-893cf6b0fe90"
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1368x1080 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(figsize=(19, 15))\n",
"corr = dataset.corr()\n",
"\n",
"# Colours the rectangles by correlation value\n",
"#111 stands for 1x1 grid, first subplot\n",
"# Plots colourbar\n",
"ax =fig.add_subplot(111)\n",
"cax = ax.matshow(corr, vmin=-1, vmax=1)\n",
"fig.colorbar(cax)\n",
"\n",
"# Plots x-ticks labels\n",
"plt.xticks(range(len(corr.columns)), corr.columns, fontsize=10)\n",
"\n",
"# Plots y-ticks labels\n",
"plt.yticks(range(len(corr.columns)), corr.columns, fontsize=20)\n",
"plt.title('Correlation Matrix', fontsize=28)\n",
"\n",
"#Plots the correlation matrix \n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "g2ONspPHUMnE",
"outputId": "58a91f67-9b83-42c1-a901-4ee84a511a25"
},
"outputs": [
{
"data": {
"text/html": [
"<style type=\"text/css\" >\n",
"#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row0_col0,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row1_col1,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row2_col2,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row3_col3,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row4_col4,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row5_col5,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row6_col6,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row7_col7,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row8_col8,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row9_col9{\n",
" background-color: #b40426;\n",
" color: #f1f1f1;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row0_col1{\n",
" background-color: #abc8fd;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row0_col2{\n",
" background-color: #bad0f8;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row0_col3,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row3_col8{\n",
" background-color: #5f7fe8;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row0_col4{\n",
" background-color: #5470de;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row0_col5{\n",
" background-color: #bbd1f8;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row0_col6,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row7_col3{\n",
" background-color: #a5c3fe;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row0_col7{\n",
" background-color: #7396f5;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row0_col8{\n",
" background-color: #3f53c6;\n",
" color: #f1f1f1;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row0_col9,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row1_col7{\n",
" background-color: #dedcdb;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row1_col0{\n",
" background-color: #cedaeb;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row1_col2{\n",
" background-color: #e7745b;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row1_col3,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row3_col6,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row7_col2,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row9_col3{\n",
" background-color: #dbdcde;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row1_col4,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row6_col2{\n",
" background-color: #e3d9d3;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row1_col5{\n",
" background-color: #e5d8d1;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row1_col6{\n",
" background-color: #f5c4ac;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row1_col8{\n",
" background-color: #7699f6;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row1_col9,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row2_col9{\n",
" background-color: #f7b093;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row2_col0,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row2_col4{\n",
" background-color: #d4dbe6;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row2_col1{\n",
" background-color: #e9785d;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row2_col3{\n",
" background-color: #d2dbe8;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row2_col5{\n",
" background-color: #edd2c3;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row2_col6{\n",
" background-color: #f1ccb8;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row2_col7,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row3_col5,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row4_col2,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row9_col7{\n",
" background-color: #dddcdc;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row2_col8{\n",
" background-color: #6b8df0;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row3_col0{\n",
" background-color: #7ea1fa;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row3_col1{\n",
" background-color: #d1dae9;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row3_col2{\n",
" background-color: #ccd9ed;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row3_col4{\n",
" background-color: #82a6fb;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row3_col7{\n",
" background-color: #9ebeff;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row3_col9,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row7_col6{\n",
" background-color: #dadce0;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row4_col0,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row5_col7{\n",
" background-color: #93b5fe;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row4_col1{\n",
" background-color: #e7d7ce;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row4_col3{\n",
" background-color: #9fbfff;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row4_col5,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row5_col0{\n",
" background-color: #b7cff9;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row4_col6{\n",
" background-color: #c5d6f2;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row4_col7{\n",
" background-color: #aec9fc;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row4_col8{\n",
" background-color: #80a3fa;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row4_col9{\n",
" background-color: #d3dbe7;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row5_col1,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row6_col3{\n",
" background-color: #c9d7f0;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row5_col2{\n",
" background-color: #d9dce1;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row5_col3{\n",
" background-color: #cad8ef;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row5_col4{\n",
" background-color: #7b9ff9;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row5_col6{\n",
" background-color: #dfdbd9;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row5_col8,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row8_col0,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row8_col1,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row8_col2,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row8_col3,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row8_col4,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row8_col5,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row8_col6,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row8_col7,#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row8_col9{\n",
" background-color: #3b4cc0;\n",
" color: #f1f1f1;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row5_col9{\n",
" background-color: #f7af91;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row6_col0{\n",
" background-color: #a2c1ff;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row6_col1{\n",
" background-color: #e8d6cc;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row6_col4{\n",
" background-color: #92b4fe;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row6_col5{\n",
" background-color: #e1dad6;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row6_col7{\n",
" background-color: #c3d5f4;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row6_col8{\n",
" background-color: #3d50c3;\n",
" color: #f1f1f1;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row6_col9{\n",
" background-color: #efcfbf;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row7_col0{\n",
" background-color: #98b9ff;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row7_col1{\n",
" background-color: #d7dce3;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row7_col4{\n",
" background-color: #9abbff;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row7_col5{\n",
" background-color: #b6cefa;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row7_col8{\n",
" background-color: #6788ee;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row7_col9{\n",
" background-color: #e0dbd8;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row9_col0{\n",
" background-color: #ebd3c6;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row9_col1{\n",
" background-color: #f7b89c;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row9_col2{\n",
" background-color: #f7b396;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row9_col4{\n",
" background-color: #c1d4f4;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row9_col5{\n",
" background-color: #f5a081;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row9_col6{\n",
" background-color: #f5c2aa;\n",
" color: #000000;\n",
" }#T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row9_col8{\n",
" background-color: #6282ea;\n",
" color: #000000;\n",
" }</style><table id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1\" ><thead> <tr> <th class=\"blank level0\" ></th> <th class=\"col_heading level0 col0\" >Clump Thickness</th> <th class=\"col_heading level0 col1\" >Uniformity of Cell Size</th> <th class=\"col_heading level0 col2\" >Uniformity of Cell Shape</th> <th class=\"col_heading level0 col3\" >Marginal Adhesion</th> <th class=\"col_heading level0 col4\" >Single Epithelial Cell Size</th> <th class=\"col_heading level0 col5\" >Bare Nuclei</th> <th class=\"col_heading level0 col6\" >Bland Chromatin</th> <th class=\"col_heading level0 col7\" >Normal Nucleoli</th> <th class=\"col_heading level0 col8\" >Mitoses</th> <th class=\"col_heading level0 col9\" >Class</th> </tr></thead><tbody>\n",
" <tr>\n",
" <th id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1level0_row0\" class=\"row_heading level0 row0\" >Clump Thickness</th>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row0_col0\" class=\"data row0 col0\" >1.000000</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row0_col1\" class=\"data row0 col1\" >0.642481</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row0_col2\" class=\"data row0 col2\" >0.653470</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row0_col3\" class=\"data row0 col3\" >0.487829</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row0_col4\" class=\"data row0 col4\" >0.523596</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row0_col5\" class=\"data row0 col5\" >0.593091</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row0_col6\" class=\"data row0 col6\" >0.553742</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row0_col7\" class=\"data row0 col7\" >0.534066</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row0_col8\" class=\"data row0 col8\" >0.350957</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row0_col9\" class=\"data row0 col9\" >0.714790</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1level0_row1\" class=\"row_heading level0 row1\" >Uniformity of Cell Size</th>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row1_col0\" class=\"data row1 col0\" >0.642481</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row1_col1\" class=\"data row1 col1\" >1.000000</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row1_col2\" class=\"data row1 col2\" >0.907228</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row1_col3\" class=\"data row1 col3\" >0.706977</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row1_col4\" class=\"data row1 col4\" >0.753544</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row1_col5\" class=\"data row1 col5\" >0.691709</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row1_col6\" class=\"data row1 col6\" >0.755559</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row1_col7\" class=\"data row1 col7\" >0.719346</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row1_col8\" class=\"data row1 col8\" >0.460755</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row1_col9\" class=\"data row1 col9\" >0.820801</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1level0_row2\" class=\"row_heading level0 row2\" >Uniformity of Cell Shape</th>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row2_col0\" class=\"data row2 col0\" >0.653470</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row2_col1\" class=\"data row2 col1\" >0.907228</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row2_col2\" class=\"data row2 col2\" >1.000000</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row2_col3\" class=\"data row2 col3\" >0.685948</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row2_col4\" class=\"data row2 col4\" >0.722462</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row2_col5\" class=\"data row2 col5\" >0.713878</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row2_col6\" class=\"data row2 col6\" >0.735344</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row2_col7\" class=\"data row2 col7\" >0.717963</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row2_col8\" class=\"data row2 col8\" >0.441258</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row2_col9\" class=\"data row2 col9\" >0.821891</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1level0_row3\" class=\"row_heading level0 row3\" >Marginal Adhesion</th>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row3_col0\" class=\"data row3 col0\" >0.487829</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row3_col1\" class=\"data row3 col1\" >0.706977</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row3_col2\" class=\"data row3 col2\" >0.685948</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row3_col3\" class=\"data row3 col3\" >1.000000</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row3_col4\" class=\"data row3 col4\" >0.594548</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row3_col5\" class=\"data row3 col5\" >0.670648</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row3_col6\" class=\"data row3 col6\" >0.668567</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row3_col7\" class=\"data row3 col7\" >0.603121</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row3_col8\" class=\"data row3 col8\" >0.418898</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row3_col9\" class=\"data row3 col9\" >0.706294</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1level0_row4\" class=\"row_heading level0 row4\" >Single Epithelial Cell Size</th>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row4_col0\" class=\"data row4 col0\" >0.523596</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row4_col1\" class=\"data row4 col1\" >0.753544</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row4_col2\" class=\"data row4 col2\" >0.722462</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row4_col3\" class=\"data row4 col3\" >0.594548</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row4_col4\" class=\"data row4 col4\" >1.000000</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row4_col5\" class=\"data row4 col5\" >0.585716</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row4_col6\" class=\"data row4 col6\" >0.618128</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row4_col7\" class=\"data row4 col7\" >0.628926</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row4_col8\" class=\"data row4 col8\" >0.480583</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row4_col9\" class=\"data row4 col9\" >0.690958</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1level0_row5\" class=\"row_heading level0 row5\" >Bare Nuclei</th>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row5_col0\" class=\"data row5 col0\" >0.593091</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row5_col1\" class=\"data row5 col1\" >0.691709</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row5_col2\" class=\"data row5 col2\" >0.713878</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row5_col3\" class=\"data row5 col3\" >0.670648</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row5_col4\" class=\"data row5 col4\" >0.585716</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row5_col5\" class=\"data row5 col5\" >1.000000</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row5_col6\" class=\"data row5 col6\" >0.680615</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row5_col7\" class=\"data row5 col7\" >0.584280</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row5_col8\" class=\"data row5 col8\" >0.339210</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row5_col9\" class=\"data row5 col9\" >0.822696</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1level0_row6\" class=\"row_heading level0 row6\" >Bland Chromatin</th>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row6_col0\" class=\"data row6 col0\" >0.553742</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row6_col1\" class=\"data row6 col1\" >0.755559</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row6_col2\" class=\"data row6 col2\" >0.735344</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row6_col3\" class=\"data row6 col3\" >0.668567</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row6_col4\" class=\"data row6 col4\" >0.618128</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row6_col5\" class=\"data row6 col5\" >0.680615</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row6_col6\" class=\"data row6 col6\" >1.000000</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row6_col7\" class=\"data row6 col7\" >0.665602</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row6_col8\" class=\"data row6 col8\" >0.346011</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row6_col9\" class=\"data row6 col9\" >0.758228</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1level0_row7\" class=\"row_heading level0 row7\" >Normal Nucleoli</th>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row7_col0\" class=\"data row7 col0\" >0.534066</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row7_col1\" class=\"data row7 col1\" >0.719346</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row7_col2\" class=\"data row7 col2\" >0.717963</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row7_col3\" class=\"data row7 col3\" >0.603121</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row7_col4\" class=\"data row7 col4\" >0.628926</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row7_col5\" class=\"data row7 col5\" >0.584280</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row7_col6\" class=\"data row7 col6\" >0.665602</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row7_col7\" class=\"data row7 col7\" >1.000000</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row7_col8\" class=\"data row7 col8\" >0.433757</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row7_col9\" class=\"data row7 col9\" >0.718677</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1level0_row8\" class=\"row_heading level0 row8\" >Mitoses</th>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row8_col0\" class=\"data row8 col0\" >0.350957</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row8_col1\" class=\"data row8 col1\" >0.460755</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row8_col2\" class=\"data row8 col2\" >0.441258</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row8_col3\" class=\"data row8 col3\" >0.418898</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row8_col4\" class=\"data row8 col4\" >0.480583</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row8_col5\" class=\"data row8 col5\" >0.339210</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row8_col6\" class=\"data row8 col6\" >0.346011</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row8_col7\" class=\"data row8 col7\" >0.433757</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row8_col8\" class=\"data row8 col8\" >1.000000</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row8_col9\" class=\"data row8 col9\" >0.423448</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1level0_row9\" class=\"row_heading level0 row9\" >Class</th>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row9_col0\" class=\"data row9 col0\" >0.714790</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row9_col1\" class=\"data row9 col1\" >0.820801</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row9_col2\" class=\"data row9 col2\" >0.821891</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row9_col3\" class=\"data row9 col3\" >0.706294</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row9_col4\" class=\"data row9 col4\" >0.690958</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row9_col5\" class=\"data row9 col5\" >0.822696</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row9_col6\" class=\"data row9 col6\" >0.758228</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row9_col7\" class=\"data row9 col7\" >0.718677</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row9_col8\" class=\"data row9 col8\" >0.423448</td>\n",
" <td id=\"T_f09f5082_fbc3_11ec_ad55_6c02e07c6ac1row9_col9\" class=\"data row9 col9\" >1.000000</td>\n",
" </tr>\n",
" </tbody></table>"
],
"text/plain": [
"<pandas.io.formats.style.Styler at 0x2b64e2b6a00>"
]
},
"execution_count": 68,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"corr = dataset.corr()\n",
"\n",
"corr.style.background_gradient(cmap='coolwarm')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "HlsROtFHUMnE"
},
"outputs": [],
"source": [
"# Create features and labels \n",
"features = dataset.drop(['Class'], axis=1)\n",
"labels = dataset['Class']\n",
"\n",
"# Create training and test set \n",
"from sklearn.model_selection import train_test_split\n",
"\n",
"features_train, features_test, labels_train, labels_test = train_test_split(features, labels, test_size=0.25)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "A8Y2AZ7pUMnE"
},
"source": [
"##### What are the features, they are shown below :"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "WVBXwcGVUMnE",
"outputId": "c0c5bf0f-2ac8-4ec3-cea2-418eaa77a69a"
},
"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>Clump Thickness</th>\n",
" <th>Uniformity of Cell Size</th>\n",
" <th>Uniformity of Cell Shape</th>\n",
" <th>Marginal Adhesion</th>\n",
" <th>Single Epithelial Cell Size</th>\n",
" <th>Bare Nuclei</th>\n",
" <th>Bland Chromatin</th>\n",
" <th>Normal Nucleoli</th>\n",
" <th>Mitoses</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>5</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>10</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>6</td>\n",
" <td>8</td>\n",
" <td>8</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>678</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>679</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>680</th>\n",
" <td>5</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>10</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>681</th>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>6</td>\n",
" <td>4</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>10</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>682</th>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>8</td>\n",
" <td>5</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>10</td>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>683 rows × 9 columns</p>\n",
"</div>"
],
"text/plain": [
" Clump Thickness Uniformity of Cell Size Uniformity of Cell Shape \\\n",
"0 5 1 1 \n",
"1 5 4 4 \n",
"2 3 1 1 \n",
"3 6 8 8 \n",
"4 4 1 1 \n",
".. ... ... ... \n",
"678 3 1 1 \n",
"679 2 1 1 \n",
"680 5 10 10 \n",
"681 4 8 6 \n",
"682 4 8 8 \n",
"\n",
" Marginal Adhesion Single Epithelial Cell Size Bare Nuclei \\\n",
"0 1 2 1 \n",
"1 5 7 10 \n",
"2 1 2 2 \n",
"3 1 3 4 \n",
"4 3 2 1 \n",
".. ... ... ... \n",
"678 1 3 2 \n",
"679 1 2 1 \n",
"680 3 7 3 \n",
"681 4 3 4 \n",
"682 5 4 5 \n",
"\n",
" Bland Chromatin Normal Nucleoli Mitoses \n",
"0 3 1 1 \n",
"1 3 2 1 \n",
"2 3 1 1 \n",
"3 3 7 1 \n",
"4 3 1 1 \n",
".. ... ... ... \n",
"678 1 1 1 \n",
"679 1 1 1 \n",
"680 8 10 2 \n",
"681 10 6 1 \n",
"682 10 4 1 \n",
"\n",
"[683 rows x 9 columns]"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"features"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "kxTeuXU0UMnF"
},
"source": [
"##### What are the labels, they are shown below :"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "xJoJTHq_UMnL",
"outputId": "8975e138-9112-4af8-f360-ce4ecb1a5591"
},
"outputs": [
{
"data": {
"text/plain": [
"0 0\n",
"1 0\n",
"2 0\n",
"3 0\n",
"4 0\n",
" ..\n",
"678 0\n",
"679 0\n",
"680 1\n",
"681 1\n",
"682 1\n",
"Name: Class, Length: 683, dtype: int64"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"labels"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "x-fJ1EkkUMnL"
},
"source": [
"#### These are 'features_train' ,'features_test','labels_train','labels_test' shown below :"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "eP_rR_g_UMnM",
"outputId": "61c5b219-3b50-4199-9749-723fae159b41"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"\n",
"\n",
" \u001b[1mfeatures_train : \u001b[0m \n",
" Clump Thickness Uniformity of Cell Size Uniformity of Cell Shape \\\n",
"644 1 1 1 \n",
"542 5 1 1 \n",
"160 5 6 7 \n",
"276 8 10 10 \n",
"508 7 5 6 \n",
".. ... ... ... \n",
"370 2 1 1 \n",
"236 1 1 1 \n",
"221 8 9 9 \n",
"106 1 1 1 \n",
"100 4 1 2 \n",
"\n",
" Marginal Adhesion Single Epithelial Cell Size Bare Nuclei \\\n",
"644 1 2 1 \n",
"542 3 2 1 \n",
"160 8 8 10 \n",
"276 10 8 10 \n",
"508 10 4 10 \n",
".. ... ... ... \n",
"370 1 2 1 \n",
"236 1 2 5 \n",
"221 5 3 5 \n",
"106 1 2 1 \n",
"100 1 2 1 \n",
"\n",
" Bland Chromatin Normal Nucleoli Mitoses \n",
"644 2 1 1 \n",
"542 1 1 1 \n",
"160 3 10 3 \n",
"276 10 7 3 \n",
"508 5 3 1 \n",
".. ... ... ... \n",
"370 1 1 1 \n",
"236 5 1 1 \n",
"221 7 7 1 \n",
"106 2 3 1 \n",
"100 3 1 1 \n",
"\n",
"[512 rows x 9 columns]\n",
"\n",
"\n",
"\n",
" \u001b[1mfeatures_test : \u001b[0m \n",
" Clump Thickness Uniformity of Cell Size Uniformity of Cell Shape \\\n",
"657 5 3 2 \n",
"568 3 1 1 \n",
"263 5 1 1 \n",
"556 7 6 10 \n",
"334 3 4 4 \n",
".. ... ... ... \n",
"447 6 1 1 \n",
"274 10 4 6 \n",
"611 2 1 1 \n",
"511 4 1 1 \n",
"203 5 1 1 \n",
"\n",
" Marginal Adhesion Single Epithelial Cell Size Bare Nuclei \\\n",
"657 1 3 1 \n",
"568 1 2 1 \n",
"263 1 2 1 \n",
"556 5 3 10 \n",
"334 10 5 1 \n",
".. ... ... ... \n",
"447 3 2 1 \n",
"274 1 2 10 \n",
"611 1 2 5 \n",
"511 1 2 1 \n",
"203 1 1 1 \n",
"\n",
" Bland Chromatin Normal Nucleoli Mitoses \n",
"657 1 1 1 \n",
"568 1 1 1 \n",
"263 3 1 1 \n",
"556 9 10 2 \n",
"334 3 3 1 \n",
".. ... ... ... \n",
"447 1 1 1 \n",
"274 5 3 1 \n",
"611 1 1 1 \n",
"511 1 1 1 \n",
"203 3 1 1 \n",
"\n",
"[171 rows x 9 columns]\n",
"\n",
"\n",
"\n",
" \u001b[1mlabels_train : \u001b[0m \n",
" 644 0\n",
"542 0\n",
"160 1\n",
"276 1\n",
"508 1\n",
" ..\n",
"370 0\n",
"236 0\n",
"221 1\n",
"106 0\n",
"100 0\n",
"Name: Class, Length: 512, dtype: int64\n",
"\n",
"\n",
"\n",
" \u001b[1mlabels_test : \u001b[0m \n",
" 657 0\n",
"568 0\n",
"263 0\n",
"556 1\n",
"334 1\n",
" ..\n",
"447 0\n",
"274 1\n",
"611 0\n",
"511 0\n",
"203 0\n",
"Name: Class, Length: 171, dtype: int64\n"
]
}
],
"source": [
"print(\"\\n\\n\\n \", \"\\033[1m\"+\"features_train : \"+\"\\033[0m\", \"\\n\",features_train)\n",
" \n",
"print(\"\\n\\n\\n \", \"\\033[1m\"+ \"features_test : \"+\"\\033[0m\", \"\\n\",features_test)\n",
" \n",
"print(\"\\n\\n\\n \", \"\\033[1m\"+\"labels_train : \"+\"\\033[0m\", \"\\n\",labels_train)\n",
" \n",
"print(\"\\n\\n\\n \", \"\\033[1m\"+\"labels_test : \"+\"\\033[0m\", \"\\n\",labels_test) "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "L5DtENmvUMnM"
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "z04lK8U6UMnM",
"outputId": "046001d8-2a52-4df0-9cbf-3309920dc6b4"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Accuracy: 0.99\n",
"Precision: 1.00\n",
"Recall: 0.98\n",
"F1 score: 0.99\n",
"AUROC score: 0.99\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Importing kNNm the ML algoríthm\n",
"from sklearn.neighbors import KNeighborsClassifier\n",
"\n",
"#Setting k=5, common starting point for k\n",
"classifier = KNeighborsClassifier(n_neighbors=5)\n",
"\n",
"# Fit data\n",
"classifier.fit(features_train, labels_train)\n",
"\n",
"# Predicting with classifier\n",
"pred = classifier.predict(features_test)\n",
"\n",
"# Check accuracy\n",
"from sklearn.metrics import accuracy_score\n",
"accuracy = accuracy_score(labels_test, pred)\n",
"print('Accuracy: {:.2f}'.format(accuracy))\n",
"\n",
"# Check precision\n",
"from sklearn.metrics import precision_score\n",
"precision = precision_score(labels_test, pred)\n",
"print ('Precision: {:.2f}'.format(precision))\n",
"\n",
"# Check recall\n",
"from sklearn.metrics import recall_score\n",
"recall = recall_score(labels_test, pred)\n",
"print ('Recall: {:.2f}'.format(recall))\n",
"\n",
"# Check F1 score\n",
"from sklearn.metrics import f1_score\n",
"F1 = f1_score(labels_test, pred)\n",
"print ('F1 score: {:.2f}'.format(F1))\n",
"\n",
"# Check with AUCROC\n",
"from sklearn.metrics import roc_auc_score\n",
"auroc = roc_auc_score(labels_test, pred)\n",
"print ('AUROC score: {:.2f}'.format(auroc))\n",
"\n",
"#AUROC curve\n",
"# Import ROC curve from library\n",
"from sklearn.metrics import roc_curve\n",
"fpr, tpr, thresholds = roc_curve(labels_test, pred)\n",
"\n",
"# Defining a function to plot the AUROC-curve\n",
"def plot_roc_curve(fpr, tpr):\n",
" plt.plot(fpr, tpr, color='orange', label='ROC')\n",
" plt.plot([0, 1], [0, 1], color='darkblue', linestyle='--')\n",
" plt.xlabel('False Positive Rate')\n",
" plt.ylabel('True Positive Rate')\n",
" plt.title('Receiver Operating Characteristic (ROC) Curve')\n",
" plt.legend()\n",
" plt.show()\n",
"\n",
"# Calling the function to finally plot the curve\n",
"plot_roc_curve(fpr, tpr)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "7GInpK_ZUMnN",
"outputId": "e40726aa-a3ae-449d-dce2-f01ec9f4450a"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[1m features_train_scaled : \u001b[0m\n",
"\n",
"\n",
"[[ 1.87808345 2.10276434 2.17837882 ... 1.81141969 1.97101666\n",
" -0.35015869]\n",
" [-0.54315795 -0.72052764 -0.76617079 ... -0.20828171 -0.62322635\n",
" -0.35015869]\n",
" [-1.2349412 -0.72052764 -0.76617079 ... -1.01616226 -0.62322635\n",
" -0.35015869]\n",
" ...\n",
" [ 1.87808345 0.53426879 0.54251793 ... 1.40747941 1.97101666\n",
" 0.2153973 ]\n",
" [ 1.87808345 1.47536612 1.19686229 ... 1.40747941 1.97101666\n",
" -0.35015869]\n",
" [ 1.18630019 -0.40682853 0.21534575 ... 0.59959885 0.34961478\n",
" 1.34650929]]\n",
"\n",
"\n",
"\u001b[1m features_test_scaled \u001b[0m\n",
"[[ 1.53219182 0.8479679 1.85120665 ... -0.61222199 1.97101666\n",
" 4.73984526]\n",
" [-0.19726632 -0.40682853 -0.43899861 ... -0.61222199 -0.62322635\n",
" -0.35015869]\n",
" [ 0.14862531 1.47536612 1.19686229 ... 0.59959885 1.32245591\n",
" -0.35015869]\n",
" ...\n",
" [-0.54315795 -0.72052764 -0.76617079 ... -0.61222199 -0.62322635\n",
" -0.35015869]\n",
" [ 0.49451694 -0.72052764 -0.76617079 ... -1.01616226 -0.62322635\n",
" -0.35015869]\n",
" [ 1.53219182 1.47536612 1.52403447 ... 0.19565857 2.29529704\n",
" 1.34650929]]\n"
]
}
],
"source": [
"#Create the test and training set first:\n",
"# Create training and test set \n",
"\n",
"from sklearn.model_selection import train_test_split\n",
"\n",
"features_train, features_test, labels_train, labels_test = train_test_split(features, labels, test_size=0.25)\n",
"\n",
"#Then implement the StandardScaler:\n",
"# Import the StandardScaler\n",
"\n",
"from sklearn.preprocessing import StandardScaler\n",
"\n",
"x_sc= StandardScaler()\n",
"features_train_scaled = x_sc.fit_transform(features_train)\n",
"features_test_scaled = x_sc.transform(features_test)\n",
"\n",
"print(\"\\033[1m\"+\" features_train_scaled : \"+\"\\033[0m\")\n",
"print(\"\\n\")\n",
"print(features_train_scaled)\n",
"print(\"\\n\")\n",
"print(\"\\033[1m\"+\" features_test_scaled \"+\"\\033[0m\")\n",
"print(features_test_scaled)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "DvR55Y2qUMnN",
"outputId": "c1fb8e38-1d9f-467f-96eb-66476e2e6401"
},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'Frequency')"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"count_classes = pd.value_counts(dataset['Class'], sort = True)\n",
"count_classes.plot(kind = 'bar', rot=0)\n",
"plt.title(\"Class Distribution\")\n",
"plt.xlabel(\"Class\")\n",
"plt.ylabel(\"Frequency\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "Rhycr8T3UMnN"
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "lGa2qgjMUMnN"
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "qKyelKOoUMnO",
"outputId": "f09435b6-c35c-440e-fefb-337af34e05ce"
},
"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>Clump Thickness</th>\n",
" <th>Uniformity of Cell Size</th>\n",
" <th>Uniformity of Cell Shape</th>\n",
" <th>Marginal Adhesion</th>\n",
" <th>Single Epithelial Cell Size</th>\n",
" <th>Bare Nuclei</th>\n",
" <th>Bland Chromatin</th>\n",
" <th>Normal Nucleoli</th>\n",
" <th>Mitoses</th>\n",
" <th>Class</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>5</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>10</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>6</td>\n",
" <td>8</td>\n",
" <td>8</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>678</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>679</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>680</th>\n",
" <td>5</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>10</td>\n",
" <td>2</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>681</th>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>6</td>\n",
" <td>4</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>10</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>682</th>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>8</td>\n",
" <td>5</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>10</td>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>683 rows × 10 columns</p>\n",
"</div>"
],
"text/plain": [
" Clump Thickness Uniformity of Cell Size Uniformity of Cell Shape \\\n",
"0 5 1 1 \n",
"1 5 4 4 \n",
"2 3 1 1 \n",
"3 6 8 8 \n",
"4 4 1 1 \n",
".. ... ... ... \n",
"678 3 1 1 \n",
"679 2 1 1 \n",
"680 5 10 10 \n",
"681 4 8 6 \n",
"682 4 8 8 \n",
"\n",
" Marginal Adhesion Single Epithelial Cell Size Bare Nuclei \\\n",
"0 1 2 1 \n",
"1 5 7 10 \n",
"2 1 2 2 \n",
"3 1 3 4 \n",
"4 3 2 1 \n",
".. ... ... ... \n",
"678 1 3 2 \n",
"679 1 2 1 \n",
"680 3 7 3 \n",
"681 4 3 4 \n",
"682 5 4 5 \n",
"\n",
" Bland Chromatin Normal Nucleoli Mitoses Class \n",
"0 3 1 1 2 \n",
"1 3 2 1 2 \n",
"2 3 1 1 2 \n",
"3 3 7 1 2 \n",
"4 3 1 1 2 \n",
".. ... ... ... ... \n",
"678 1 1 1 2 \n",
"679 1 1 1 2 \n",
"680 8 10 2 4 \n",
"681 10 6 1 4 \n",
"682 10 4 1 4 \n",
"\n",
"[683 rows x 10 columns]"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dataset = pd.read_csv(\"Breast Cancer.csv\")\n",
"\n",
"dataset=dataset.drop(['Sample code number'], axis=1) # drop 'Sample code number'\n",
"\n",
"dataset"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "VzKvCkQ2UMnO"
},
"outputs": [],
"source": [
"dataset['Class'] = dataset['Class'].replace(2,0) # replace values Class: (2 for benign = 0, 4 for malignant =1)\n",
"dataset['Class'] = dataset['Class'].replace(4,1) # replace values Class: (2 for benign = 0, 4 for malignant =1)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "uOY9vPBCUMnO"
},
"outputs": [],
"source": [
"# Create features and labels \n",
"features_new = dataset.drop(['Class'], axis=1)\n",
"labels_new = dataset['Class']"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "lcZEU88eUMnO"
},
"source": [
"# Undersampling"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "3L5p6hj2UMnO",
"outputId": "0072fe03-c9ab-4eb0-e3de-906bd50acd68"
},
"outputs": [
{
"data": {
"text/plain": [
"((478, 9), (478,))"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from imblearn.under_sampling import NearMiss\n",
"nm = NearMiss()\n",
"X_res,y_res=nm.fit_sample(features_new,labels_new)\n",
"X_res.shape,y_res.shape"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "HHBA0GhkUMnP",
"outputId": "ebc9df9d-67b7-4165-d7df-607dfb2a7920"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Original dataset shape Counter({0: 444, 1: 239})\n",
"Resampled dataset shape Counter({0: 239, 1: 239})\n"
]
}
],
"source": [
"from collections import Counter\n",
"print('Original dataset shape {}'.format(Counter(labels_new)))\n",
"print('Resampled dataset shape {}'.format(Counter(y_res)))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "wv2qzg3FUMnP",
"outputId": "e3029749-d3ae-4dba-96ae-3a43b954c990"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[1m features_train_scaled_new : \u001b[0m\n",
"\n",
"\n",
"[[-0.23179998 -0.87832294 -0.93595457 ... -0.76315734 -0.74899314\n",
" -0.40129568]\n",
" [-0.23179998 -0.26538023 -0.29650469 ... -0.37117696 -0.74899314\n",
" -0.40129568]\n",
" [ 0.61932199 0.65403385 0.02322025 ... 1.98070535 0.48667296\n",
" 0.64353235]\n",
" ...\n",
" [-1.08292194 -0.87832294 -0.93595457 ... -0.37117696 -0.74899314\n",
" -0.40129568]\n",
" [-1.08292194 -0.87832294 -0.93595457 ... -0.37117696 -0.74899314\n",
" -0.40129568]\n",
" [-0.65736096 -0.87832294 -0.93595457 ... -0.76315734 -0.74899314\n",
" -0.40129568]]\n",
"\n",
"\n",
"\u001b[1m features_test_scaled_new \u001b[0m\n",
"[[-1.08292194 -0.26538023 0.66267013 ... 0.02080343 0.17775644\n",
" -0.40129568]\n",
" [ 1.04488297 0.65403385 0.02322025 ... -0.37117696 -0.74899314\n",
" -0.40129568]\n",
" [-0.65736096 -0.87832294 -0.93595457 ... -1.15513772 -0.74899314\n",
" -0.40129568]\n",
" ...\n",
" [-0.65736096 0.9605052 1.30212001 ... 1.98070535 -0.74899314\n",
" -0.40129568]\n",
" [-0.65736096 -0.87832294 -0.93595457 ... -0.37117696 -0.74899314\n",
" -0.40129568]\n",
" [ 1.89600494 1.57344792 0.98239507 ... 1.19674458 1.10450601\n",
" -0.40129568]]\n"
]
}
],
"source": [
"# Create training and test set \n",
"from sklearn.model_selection import train_test_split\n",
"\n",
"features_train_new, features_test_new, labels_train_new, labels_test_new = train_test_split(X_res,y_res, test_size=0.25)\n",
"\n",
"#Then implement the StandardScaler:\n",
"# Import the StandardScaler\n",
"\n",
"from sklearn.preprocessing import StandardScaler\n",
"\n",
"x_sc= StandardScaler()\n",
"features_train_scaled_new = x_sc.fit_transform(features_train_new)\n",
"features_test_scaled_new = x_sc.transform(features_test_new)\n",
"\n",
"print(\"\\033[1m\"+\" features_train_scaled_new : \"+\"\\033[0m\")\n",
"print(\"\\n\")\n",
"print(features_train_scaled_new)\n",
"print(\"\\n\")\n",
"print(\"\\033[1m\"+\" features_test_scaled_new \"+\"\\033[0m\")\n",
"print(features_test_scaled_new)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "6OHY7Ed7UMnP",
"outputId": "fe282186-814e-4717-82ad-b61ba36aeae4"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Accuracy: 0.98\n",
"Precision: 0.99\n",
"Recall: 0.99\n",
"F1 score: 0.99\n",
"AUROC score: 0.98\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"#Setting k=5, common starting point for k\n",
"classifier = KNeighborsClassifier(n_neighbors=5)\n",
"\n",
"# Fit data\n",
"classifier.fit(features_train_new, labels_train_new)\n",
"\n",
"# Predicting with classifier\n",
"pred = classifier.predict(features_test_new)\n",
"\n",
"# Check accuracy\n",
"from sklearn.metrics import accuracy_score\n",
"accuracy = accuracy_score(labels_test_new, pred)\n",
"print('Accuracy: {:.2f}'.format(accuracy))\n",
"\n",
"# Check precision\n",
"from sklearn.metrics import precision_score\n",
"precision = precision_score(labels_test_new, pred)\n",
"print ('Precision: {:.2f}'.format(precision))\n",
"\n",
"# Check recall\n",
"from sklearn.metrics import recall_score\n",
"recall = recall_score(labels_test_new, pred)\n",
"print ('Recall: {:.2f}'.format(recall))\n",
"\n",
"# Check F1 score\n",
"from sklearn.metrics import f1_score\n",
"F1 = f1_score(labels_test_new, pred)\n",
"print ('F1 score: {:.2f}'.format(F1))\n",
"\n",
"# Check with AUCROC\n",
"from sklearn.metrics import roc_auc_score\n",
"auroc = roc_auc_score(labels_test_new, pred)\n",
"print ('AUROC score: {:.2f}'.format(auroc))\n",
"\n",
"#AUROC curve\n",
"# Import ROC curve from library\n",
"from sklearn.metrics import roc_curve\n",
"fpr, tpr, thresholds = roc_curve(labels_test_new, pred)\n",
"\n",
"# Defining a function to plot the AUROC-curve\n",
"def plot_roc_curve(fpr, tpr):\n",
" plt.plot(fpr, tpr, color='orange', label='ROC')\n",
" plt.plot([0, 1], [0, 1], color='darkblue', linestyle='--')\n",
" plt.xlabel('False Positive Rate')\n",
" plt.ylabel('True Positive Rate')\n",
" plt.title('Receiver Operating Characteristic (ROC) Curve')\n",
" plt.legend()\n",
" plt.show()\n",
"\n",
"# Calling the function to finally plot the curve\n",
"plot_roc_curve(fpr, tpr)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "mXdGtV7pUMnQ"
},
"source": [
"# Oversampling"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "lPZoBsaOUMnQ",
"outputId": "aa37621a-8a73-40ea-9aa4-a2d86561e130"
},
"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>Clump Thickness</th>\n",
" <th>Uniformity of Cell Size</th>\n",
" <th>Uniformity of Cell Shape</th>\n",
" <th>Marginal Adhesion</th>\n",
" <th>Single Epithelial Cell Size</th>\n",
" <th>Bare Nuclei</th>\n",
" <th>Bland Chromatin</th>\n",
" <th>Normal Nucleoli</th>\n",
" <th>Mitoses</th>\n",
" <th>Class</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>5</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>10</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>6</td>\n",
" <td>8</td>\n",
" <td>8</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>678</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>679</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>680</th>\n",
" <td>5</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>10</td>\n",
" <td>2</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>681</th>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>6</td>\n",
" <td>4</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>10</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>682</th>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>8</td>\n",
" <td>5</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>10</td>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>683 rows × 10 columns</p>\n",
"</div>"
],
"text/plain": [
" Clump Thickness Uniformity of Cell Size Uniformity of Cell Shape \\\n",
"0 5 1 1 \n",
"1 5 4 4 \n",
"2 3 1 1 \n",
"3 6 8 8 \n",
"4 4 1 1 \n",
".. ... ... ... \n",
"678 3 1 1 \n",
"679 2 1 1 \n",
"680 5 10 10 \n",
"681 4 8 6 \n",
"682 4 8 8 \n",
"\n",
" Marginal Adhesion Single Epithelial Cell Size Bare Nuclei \\\n",
"0 1 2 1 \n",
"1 5 7 10 \n",
"2 1 2 2 \n",
"3 1 3 4 \n",
"4 3 2 1 \n",
".. ... ... ... \n",
"678 1 3 2 \n",
"679 1 2 1 \n",
"680 3 7 3 \n",
"681 4 3 4 \n",
"682 5 4 5 \n",
"\n",
" Bland Chromatin Normal Nucleoli Mitoses Class \n",
"0 3 1 1 2 \n",
"1 3 2 1 2 \n",
"2 3 1 1 2 \n",
"3 3 7 1 2 \n",
"4 3 1 1 2 \n",
".. ... ... ... ... \n",
"678 1 1 1 2 \n",
"679 1 1 1 2 \n",
"680 8 10 2 4 \n",
"681 10 6 1 4 \n",
"682 10 4 1 4 \n",
"\n",
"[683 rows x 10 columns]"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dataset_new = pd.read_csv(\"Breast Cancer.csv\")\n",
"\n",
"dataset_new=dataset_new.drop(['Sample code number'], axis=1)\n",
"\n",
"dataset_new"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "ep5w1FbIUMnQ"
},
"outputs": [],
"source": [
"dataset_new['Class'] = dataset_new['Class'].replace(2,0) # replace values Class: (2 for benign = 0, 4 for malignant =1)\n",
"dataset_new['Class'] = dataset_new['Class'].replace(4,1) # replace values Class: (2 for benign = 0, 4 for malignant =1)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "9Y3s__J_UMnQ"
},
"outputs": [],
"source": [
"# Create features and labels \n",
"features_new = dataset_new.drop(['Class'], axis=1)\n",
"labels_new = dataset_new['Class']"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "S9agYpAeUMnQ",
"outputId": "b04d04c2-c542-47bc-ff8d-d6104fb56226"
},
"outputs": [
{
"data": {
"text/plain": [
"((888, 9), (888,))"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from imblearn.over_sampling import RandomOverSampler\n",
"os = RandomOverSampler()\n",
"X_train_res_over, y_train_res_over = os.fit_sample(features_new, labels_new)\n",
"X_train_res_over.shape,y_train_res_over.shape"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "BqM_g6ZdUMnR",
"outputId": "b7faa961-ffc7-4b1a-f423-c0ef850bf41a"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Original dataset shape Counter({0: 444, 1: 239})\n",
"Resampled dataset shape Counter({0: 444, 1: 444})\n"
]
}
],
"source": [
"from collections import Counter\n",
"print('Original dataset shape {}'.format(Counter(labels_new)))\n",
"print('Resampled dataset shape {}'.format(Counter(y_train_res_over)))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "cI7uXuwjUMnR",
"outputId": "3d538ecd-9d4a-4f9c-b21e-f02df8accae8"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[1m features_train_scaled_newer : \u001b[0m\n",
"\n",
"\n",
"[[ 0.97349353 1.83549718 1.88896624 ... 2.26440745 1.05306519\n",
" 0.60815138]\n",
" [-0.72108747 1.83549718 1.26119602 ... 1.88357529 -0.15927952\n",
" 3.18795277]\n",
" [ 0.29566113 1.83549718 0.94731091 ... 1.50274313 1.96232373\n",
" 0.0921911 ]\n",
" ...\n",
" [-1.39891987 -0.89248945 -0.93599974 ... -0.40141768 -0.76545188\n",
" -0.42376918]\n",
" [-0.72108747 0.9261683 0.94731091 ... -0.02058552 1.35615137\n",
" -0.42376918]\n",
" [-0.72108747 -0.89248945 -0.93599974 ... -1.16308201 -0.76545188\n",
" -0.42376918]]\n",
"\n",
"\n",
"\u001b[1m features_test_scaled_newer \u001b[0m\n",
"[[ 1.65132593 0.01683942 -0.62211463 ... -0.02058552 -0.15927952\n",
" 4.21987333]\n",
" [-1.39891987 -0.89248945 -0.93599974 ... -0.78224985 -0.76545188\n",
" -0.42376918]\n",
" [-1.39891987 -0.89248945 -0.93599974 ... -0.40141768 -0.76545188\n",
" -0.42376918]\n",
" ...\n",
" [-0.04325507 -0.2862702 -0.30822952 ... -0.40141768 -0.15927952\n",
" 0.60815138]\n",
" [ 0.97349353 1.83549718 1.88896624 ... 2.26440745 1.96232373\n",
" 4.21987333]\n",
" [ 0.97349353 1.83549718 1.88896624 ... 2.26440745 1.96232373\n",
" -0.42376918]]\n"
]
}
],
"source": [
"# Create training and test set \n",
"from sklearn.model_selection import train_test_split\n",
"\n",
"features_train_newer, features_test_newer, labels_train_newer, labels_test_newer = train_test_split(X_train_res_over, y_train_res_over, test_size=0.25)\n",
"\n",
"#Then implement the StandardScaler:\n",
"# Import the StandardScaler\n",
"\n",
"from sklearn.preprocessing import StandardScaler\n",
"\n",
"x_sc= StandardScaler()\n",
"features_train_scaled_newer = x_sc.fit_transform(features_train_newer)\n",
"features_test_scaled_newer = x_sc.transform(features_test_newer)\n",
"\n",
"print(\"\\033[1m\"+\" features_train_scaled_newer : \"+\"\\033[0m\")\n",
"print(\"\\n\")\n",
"print(features_train_scaled_newer)\n",
"print(\"\\n\")\n",
"print(\"\\033[1m\"+\" features_test_scaled_newer \"+\"\\033[0m\")\n",
"print(features_test_scaled_newer)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "B_4sEbVZUMnR",
"outputId": "969743cd-36fe-4018-8121-aa16a4819b6e"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Accuracy: 0.98\n",
"Precision: 0.95\n",
"Recall: 1.00\n",
"F1 score: 0.98\n",
"AUROC score: 0.98\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"#Setting k=5, common starting point for k\n",
"classifier = KNeighborsClassifier(n_neighbors=5)\n",
"\n",
"# Fit data\n",
"classifier.fit(features_train_newer, labels_train_newer)\n",
"\n",
"# Predicting with classifier\n",
"pred = classifier.predict(features_test_newer)\n",
"\n",
"# Check accuracy\n",
"from sklearn.metrics import accuracy_score\n",
"accuracy = accuracy_score(labels_test_newer, pred)\n",
"print('Accuracy: {:.2f}'.format(accuracy))\n",
"\n",
"# Check precision\n",
"from sklearn.metrics import precision_score\n",
"precision = precision_score(labels_test_newer, pred)\n",
"print ('Precision: {:.2f}'.format(precision))\n",
"\n",
"# Check recall\n",
"from sklearn.metrics import recall_score\n",
"recall = recall_score(labels_test_newer, pred)\n",
"print ('Recall: {:.2f}'.format(recall))\n",
"\n",
"# Check F1 score\n",
"from sklearn.metrics import f1_score\n",
"F1 = f1_score(labels_test_newer, pred)\n",
"print ('F1 score: {:.2f}'.format(F1))\n",
"\n",
"# Check with AUCROC\n",
"from sklearn.metrics import roc_auc_score\n",
"auroc = roc_auc_score(labels_test_newer, pred)\n",
"print ('AUROC score: {:.2f}'.format(auroc))\n",
"\n",
"#AUROC curve\n",
"# Import ROC curve from library\n",
"from sklearn.metrics import roc_curve\n",
"fpr, tpr, thresholds = roc_curve(labels_test_newer, pred)\n",
"\n",
"# Defining a function to plot the AUROC-curve\n",
"def plot_roc_curve(fpr, tpr):\n",
" plt.plot(fpr, tpr, color='orange', label='ROC')\n",
" plt.plot([0, 1], [0, 1], color='darkblue', linestyle='--')\n",
" plt.xlabel('False Positive Rate')\n",
" plt.ylabel('True Positive Rate')\n",
" plt.title('Receiver Operating Characteristic (ROC) Curve')\n",
" plt.legend()\n",
" plt.show()\n",
"\n",
"# Calling the function to finally plot the curve\n",
"plot_roc_curve(fpr, tpr)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "wuw-eOQtUMnR"
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "50tAjDWdUMnS"
},
"source": [
" "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "qzHEB_k0UMnS"
},
"source": [
"# Combined under and oversampling"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "yTAkLE0OUMnS",
"outputId": "8d3b0692-63b8-4b89-d185-0735f6dea1f6"
},
"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>Clump Thickness</th>\n",
" <th>Uniformity of Cell Size</th>\n",
" <th>Uniformity of Cell Shape</th>\n",
" <th>Marginal Adhesion</th>\n",
" <th>Single Epithelial Cell Size</th>\n",
" <th>Bare Nuclei</th>\n",
" <th>Bland Chromatin</th>\n",
" <th>Normal Nucleoli</th>\n",
" <th>Mitoses</th>\n",
" <th>Class</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>5</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>10</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>6</td>\n",
" <td>8</td>\n",
" <td>8</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>678</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>679</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>680</th>\n",
" <td>5</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>10</td>\n",
" <td>2</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>681</th>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>6</td>\n",
" <td>4</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>10</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>682</th>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>8</td>\n",
" <td>5</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>10</td>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>683 rows × 10 columns</p>\n",
"</div>"
],
"text/plain": [
" Clump Thickness Uniformity of Cell Size Uniformity of Cell Shape \\\n",
"0 5 1 1 \n",
"1 5 4 4 \n",
"2 3 1 1 \n",
"3 6 8 8 \n",
"4 4 1 1 \n",
".. ... ... ... \n",
"678 3 1 1 \n",
"679 2 1 1 \n",
"680 5 10 10 \n",
"681 4 8 6 \n",
"682 4 8 8 \n",
"\n",
" Marginal Adhesion Single Epithelial Cell Size Bare Nuclei \\\n",
"0 1 2 1 \n",
"1 5 7 10 \n",
"2 1 2 2 \n",
"3 1 3 4 \n",
"4 3 2 1 \n",
".. ... ... ... \n",
"678 1 3 2 \n",
"679 1 2 1 \n",
"680 3 7 3 \n",
"681 4 3 4 \n",
"682 5 4 5 \n",
"\n",
" Bland Chromatin Normal Nucleoli Mitoses Class \n",
"0 3 1 1 2 \n",
"1 3 2 1 2 \n",
"2 3 1 1 2 \n",
"3 3 7 1 2 \n",
"4 3 1 1 2 \n",
".. ... ... ... ... \n",
"678 1 1 1 2 \n",
"679 1 1 1 2 \n",
"680 8 10 2 4 \n",
"681 10 6 1 4 \n",
"682 10 4 1 4 \n",
"\n",
"[683 rows x 10 columns]"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Import pandas\n",
"import pandas as pd\n",
" \n",
"# reading csv file\n",
"datasetter=pd.read_csv(\"Breast Cancer.csv\")\n",
"\n",
"datasetter=datasetter.drop(['Sample code number'], axis=1)\n",
"\n",
"datasetter"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "n-42oEfLUMnS"
},
"outputs": [],
"source": [
"datasetter['Class'] = datasetter['Class'].replace(2,0) # replace values Class: (2 for benign = 0, 4 for malignant =1)\n",
"datasetter['Class'] = datasetter['Class'].replace(4,1) # replace values Class: (2 for benign = 0, 4 for malignant =1)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "I7ojHYmkUMnS"
},
"outputs": [],
"source": [
"# Create features and labels \n",
"features_newset = datasetter.drop(['Class'], axis=1)\n",
"labels_newset = datasetter['Class']"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "euXN_pfcUMnS",
"outputId": "167effd8-a83e-4e2b-f363-9f2145a2851a"
},
"outputs": [
{
"data": {
"text/plain": [
"((886, 9), (886,))"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from imblearn.combine import SMOTETomek\n",
"smk = SMOTETomek()\n",
"X_ress,y_ress=smk.fit_sample(features_newset,labels_newset)\n",
"X_ress.shape,y_ress.shape"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "jHGeT3ZQUMnT",
"outputId": "80db3ffd-54b2-427e-eee8-2214284419a5"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Original dataset shape Counter({0: 444, 1: 239})\n",
"Resampled dataset shape Counter({0: 443, 1: 443})\n"
]
}
],
"source": [
"print('Original dataset shape {}'.format(Counter(labels_newset)))\n",
"print('Resampled dataset shape {}'.format(Counter(y_ress)))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "gODBBbn6UMnT",
"outputId": "53ba09f7-3b13-4d15-b7a0-f71e24698dde"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[1m features_train_scaled : \u001b[0m\n",
"\n",
"\n",
"[[-0.00577988 -0.89156515 -0.93502196 ... -1.1469079 -0.76732634\n",
" -0.4116127 ]\n",
" [-0.00577988 1.86049752 1.88989777 ... 1.62523351 1.98344882\n",
" 2.16193561]\n",
" [-0.00577988 0.02578907 0.63437789 ... 1.62523351 1.98344882\n",
" -0.4116127 ]\n",
" ...\n",
" [-0.35467421 -0.89156515 -0.93502196 ... -1.1469079 -0.76732634\n",
" -0.4116127 ]\n",
" [-1.40135721 -0.58578041 -0.30726202 ... -1.1469079 -0.76732634\n",
" -0.4116127 ]\n",
" [-1.05246288 -0.89156515 -0.93502196 ... -0.7508877 -0.76732634\n",
" -0.4116127 ]]\n",
"\n",
"\n",
"\u001b[1m features_test_scaled : \u001b[0m\n",
"[[-0.70356854 -0.89156515 -0.93502196 ... -1.1469079 -0.76732634\n",
" -0.4116127 ]\n",
" [-0.00577988 1.86049752 1.88989777 ... 1.22921331 1.98344882\n",
" -0.4116127 ]\n",
" [ 0.34311446 0.02578907 0.00661795 ... 0.83319311 1.37216545\n",
" -0.4116127 ]\n",
" ...\n",
" [-1.05246288 -0.89156515 -0.93502196 ... -0.7508877 -0.76732634\n",
" -0.4116127 ]\n",
" [ 0.34311446 -0.89156515 -0.93502196 ... -0.7508877 -0.76732634\n",
" -0.4116127 ]\n",
" [-0.35467421 -0.89156515 -0.93502196 ... -0.7508877 -0.76732634\n",
" -0.4116127 ]]\n"
]
}
],
"source": [
"# Create training and test set \n",
"from sklearn.model_selection import train_test_split\n",
"\n",
"features_train_newset, features_test_newset, labels_train_newset, labels_test_newset = train_test_split(X_ress,y_ress, test_size=0.25)\n",
"\n",
"#Then implement the StandardScaler:\n",
"# Import the StandardScaler\n",
"\n",
"from sklearn.preprocessing import StandardScaler\n",
"\n",
"x_sc= StandardScaler()\n",
"features_train_scaled = x_sc.fit_transform(features_train_newset)\n",
"features_test_scaled = x_sc.transform(features_test_newset)\n",
"\n",
"print(\"\\033[1m\"+\" features_train_scaled : \"+\"\\033[0m\")\n",
"print(\"\\n\")\n",
"print(features_train_scaled)\n",
"print(\"\\n\")\n",
"print(\"\\033[1m\"+\" features_test_scaled : \"+\"\\033[0m\")\n",
"print(features_test_scaled)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "Wpc4p3yCUMnT",
"outputId": "2990621f-dd39-4c8a-d3d4-f208c62eb531"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Accuracy: 0.99\n",
"Precision: 0.97\n",
"Recall: 1.00\n",
"F1 score: 0.99\n",
"AUROC score: 0.99\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"#Setting k=5, common starting point for k\n",
"classifier = KNeighborsClassifier(n_neighbors=5)\n",
"\n",
"# Fit data\n",
"classifier.fit(features_train_newset, labels_train_newset)\n",
"\n",
"# Predicting with classifier\n",
"pred = classifier.predict(features_test_newset)\n",
"\n",
"# Check accuracy\n",
"from sklearn.metrics import accuracy_score\n",
"accuracy = accuracy_score(labels_test_newset, pred)\n",
"print('Accuracy: {:.2f}'.format(accuracy))\n",
"\n",
"# Check precision\n",
"from sklearn.metrics import precision_score\n",
"precision = precision_score(labels_test_newset, pred)\n",
"print ('Precision: {:.2f}'.format(precision))\n",
"\n",
"# Check recall\n",
"from sklearn.metrics import recall_score\n",
"recall = recall_score(labels_test_newset, pred)\n",
"print ('Recall: {:.2f}'.format(recall))\n",
"\n",
"# Check F1 score\n",
"from sklearn.metrics import f1_score\n",
"F1 = f1_score(labels_test_newset, pred)\n",
"print ('F1 score: {:.2f}'.format(F1))\n",
"\n",
"# Check with AUCROC\n",
"from sklearn.metrics import roc_auc_score\n",
"auroc = roc_auc_score(labels_test_newset, pred)\n",
"print ('AUROC score: {:.2f}'.format(auroc))\n",
"\n",
"#AUROC curve\n",
"# Import ROC curve from library\n",
"from sklearn.metrics import roc_curve\n",
"fpr, tpr, thresholds = roc_curve(labels_test_newset, pred)\n",
"\n",
"# Defining a function to plot the AUROC-curve\n",
"def plot_roc_curve(fpr, tpr):\n",
" plt.plot(fpr, tpr, color='orange', label='ROC')\n",
" plt.plot([0, 1], [0, 1], color='darkblue', linestyle='--')\n",
" plt.xlabel('False Positive Rate')\n",
" plt.ylabel('True Positive Rate')\n",
" plt.title('Receiver Operating Characteristic (ROC) Curve')\n",
" plt.legend()\n",
" plt.show()\n",
"\n",
"# Calling the function to finally plot the curve\n",
"plot_roc_curve(fpr, tpr)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "LbwewmflUMnT"
},
"source": [
" "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "NxT7NUBpUMnU"
},
"source": [
"# Over sampling gave me slightly better results....\n",
"\n",
"<center>#-------------------------------------------------#\n",
"<center>\n",
"**Summary Below :**\n",
"<center>\n",
" \n",
"<center>#-------------------------------------------------#\n",
" \n",
"|No change|Undersampling | Oversampling |cross sampling|\n",
"|---|---|---|---|\n",
"|Accuracy: 0.98|Accuracy: 0.94 | Accuracy: 1.00|Accuracy: 0.97|\n",
"|Precision: 0.98|Precision: 0.98 | Precision: 0.99|Precision: 0.95|\n",
"|Recall: 0.95|Recall: 0.89 | Recall: 1.00|Recall: 1.00|\n",
"|F1 score: 0.97|F1 score: 0.93 | F1 score: 1.00|F1 score: 0.97|\n",
"|AUROC score: 0.97|AUROC score: 0.94 | AUROC score: 1.00|AUROC score: 0.97|\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "3wtq15oSUMnU"
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "C7mazhO3UMnU",
"outputId": "a6cc9b29-9f4f-4164-f706-82182786c467"
},
"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>Clump Thickness</th>\n",
" <th>Uniformity of Cell Size</th>\n",
" <th>Uniformity of Cell Shape</th>\n",
" <th>Marginal Adhesion</th>\n",
" <th>Single Epithelial Cell Size</th>\n",
" <th>Bare Nuclei</th>\n",
" <th>Bland Chromatin</th>\n",
" <th>Normal Nucleoli</th>\n",
" <th>Mitoses</th>\n",
" <th>Class</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>5</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>10</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>6</td>\n",
" <td>8</td>\n",
" <td>8</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>678</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>679</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>680</th>\n",
" <td>5</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>10</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>681</th>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>6</td>\n",
" <td>4</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>10</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>682</th>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>8</td>\n",
" <td>5</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>10</td>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>683 rows × 10 columns</p>\n",
"</div>"
],
"text/plain": [
" Clump Thickness Uniformity of Cell Size Uniformity of Cell Shape \\\n",
"0 5 1 1 \n",
"1 5 4 4 \n",
"2 3 1 1 \n",
"3 6 8 8 \n",
"4 4 1 1 \n",
".. ... ... ... \n",
"678 3 1 1 \n",
"679 2 1 1 \n",
"680 5 10 10 \n",
"681 4 8 6 \n",
"682 4 8 8 \n",
"\n",
" Marginal Adhesion Single Epithelial Cell Size Bare Nuclei \\\n",
"0 1 2 1 \n",
"1 5 7 10 \n",
"2 1 2 2 \n",
"3 1 3 4 \n",
"4 3 2 1 \n",
".. ... ... ... \n",
"678 1 3 2 \n",
"679 1 2 1 \n",
"680 3 7 3 \n",
"681 4 3 4 \n",
"682 5 4 5 \n",
"\n",
" Bland Chromatin Normal Nucleoli Mitoses Class \n",
"0 3 1 1 0 \n",
"1 3 2 1 0 \n",
"2 3 1 1 0 \n",
"3 3 7 1 0 \n",
"4 3 1 1 0 \n",
".. ... ... ... ... \n",
"678 1 1 1 0 \n",
"679 1 1 1 0 \n",
"680 8 10 2 1 \n",
"681 10 6 1 1 \n",
"682 10 4 1 1 \n",
"\n",
"[683 rows x 10 columns]"
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dataset"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "41TdPW-6UMnU"
},
"outputs": [],
"source": [
"# Create features and labels \n",
"features = dataset.drop(['Class'], axis=1)\n",
"labels = dataset['Class']\n",
"\n",
"# Create training and test set \n",
"from sklearn.model_selection import train_test_split\n",
"\n",
"X_train, X_test, y_train, y_test = train_test_split(features, labels, test_size=0.25)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "Gb3_Yku9UMnU",
"outputId": "01c01d86-b336-4d96-c9b6-9e6db0d903d4"
},
"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>Clump Thickness</th>\n",
" <th>Uniformity of Cell Size</th>\n",
" <th>Uniformity of Cell Shape</th>\n",
" <th>Marginal Adhesion</th>\n",
" <th>Single Epithelial Cell Size</th>\n",
" <th>Bare Nuclei</th>\n",
" <th>Bland Chromatin</th>\n",
" <th>Normal Nucleoli</th>\n",
" <th>Mitoses</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>5</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>10</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>6</td>\n",
" <td>8</td>\n",
" <td>8</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>678</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>679</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>680</th>\n",
" <td>5</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>10</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>681</th>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>6</td>\n",
" <td>4</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>10</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>682</th>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>8</td>\n",
" <td>5</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>10</td>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>683 rows × 9 columns</p>\n",
"</div>"
],
"text/plain": [
" Clump Thickness Uniformity of Cell Size Uniformity of Cell Shape \\\n",
"0 5 1 1 \n",
"1 5 4 4 \n",
"2 3 1 1 \n",
"3 6 8 8 \n",
"4 4 1 1 \n",
".. ... ... ... \n",
"678 3 1 1 \n",
"679 2 1 1 \n",
"680 5 10 10 \n",
"681 4 8 6 \n",
"682 4 8 8 \n",
"\n",
" Marginal Adhesion Single Epithelial Cell Size Bare Nuclei \\\n",
"0 1 2 1 \n",
"1 5 7 10 \n",
"2 1 2 2 \n",
"3 1 3 4 \n",
"4 3 2 1 \n",
".. ... ... ... \n",
"678 1 3 2 \n",
"679 1 2 1 \n",
"680 3 7 3 \n",
"681 4 3 4 \n",
"682 5 4 5 \n",
"\n",
" Bland Chromatin Normal Nucleoli Mitoses \n",
"0 3 1 1 \n",
"1 3 2 1 \n",
"2 3 1 1 \n",
"3 3 7 1 \n",
"4 3 1 1 \n",
".. ... ... ... \n",
"678 1 1 1 \n",
"679 1 1 1 \n",
"680 8 10 2 \n",
"681 10 6 1 \n",
"682 10 4 1 \n",
"\n",
"[683 rows x 9 columns]"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"features"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "2eQAuuohUMnV"
},
"source": [
"# 2.)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "_p9ru1U7UMnV"
},
"source": [
"# Feature importances with a forest of trees"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "_I1MOb_0UMnV",
"outputId": "928a4624-4ac1-4592-eba5-50a1b719a50b"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Feature: 0 Score: 0.0005856515373352967\n",
"Feature: 1 Score: 0.002928257686676461\n",
"Feature: 2 Score: 0.0032210834553441092\n",
"Feature: 3 Score: 0.004099560761347032\n",
"Feature: 4 Score: 0.004392386530014702\n",
"Feature: 5 Score: 0.004978038067349977\n",
"Feature: 6 Score: 0.009956076134699888\n",
"Feature: 7 Score: 0.01639824304538804\n",
"Feature: 8 Score: 0.056222547584187474\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"\n",
"from sklearn.neighbors import KNeighborsClassifier\n",
"from sklearn.inspection import permutation_importance\n",
"from matplotlib import pyplot\n",
"# define dataset\n",
"\n",
"\n",
"# define the model\n",
"model = KNeighborsClassifier()\n",
"# fit the model\n",
"model.fit(features,labels)\n",
"\n",
"# perform permutation importance\n",
"results = permutation_importance(model, features,labels, scoring='accuracy')\n",
"\n",
"# get importance\n",
"importance = results.importances_mean\n",
"importance=np.sort(importance)\n",
"\n",
"# summarize feature importance\n",
"for i,v in enumerate(importance):\n",
" print('Feature: {} Score: {}' .format(i,v))\n",
"# plot feature importance\n",
"pyplot.bar([x for x in range(len(importance))] ,importance)\n",
"pyplot.show()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "6HnLlEU4UMnV"
},
"source": [
" "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "TQLQHZPxUMnV"
},
"source": [
"# Feature importance based on mean decrease in impurity\n",
"- calculates each feature importance as the sum over the number of splits (across all tress) that include the feature, proportionally to the number of samples it splits. Here “gini importance” or “mean decrease impurity” can be termed as the total decrease in node impurity (weighted by the probability of reaching that node (which is approximated by the proportion of samples reaching that node)) averaged over all trees of the ensemble."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "PStztyL7UMnV",
"outputId": "a5e457b7-8528-4826-bb38-d5d74f9cd60e"
},
"outputs": [
{
"data": {
"text/plain": [
"RandomForestClassifier(random_state=0)"
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.ensemble import RandomForestClassifier\n",
"\n",
"feature_names = [f\"feature {i}\" for i in range(features.shape[1])]\n",
"forest = RandomForestClassifier(random_state=0)\n",
"forest.fit(features,labels)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "r_ReOtjGUMnW",
"outputId": "07a56249-a05e-411a-d018-62f76376aac5"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Elapsed time to compute the importances: 0.010 seconds\n"
]
}
],
"source": [
"import time\n",
"import numpy as np\n",
"\n",
"start_time = time.time()\n",
"importances = forest.feature_importances_\n",
"std = np.std([tree.feature_importances_ for tree in forest.estimators_], axis=0)\n",
"elapsed_time = time.time() - start_time\n",
"\n",
"print(f\"Elapsed time to compute the importances: {elapsed_time:.3f} seconds\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "53V_-lOCUMnW",
"outputId": "287b65c1-783f-4c68-e690-b330b9b5d277"
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import pandas as pd\n",
"\n",
"forest_importances = pd.Series(importances, index=feature_names)\n",
"\n",
"fig, ax = plt.subplots()\n",
"forest_importances.plot.bar(yerr=std, ax=ax)\n",
"ax.set_title(\"Feature importances using MDI\")\n",
"ax.set_ylabel(\"Mean decrease in impurity\")\n",
"fig.tight_layout()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "OwgDIJUuUMnW"
},
"source": [
"### Normal Nucleoli and Mitoses played a more important role determining the outcome which is consistent with the literature as only nuclear cellular features were assessed to be important in determining the outcome. here nuclear shape and sizes also influence the model, according to MDI study which I also conducted."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "2gdaKUgNUMnW"
},
"source": [
" "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "LP2SFMgsUMnW",
"outputId": "07fa266e-975b-4563-8f67-8f3819303c6d"
},
"outputs": [
{
"data": {
"text/plain": [
"[Text(128.8382142857143, 206.56799999999998, 'X[1] <= 2.5\\ngini = 0.455\\nsamples = 683\\nvalue = [444, 239]'),\n",
" Text(71.74285714285715, 184.824, 'X[5] <= 5.5\\ngini = 0.056\\nsamples = 418\\nvalue = [406, 12]'),\n",
" Text(47.82857142857143, 163.07999999999998, 'X[0] <= 6.5\\ngini = 0.024\\nsamples = 410\\nvalue = [405, 5]'),\n",
" Text(28.697142857142858, 141.336, 'X[7] <= 9.0\\ngini = 0.01\\nsamples = 405\\nvalue = [403, 2]'),\n",
" Text(19.13142857142857, 119.592, 'X[5] <= 4.5\\ngini = 0.005\\nsamples = 404\\nvalue = [403, 1]'),\n",
" Text(9.565714285714286, 97.848, 'gini = 0.0\\nsamples = 396\\nvalue = [396, 0]'),\n",
" Text(28.697142857142858, 97.848, 'X[4] <= 1.5\\ngini = 0.219\\nsamples = 8\\nvalue = [7, 1]'),\n",
" Text(19.13142857142857, 76.10399999999998, 'gini = 0.0\\nsamples = 1\\nvalue = [0, 1]'),\n",
" Text(38.26285714285714, 76.10399999999998, 'gini = 0.0\\nsamples = 7\\nvalue = [7, 0]'),\n",
" Text(38.26285714285714, 119.592, 'gini = 0.0\\nsamples = 1\\nvalue = [0, 1]'),\n",
" Text(66.96000000000001, 141.336, 'X[2] <= 2.5\\ngini = 0.48\\nsamples = 5\\nvalue = [2, 3]'),\n",
" Text(57.394285714285715, 119.592, 'gini = 0.0\\nsamples = 2\\nvalue = [2, 0]'),\n",
" Text(76.52571428571429, 119.592, 'gini = 0.0\\nsamples = 3\\nvalue = [0, 3]'),\n",
" Text(95.65714285714286, 163.07999999999998, 'X[0] <= 2.5\\ngini = 0.219\\nsamples = 8\\nvalue = [1, 7]'),\n",
" Text(86.09142857142857, 141.336, 'gini = 0.0\\nsamples = 1\\nvalue = [1, 0]'),\n",
" Text(105.22285714285715, 141.336, 'gini = 0.0\\nsamples = 7\\nvalue = [0, 7]'),\n",
" Text(185.93357142857144, 184.824, 'X[2] <= 2.5\\ngini = 0.246\\nsamples = 265\\nvalue = [38, 227]'),\n",
" Text(133.92000000000002, 163.07999999999998, 'X[0] <= 5.5\\ngini = 0.34\\nsamples = 23\\nvalue = [18, 5]'),\n",
" Text(124.35428571428571, 141.336, 'X[6] <= 6.5\\ngini = 0.1\\nsamples = 19\\nvalue = [18, 1]'),\n",
" Text(114.78857142857143, 119.592, 'gini = 0.0\\nsamples = 18\\nvalue = [18, 0]'),\n",
" Text(133.92000000000002, 119.592, 'gini = 0.0\\nsamples = 1\\nvalue = [0, 1]'),\n",
" Text(143.4857142857143, 141.336, 'gini = 0.0\\nsamples = 4\\nvalue = [0, 4]'),\n",
" Text(237.94714285714286, 163.07999999999998, 'X[1] <= 4.5\\ngini = 0.152\\nsamples = 242\\nvalue = [20, 222]'),\n",
" Text(179.35714285714286, 141.336, 'X[5] <= 2.5\\ngini = 0.375\\nsamples = 68\\nvalue = [17, 51]'),\n",
" Text(153.05142857142857, 119.592, 'X[3] <= 3.5\\ngini = 0.408\\nsamples = 14\\nvalue = [10, 4]'),\n",
" Text(143.4857142857143, 97.848, 'X[7] <= 7.5\\ngini = 0.165\\nsamples = 11\\nvalue = [10, 1]'),\n",
" Text(133.92000000000002, 76.10399999999998, 'gini = 0.0\\nsamples = 10\\nvalue = [10, 0]'),\n",
" Text(153.05142857142857, 76.10399999999998, 'gini = 0.0\\nsamples = 1\\nvalue = [0, 1]'),\n",
" Text(162.61714285714285, 97.848, 'gini = 0.0\\nsamples = 3\\nvalue = [0, 3]'),\n",
" Text(205.66285714285715, 119.592, 'X[0] <= 6.5\\ngini = 0.226\\nsamples = 54\\nvalue = [7, 47]'),\n",
" Text(181.74857142857144, 97.848, 'X[0] <= 5.5\\ngini = 0.386\\nsamples = 23\\nvalue = [6, 17]'),\n",
" Text(172.18285714285713, 76.10399999999998, 'X[5] <= 6.0\\ngini = 0.351\\nsamples = 22\\nvalue = [5, 17]'),\n",
" Text(153.05142857142857, 54.360000000000014, 'X[1] <= 3.5\\ngini = 0.494\\nsamples = 9\\nvalue = [4, 5]'),\n",
" Text(143.4857142857143, 32.615999999999985, 'X[4] <= 3.5\\ngini = 0.278\\nsamples = 6\\nvalue = [1, 5]'),\n",
" Text(133.92000000000002, 10.872000000000014, 'gini = 0.0\\nsamples = 5\\nvalue = [0, 5]'),\n",
" Text(153.05142857142857, 10.872000000000014, 'gini = 0.0\\nsamples = 1\\nvalue = [1, 0]'),\n",
" Text(162.61714285714285, 32.615999999999985, 'gini = 0.0\\nsamples = 3\\nvalue = [3, 0]'),\n",
" Text(191.31428571428572, 54.360000000000014, 'X[6] <= 3.5\\ngini = 0.142\\nsamples = 13\\nvalue = [1, 12]'),\n",
" Text(181.74857142857144, 32.615999999999985, 'X[7] <= 1.5\\ngini = 0.5\\nsamples = 2\\nvalue = [1, 1]'),\n",
" Text(172.18285714285713, 10.872000000000014, 'gini = 0.0\\nsamples = 1\\nvalue = [0, 1]'),\n",
" Text(191.31428571428572, 10.872000000000014, 'gini = 0.0\\nsamples = 1\\nvalue = [1, 0]'),\n",
" Text(200.88, 32.615999999999985, 'gini = 0.0\\nsamples = 11\\nvalue = [0, 11]'),\n",
" Text(191.31428571428572, 76.10399999999998, 'gini = 0.0\\nsamples = 1\\nvalue = [1, 0]'),\n",
" Text(229.57714285714286, 97.848, 'X[5] <= 7.5\\ngini = 0.062\\nsamples = 31\\nvalue = [1, 30]'),\n",
" Text(220.01142857142858, 76.10399999999998, 'X[3] <= 4.5\\ngini = 0.198\\nsamples = 9\\nvalue = [1, 8]'),\n",
" Text(210.4457142857143, 54.360000000000014, 'gini = 0.0\\nsamples = 7\\nvalue = [0, 7]'),\n",
" Text(229.57714285714286, 54.360000000000014, 'X[5] <= 5.5\\ngini = 0.5\\nsamples = 2\\nvalue = [1, 1]'),\n",
" Text(220.01142857142858, 32.615999999999985, 'gini = 0.0\\nsamples = 1\\nvalue = [0, 1]'),\n",
" Text(239.14285714285714, 32.615999999999985, 'gini = 0.0\\nsamples = 1\\nvalue = [1, 0]'),\n",
" Text(239.14285714285714, 76.10399999999998, 'gini = 0.0\\nsamples = 22\\nvalue = [0, 22]'),\n",
" Text(296.53714285714284, 141.336, 'X[3] <= 1.5\\ngini = 0.034\\nsamples = 174\\nvalue = [3, 171]'),\n",
" Text(277.4057142857143, 119.592, 'X[0] <= 7.0\\ngini = 0.298\\nsamples = 11\\nvalue = [2, 9]'),\n",
" Text(267.84000000000003, 97.848, 'X[4] <= 5.5\\ngini = 0.5\\nsamples = 4\\nvalue = [2, 2]'),\n",
" Text(258.2742857142857, 76.10399999999998, 'gini = 0.0\\nsamples = 2\\nvalue = [2, 0]'),\n",
" Text(277.4057142857143, 76.10399999999998, 'gini = 0.0\\nsamples = 2\\nvalue = [0, 2]'),\n",
" Text(286.9714285714286, 97.848, 'gini = 0.0\\nsamples = 7\\nvalue = [0, 7]'),\n",
" Text(315.66857142857145, 119.592, 'X[7] <= 2.5\\ngini = 0.012\\nsamples = 163\\nvalue = [1, 162]'),\n",
" Text(306.10285714285715, 97.848, 'X[7] <= 1.5\\ngini = 0.071\\nsamples = 27\\nvalue = [1, 26]'),\n",
" Text(296.53714285714284, 76.10399999999998, 'gini = 0.0\\nsamples = 22\\nvalue = [0, 22]'),\n",
" Text(315.66857142857145, 76.10399999999998, 'X[6] <= 5.5\\ngini = 0.32\\nsamples = 5\\nvalue = [1, 4]'),\n",
" Text(306.10285714285715, 54.360000000000014, 'gini = 0.0\\nsamples = 1\\nvalue = [1, 0]'),\n",
" Text(325.2342857142857, 54.360000000000014, 'gini = 0.0\\nsamples = 4\\nvalue = [0, 4]'),\n",
" Text(325.2342857142857, 97.848, 'gini = 0.0\\nsamples = 136\\nvalue = [0, 136]')]"
]
},
"execution_count": 49,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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Cxe2aCfVYqIxd9XFixf7clcNw2W5MUfau+66K7EOxI25avs9r2Fqy/b79XNew3ScznYtNhZXCnXVbkwf5NGn69cZNmW/sWDBAmbPnp21vJQjZ9++fTM6he7fv59nn32WvXv3UsijohE+udxVU3WZsldvjCBdlm+66Sa6d+/O1q1bmThxIuvXr6d9+/asX7+eUaNG8eSTT1JTU8MDDzzA1KnJSwPSmKv27t27mTVrVmiutbm48MILmT9/Pr169WLTpk2oKrt372bkyJE8+uijTJ06lXnz5jFt2rSc5fiNK6effnqjDt3QuNPvnj17eP755ykrK8saV1KaFi5cyNChQ1m5ciUdO3Zk1apVANTW1jJ06FBUlV69evH444/njHUN8dWnG3QfmYh/V862bduyY8cOTj/99Nj72oxPk089+nF9Daq/MFVOZWWlL23dunVjy5Yt1NTUMHny5Nivs3zO6zHHHMO6desAQnfTzVdb//79WbduHePHjw/dVTsfXan6/vjjjw/TVmisy6bvU9/7Dbq5DN1ShpO7d+9mz549XHzxxbz66qu0a9eOUaNGhWrvbcRH0C8vGrvO/Los24u05L2wylbf+ThOV1VV0aNHj1Adp/PVtHTpUg4ePEhdXR29evXi1FNPDSboBm3o5ufA0t1Uc9l7G/Hhpx4bOv2uWLGCLl26MHr06MPqMigHYr8/nO3btx9yfm3fvj0lJSWJcOv1e15TzrXz58+nrKyMLl26MHbs2NCDbj7aHnvsMQYPHpzxtxu143S6prZt23LccccddtOOwmA3liFjSbQwN/LHXF/DIannFZL7203yOWtILJMj0l05gX64zGSd05aNwplatkkt0xbgolpsZHBXnQys5NOur9cB89PXC7suM+jqDtQAPdKWDQWqgZIotfkhg/7RNPg94LzFXohae4PfbntcZrTBact6485117h0eToeB76d9n8r4M/Al+Ou7yQkEP8OMEtVa1MLVPVPwN9xPkZG8XADhzuG/A74kogMiEcS4HzZHlHV91MLVHU9LgvWZbGp8k85Lun2x2nLHgX6ichJ8UgCnP3SSlXdkFqgqu8BC4BvxiVKnJ/dGODQuDDvmkxEgvxYcy+ISAdckotRqvpmg+8uwhkAxuGfZOSJOMeQRThL7f0NvvslrvX7vRh0HYFrJU5S1bUNvjsD+DkwouBX1iEh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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"from sklearn import tree\n",
"\n",
"clf = tree.DecisionTreeClassifier()\n",
"clf = clf.fit(features,labels)\n",
"\n",
"tree.plot_tree(clf)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "HEmGCmR-UMnX",
"outputId": "06fb5df2-3283-450b-f94f-71727d7ed875"
},
"outputs": [
{
"data": {
"text/plain": [
"'Breast Cancer Dataset.pdf'"
]
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import graphviz \n",
"\n",
"dot_data = tree.export_graphviz(clf, out_file=None) \n",
"graph = graphviz.Source(dot_data) \n",
"graph.render(\"Breast Cancer Dataset\") # I made the diabetes decision trees as a pdf open it !! "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "yAfQ34i4UMnX",
"outputId": "810fb998-32e0-4bce-f8e3-428daa09074a"
},
"outputs": [
{
"data": {
"text/plain": [
"SVC()"
]
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn import svm\n",
"\n",
"clf = svm.SVC()\n",
"clf.fit(features,labels)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "bq71qIwEUMnX",
"outputId": "0cac5ca5-3740-4b00-8448-90cbfb85cc83"
},
"outputs": [
{
"data": {
"text/plain": [
"array([0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,\n",
" 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0,\n",
" 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1,\n",
" 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,\n",
" 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1,\n",
" 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0,\n",
" 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0,\n",
" 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1], dtype=int64)"
]
},
"execution_count": 52,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import numpy as np\n",
"\n",
"\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn import svm\n",
"\n",
"#X, y = make_classification(n_samples=10, random_state=0)\n",
"#X_train , X_test , y_train, y_test = train_test_split(X, y, random_state=0)\n",
"\n",
"#clf = svm.SVC(kernel='precomputed')\n",
"\n",
"# linear kernel computation\n",
"gram_train = np.dot(X_train, X_train.T)\n",
"clf.fit(gram_train, y_train)\n",
"\n",
"\n",
"# predict on training examples\n",
"gram_test = np.dot(X_test, X_train.T)\n",
"clf.predict(gram_test)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "8hGpY85ZUMnX",
"outputId": "03b43fcc-dec8-4ca1-fe67-0997c5ff822e"
},
"outputs": [
{
"data": {
"text/plain": [
"RandomForestClassifier(max_depth=2, random_state=0)"
]
},
"execution_count": 53,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.ensemble import RandomForestClassifier\n",
"clf = RandomForestClassifier(max_depth=2, random_state=0)\n",
"clf.fit(features,labels)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "x189BaKoUMnX",
"outputId": "aa17bf5e-c634-40f9-9b40-80c8ec4761e9"
},
"outputs": [
{
"data": {
"text/plain": [
"(<683x700 sparse matrix of type '<class 'numpy.int64'>'\n",
" \twith 204900 stored elements in Compressed Sparse Row format>,\n",
" array([ 0, 7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84,\n",
" 91, 98, 105, 112, 119, 126, 133, 140, 147, 154, 161, 168, 175,\n",
" 182, 189, 196, 203, 210, 217, 224, 231, 238, 245, 252, 259, 266,\n",
" 273, 280, 287, 294, 301, 308, 315, 322, 329, 336, 343, 350, 357,\n",
" 364, 371, 378, 385, 392, 399, 406, 413, 420, 427, 434, 441, 448,\n",
" 455, 462, 469, 476, 483, 490, 497, 504, 511, 518, 525, 532, 539,\n",
" 546, 553, 560, 567, 574, 581, 588, 595, 602, 609, 616, 623, 630,\n",
" 637, 644, 651, 658, 665, 672, 679, 686, 693, 700], dtype=int32))"
]
},
"execution_count": 54,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"clf.decision_path(features)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "tPNN86kTUMnY",
"outputId": "2051cf85-3b87-408f-fd0e-11f5ebe0e694"
},
"outputs": [
{
"data": {
"text/plain": [
"0.972181551976574"
]
},
"execution_count": 55,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"clf.score(features,labels)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "w6q_mStSUMnY",
"outputId": "23150246-e0d0-4872-fe9e-ee75fb143c1d"
},
"outputs": [
{
"data": {
"text/plain": [
"KNeighborsClassifier(n_neighbors=3)"
]
},
"execution_count": 56,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.neighbors import KNeighborsClassifier\n",
"neigh = KNeighborsClassifier(n_neighbors=3)\n",
"neigh.fit(features,labels)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "RLMhBK4WUMnY",
"outputId": "7cf4463b-ba37-4d09-fd55-458eac55a3c8"
},
"outputs": [
{
"data": {
"text/plain": [
"0.9795021961932651"
]
},
"execution_count": 57,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"neigh.score(features,labels)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "0y2zkqnZUMnY",
"outputId": "3964f407-ca2b-45de-d088-735f340277fe"
},
"outputs": [
{
"data": {
"text/plain": [
"(array([[0. , 0. , 0. ],\n",
" [0. , 2.82842712, 4. ],\n",
" [0. , 1. , 1. ],\n",
" ...,\n",
" [0. , 3.87298335, 5.29150262],\n",
" [0. , 3.31662479, 5.74456265],\n",
" [0. , 3.31662479, 5.38516481]]),\n",
" array([[521, 0, 197],\n",
" [ 1, 173, 319],\n",
" [ 2, 157, 162],\n",
" ...,\n",
" [680, 171, 212],\n",
" [681, 682, 296],\n",
" [682, 681, 575]], dtype=int64))"
]
},
"execution_count": 58,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"neigh.kneighbors(features,3)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "Dv-nasuCUMnY",
"outputId": "2422ff3a-b4d2-4acc-941e-3aa10c0f614b"
},
"outputs": [
{
"data": {
"text/plain": [
"matrix([[1., 0., 0., ..., 0., 0., 0.],\n",
" [0., 1., 0., ..., 0., 0., 0.],\n",
" [0., 0., 1., ..., 0., 0., 0.],\n",
" ...,\n",
" [0., 0., 0., ..., 1., 0., 0.],\n",
" [0., 0., 0., ..., 0., 1., 1.],\n",
" [0., 0., 0., ..., 0., 1., 1.]])"
]
},
"execution_count": 59,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# reference : https://scipy-lectures.org/advanced/scipy_sparse/csr_matrix.html\n",
"\n",
"sparesematrix=neigh.kneighbors_graph(features,3) # values are returned in Compressed Sparse Row Format (CSR)\n",
"sparesematrix.todense() # so we read them with .todense() function"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "LJQn56J_UMnY"
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "Ge-T4iW1UMnY",
"outputId": "e6b92481-931d-4249-a163-8b02bc7a5397"
},
"outputs": [
{
"data": {
"text/plain": [
"AdaBoostClassifier(n_estimators=100, random_state=0)"
]
},
"execution_count": 60,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.ensemble import AdaBoostClassifier\n",
"\n",
"clf = AdaBoostClassifier(n_estimators=100, random_state=0)\n",
"clf.fit(features,labels)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "K87Gm9BIUMnZ",
"outputId": "99013ee9-56b4-4021-ed33-cc5ee4823e7c"
},
"outputs": [
{
"data": {
"text/plain": [
"array([-1.43276382e-01, -4.39767656e-02, -1.34513641e-01, -4.17440028e-02,\n",
" -1.23336514e-01, 1.09209711e+00, -9.41805886e-02, -1.34513641e-01,\n",
" -1.21721106e-01, -1.01205382e-01, -1.40054438e-01, -1.34513641e-01,\n",
" 1.95528874e-02, -1.40623963e-01, 2.26568196e-01, 8.77111673e-03,\n",
" -1.34513641e-01, -1.34513641e-01, 4.25137986e-01, -1.43276382e-01,\n",
" 2.45032765e-01, 8.22193657e-01, -1.34513641e-01, -1.96798212e-01,\n",
" 2.22042599e-02, -4.44616073e-02, -1.43276382e-01, -1.34513641e-01,\n",
" -2.09952265e-01, -7.77698667e-02, -1.34513641e-01, 3.69212560e-01,\n",
" -1.23336514e-01, -1.34513641e-01, -1.34513641e-01, 1.73358988e+00,\n",
" -4.02940791e-02, 1.24797317e-01, 7.00577619e-02, 3.56712704e-01,\n",
" 6.50372705e-01, 4.50971859e-02, 1.63780790e+00, -1.96798212e-01,\n",
" 1.87098089e-02, -1.96798212e-01, -1.23336514e-01, 2.99042084e-02,\n",
" 4.53162972e-01, 2.20362579e-02, 7.81555178e-01, 2.88288483e-01,\n",
" 4.65446030e-01, 4.29599289e-01, 1.00183072e+00, 4.69256231e-02,\n",
" 5.84736816e-02, 4.14742323e-01, 3.42889194e-01, -1.96798212e-01,\n",
" 1.09608205e+00, 2.72638848e-01, -1.96798212e-01, 3.48589348e-01,\n",
" -1.34513641e-01, 3.75901835e-01, 8.40928479e-01, -1.96798212e-01,\n",
" -1.14945707e-01, 3.47254636e-01, -9.76571819e-02, 4.96832501e-01,\n",
" 4.27245819e-01, -1.77503285e-01, -1.68467537e-01, -8.53962951e-02,\n",
" -7.83393919e-02, -1.34513641e-01, -3.15313384e-02, -1.23336514e-01,\n",
" -1.09968122e-01, -1.21583372e-01, 5.41654865e-01, 7.50681696e-01,\n",
" 7.92601578e-02, 8.41207804e-02, -1.34513641e-01, -1.23336514e-01,\n",
" -1.96798212e-01, -1.64821242e-01, -1.34513641e-01, -1.96798212e-01,\n",
" -1.34513641e-01, -1.96798212e-01, -1.64821242e-01, -1.43276382e-01,\n",
" 1.26556991e+00, 6.24053409e-01, 8.14148842e-01, 1.01243557e-02,\n",
" -1.34513641e-01, 2.23174285e-02, 1.48862256e+00, 1.11144814e-01,\n",
" 1.14081093e+00, 7.95311460e-02, -1.86296303e-01, 6.44035211e-02,\n",
" -9.01300964e-02, 1.07752316e-01, 5.44117481e-01, 1.47056717e+00,\n",
" -3.16364324e-02, -1.74617968e-01, -3.25997753e-02, 2.17677014e-01,\n",
" -1.93369570e-01, -1.01205382e-01, -1.85621085e-01, -1.01205382e-01,\n",
" 1.15623734e+00, 7.97065314e-02, 8.69615806e-01, -1.96798212e-01,\n",
" 2.50687391e-01, -1.34513641e-01, 5.56424301e-02, -1.75217222e-01,\n",
" -1.14945707e-01, -1.34513641e-01, 3.44073392e-01, -1.34513641e-01,\n",
" -1.34513641e-01, -1.32774472e-01, -1.34513641e-01, -1.75998369e-01,\n",
" -1.34513641e-01, -1.75998369e-01, -1.75998369e-01, 4.58657134e-01,\n",
" -1.74617968e-01, -1.34513641e-01, 4.11986139e-02, -1.96798212e-01,\n",
" -1.25921280e-01, 1.60014423e-01, -1.40054438e-01, 1.17381935e-01,\n",
" 1.35249178e+00, -1.19824120e-01, -2.38282940e-01, 8.46490914e-02,\n",
" -1.63489953e-01, -1.34513641e-01, 1.09090875e+00, 4.29592590e-01,\n",
" -1.34513641e-01, -1.34513641e-01, -5.99105265e-02, -1.34513641e-01,\n",
" 4.57869773e-01, 8.02265772e-01, -1.34513641e-01, -1.70362038e-01,\n",
" -1.75998369e-01, -1.96798212e-01, -1.96798212e-01, 1.47383432e+00,\n",
" 1.29646185e-01, 1.72582454e-01, -1.34513641e-01, 9.04283232e-01,\n",
" -1.34513641e-01, 4.47593894e-02, -1.40054438e-01, -2.38282940e-01,\n",
" -1.43276382e-01, 8.33682706e-02, 1.00762736e-01, -7.77698667e-02,\n",
" 3.51679473e-01, 6.01192454e-01, 8.03240597e-01, -1.35159278e-01,\n",
" 1.46463583e+00, 9.78170062e-01, -1.43276382e-01, -1.96798212e-01,\n",
" -1.34513641e-01, -1.34513641e-01, -1.93429667e-02, -1.32099255e-01,\n",
" -2.38282940e-01, -1.34513641e-01, 3.71062362e-01, 8.50403412e-01,\n",
" -1.96798212e-01, -1.43276382e-01, -1.96798212e-01, 1.13160425e+00,\n",
" 9.80751021e-01, -1.40054438e-01, -1.40054438e-01, -8.65326073e-02,\n",
" 1.52812685e+00, 3.67968199e-01, -1.96798212e-01, 1.51095557e+00,\n",
" 1.49606490e+00, 4.68517358e-01, -1.96798212e-01, -1.96798212e-01,\n",
" 1.05280300e+00, -1.14945707e-01, -1.85621085e-01, 1.24163785e+00,\n",
" -2.92776689e-03, 1.42219431e-01, 8.37254454e-01, -1.96798212e-01,\n",
" 1.16072944e+00, 2.39836245e-01, -1.40054438e-01, 1.82293342e+00,\n",
" 6.27941260e-02, 6.86351993e-01, -1.25522194e-02, 4.07954415e-01,\n",
" -8.70716899e-02, 4.46229096e-01, 6.92189576e-01, 1.16213177e+00,\n",
" 4.55428703e-01, -9.32666700e-02, -6.65927395e-02, -1.34513641e-01,\n",
" -9.48471202e-02, -1.96798212e-01, -1.32099255e-01, 7.49867041e-01,\n",
" 5.14223642e-02, -1.33774649e-01, -2.04974681e-01, 5.32561118e-01,\n",
" 7.13988925e-03, 6.50372705e-01, 1.09608205e+00, 7.05510563e-02,\n",
" -1.75998369e-01, -1.34513641e-01, -1.34513641e-01, -5.98553884e-03,\n",
" 5.71924745e-01, 1.14185073e+00, 4.02617369e-01, 5.16028857e-01,\n",
" 1.30963720e-01, -1.14945707e-01, 7.36009501e-01, 8.32308178e-02,\n",
" 7.95521173e-01, -1.96798212e-01, 3.68198033e-01, -1.43276382e-01,\n",
" 8.32308178e-02, 6.45759319e-02, -1.34513641e-01, -1.34513641e-01,\n",
" -1.96798212e-01, -1.96798212e-01, 5.10593348e-01, -1.34513641e-01,\n",
" -1.23336514e-01, 6.00146069e-02, 4.60237381e-01, 1.38088226e-01,\n",
" 1.09209711e+00, 1.59982812e+00, -1.34513641e-01, 3.17418716e-01,\n",
" 5.72659145e-01, -2.38282940e-01, -1.96798212e-01, 4.20718731e-01,\n",
" 1.48924728e-01, -6.79530569e-03, -1.16602492e-01, 3.52336083e-01,\n",
" 6.83943638e-01, -1.96798212e-01, 1.59346346e+00, -1.96798212e-01,\n",
" 1.68829300e-01, 8.04800196e-01, -1.96798212e-01, -1.96798212e-01,\n",
" 4.25816182e-01, -3.25625490e-02, -1.34513641e-01, -2.38282940e-01,\n",
" 1.33072884e-01, -2.38282940e-01, -1.40054438e-01, 1.10077167e-01,\n",
" 7.96658785e-01, -1.97590827e-01, 1.08944415e-03, 1.90410310e-01,\n",
" -1.34513641e-01, 1.21052938e-01, -1.96798212e-01, -9.07034722e-02,\n",
" 3.96777576e-01, -1.96798212e-01, 6.44085467e-01, 4.34764133e-01,\n",
" 4.02297095e-01, -1.43276382e-01, -9.87909953e-02, 4.67377005e-02,\n",
" 9.52976298e-02, -2.38282940e-01, 1.48093810e-01, -1.96798212e-01,\n",
" -1.40054438e-01, 1.13338376e-01, 4.46045021e-01, -1.96798212e-01,\n",
" -1.75998369e-01, -2.38282940e-01, 6.31616360e-01, -2.38282940e-01,\n",
" -1.29773813e-01, -1.71037256e-01, 1.62661784e-03, 1.07228924e-02,\n",
" -1.73583982e-01, -1.34513641e-01, -1.24632984e-02, 8.57964826e-01,\n",
" -1.96798212e-01, -1.34513641e-01, -1.56658837e-03, 8.99933252e-01,\n",
" 6.60716635e-01, 4.43608919e-01, 1.55634221e+00, 4.69891900e-01,\n",
" -5.62920120e-02, -2.90408435e-02, -1.34513641e-01, -1.34513641e-01,\n",
" 1.11295468e+00, 8.07350821e-01, -2.09952265e-01, -1.11723763e-01,\n",
" -8.78106817e-02, -2.09952265e-01, -1.34513641e-01, -1.32099255e-01,\n",
" -1.34513641e-01, -2.38282940e-01, -1.96798212e-01, -1.40054438e-01,\n",
" -1.23336514e-01, -7.95036268e-02, -2.38282940e-01, 5.01182116e-01,\n",
" -9.00282547e-02, -1.75998369e-01, -1.75998369e-01, -1.18118282e-01,\n",
" 1.51762135e-01, -5.70656202e-02, -1.34513641e-01, -1.43276382e-01,\n",
" -1.85621085e-01, 7.68132269e-01, -1.34513641e-01, -1.81539166e-01,\n",
" -1.35159278e-01, -1.34513641e-01, -1.34513641e-01, -1.75998369e-01,\n",
" -1.01205382e-01, -1.76644006e-01, 8.17150600e-01, -1.75998369e-01,\n",
" -6.82427474e-02, -9.80458216e-02, -1.93797554e-01, -1.96798212e-01,\n",
" -1.01205382e-01, -1.96798212e-01, -7.66335545e-02, -1.34513641e-01,\n",
" -1.96798212e-01, 1.37242465e+00, -1.43276382e-01, 1.30385177e-01,\n",
" -2.21208951e-02, 9.39914893e-02, -1.96798212e-01, -9.87909953e-02,\n",
" -1.30088024e-01, -3.38540054e-02, 1.55839162e+00, -4.89780971e-02,\n",
" -1.14945707e-01, -1.75998369e-01, 1.90006583e+00, -9.37416704e-02,\n",
" 3.17251705e-01, -1.96798212e-01, -1.34513641e-01, -1.50095253e-01,\n",
" -1.43360134e-01, -1.43276382e-01, -1.31512982e-01, -1.01283901e-01,\n",
" 8.01375324e-01, 9.08367517e-01, -1.75998369e-01, -1.36490567e-01,\n",
" -1.84761110e-01, 8.46322112e-01, -6.23231757e-02, -1.70931564e-01,\n",
" -2.38282940e-01, -1.28523107e-01, -1.75998369e-01, -2.38282940e-01,\n",
" -1.84761110e-01, -1.81539166e-01, 1.16808936e+00, -6.65927395e-02,\n",
" -1.84761110e-01, -1.64821242e-01, 5.18556682e-01, -1.29295409e-01,\n",
" 3.38473622e-01, 9.29962523e-01, 1.08373269e+00, -1.84761110e-01,\n",
" -1.56430435e-01, -1.73583982e-01, -1.12333396e-01, -1.73583982e-01,\n",
" -1.75998369e-01, -1.75998369e-01, 7.28360284e-01, 8.20194144e-01,\n",
" 5.03069481e-02, -1.75998369e-01, -1.96798212e-01, -7.77698667e-02,\n",
" -1.73583982e-01, -1.28017335e-01, -1.75998369e-01, -1.84761110e-01,\n",
" -1.75998369e-01, -1.75998369e-01, -1.75998369e-01, -1.51452850e-01,\n",
" 9.78537149e-02, -1.28017335e-01, -1.26881023e-01, 1.91539045e+00,\n",
" 7.32687000e-01, -1.84761110e-01, -1.14187789e-01, -7.77698667e-02,\n",
" 1.54881056e+00, 1.05688251e-01, 6.74052756e-04, -2.38282940e-01,\n",
" 3.89195717e-01, -7.77698667e-02, 7.30415038e-01, -2.56274631e-03,\n",
" -7.77698667e-02, -1.81539166e-01, -1.42690110e-01, -1.34513641e-01,\n",
" -1.34513641e-01, -1.43276382e-01, -1.34513641e-01, -1.23336514e-01,\n",
" -1.34513641e-01, -2.38282940e-01, -1.29295409e-01, 7.52906746e-01,\n",
" -1.60330393e-01, -1.84761110e-01, -1.75998369e-01, -2.38282940e-01,\n",
" -1.43276382e-01, -1.84761110e-01, -7.77698667e-02, 8.51121855e-01,\n",
" 1.09360524e+00, -1.81539166e-01, -1.40054438e-01, -1.64821242e-01,\n",
" 3.86838671e-01, -2.38282940e-01, -1.75998369e-01, 4.07106006e-01,\n",
" 2.53491431e-01, -1.34513641e-01, -1.64821242e-01, -1.75998369e-01,\n",
" -1.34513641e-01, -1.45253307e-01, -7.77698667e-02, 4.09742312e-01,\n",
" -1.01205382e-01, -1.40054438e-01, -1.34513641e-01, -1.34513641e-01,\n",
" -1.57290410e-01, -1.43276382e-01, -1.43276382e-01, -1.34513641e-01,\n",
" -1.43276382e-01, -1.43276382e-01, -1.75998369e-01, -1.38058150e-01,\n",
" -1.34513641e-01, -9.50058391e-02, -1.43276382e-01, 1.06685872e+00,\n",
" -1.19254594e-01, -1.19254594e-01, 9.82880886e-02, -1.34513641e-01,\n",
" -1.96798212e-01, -7.07333271e-02, -6.10579223e-02, -1.75998369e-01,\n",
" -8.99444604e-02, -4.20472208e-02, -1.73583982e-01, -1.34513641e-01,\n",
" -1.43276382e-01, -1.43276382e-01, -1.43276382e-01, -1.96798212e-01,\n",
" -1.34513641e-01, -1.34513641e-01, 1.16808936e+00, -1.34513641e-01,\n",
" -7.83393919e-02, 2.70752837e-02, 1.10534401e+00, 6.82236672e-01,\n",
" 1.15931253e+00, -1.34513641e-01, -1.96798212e-01, 1.99704140e-01,\n",
" -1.43276382e-01, -1.43276382e-01, -1.96798212e-01, -1.96798212e-01,\n",
" -1.96798212e-01, -1.43276382e-01, 3.86741513e-01, 6.18381003e-01,\n",
" -1.75998369e-01, -1.70007835e-01, -2.38282940e-01, 1.47384959e+00,\n",
" -1.43276382e-01, 4.62719145e-01, -1.84761110e-01, 5.21163927e-01,\n",
" 7.32525964e-02, 4.29673438e-01, -1.84761110e-01, 4.85266539e-02,\n",
" -1.43276382e-01, -1.34513641e-01, -1.14945707e-01, -1.34513641e-01,\n",
" -6.63784008e-02, -1.34513641e-01, -1.40054438e-01, -1.34513641e-01,\n",
" 7.03363620e-01, 4.67371032e-01, 7.97261665e-01, -1.64821242e-01,\n",
" -2.38282940e-01, 1.16039074e+00, -1.84761110e-01, 4.96703358e-01,\n",
" 9.88677048e-01, 1.52812685e+00, -8.78106817e-02, -7.77698667e-02,\n",
" -1.06182966e-01, -1.34513641e-01, -1.34513641e-01, -1.43276382e-01,\n",
" -1.34513641e-01, -4.41353513e-02, -7.43403323e-02, -2.38282940e-01,\n",
" -7.53554801e-02, -6.97151466e-02, 1.80286559e-02, -1.12333396e-01,\n",
" -1.75998369e-01, -1.75998369e-01, -1.23122175e-01, -1.43276382e-01,\n",
" -2.38282940e-01, 3.90476032e-01, -1.75998369e-01, -1.47667694e-01,\n",
" 1.35420177e+00, -6.16975798e-02, -1.75998369e-01, -1.73583982e-01,\n",
" -1.64821242e-01, -1.34513641e-01, -1.34513641e-01, -2.38282940e-01,\n",
" -1.75998369e-01, -1.34513641e-01, -2.04974681e-01, -2.27105813e-01,\n",
" 1.45372459e+00, -1.34513641e-01, -8.68686944e-02, -1.52312826e-01,\n",
" -1.43276382e-01, -1.34513641e-01, -1.34513641e-01, -1.34513641e-01,\n",
" -1.43276382e-01, -1.07872343e-01, 1.63348513e-01, -2.38282940e-01,\n",
" -1.96798212e-01, -1.34513641e-01, -1.68467537e-01, -1.68467537e-01,\n",
" -1.23336514e-01, -2.38282940e-01, -1.40275723e-01, -1.34513641e-01,\n",
" 2.62125833e-01, 1.03837433e+00, 3.74134270e-01, -9.00282547e-02,\n",
" -1.34513641e-01, -1.38058150e-01, -1.96798212e-01, -1.47667694e-01,\n",
" -1.96798212e-01, -1.84761110e-01, -2.38282940e-01, -1.75998369e-01,\n",
" 1.89048476e+00, 7.51279352e-01, -1.43276382e-01, -2.38282940e-01,\n",
" -2.38282940e-01, -2.38282940e-01, -2.38282940e-01, -1.24011732e-01,\n",
" -1.75998369e-01, -1.84005678e-01, -2.27105813e-01, 5.83439056e-01,\n",
" -1.75998369e-01, -1.34513641e-01, -1.75998369e-01, -1.75998369e-01,\n",
" 1.29598126e+00, 3.96741082e-01, 3.15860973e-01])"
]
},
"execution_count": 61,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"clf.decision_function(features)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "8REFblbQUMnZ",
"outputId": "9b4945ee-e3d5-45d7-c139-ab046f392348"
},
"outputs": [
{
"data": {
"text/plain": [
"0.9941434846266471"
]
},
"execution_count": 62,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"clf.score(features,labels)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "wudR9NBMUMnZ"
},
"outputs": [],
"source": [
"from sklearn.linear_model import LogisticRegression\n",
"from sklearn.neighbors import KNeighborsClassifier\n",
"from sklearn.ensemble import AdaBoostClassifier\n",
"from sklearn.ensemble import RandomForestClassifier\n",
"from sklearn.ensemble import GradientBoostingClassifier # implementing gradient boosting\n",
"from sklearn.tree import DecisionTreeClassifier # implementing decision trees\n",
"\n",
"from sklearn.metrics import roc_auc_score\n",
"from sklearn.pipeline import make_pipeline\n",
"from sklearn.preprocessing import StandardScaler\n",
"from sklearn.svm import SVC\n",
"\n",
"model1 = LogisticRegression() # done\n",
"model2 = KNeighborsClassifier(n_neighbors=4) #-\n",
"model3= AdaBoostClassifier(n_estimators=100, random_state=0) # done\n",
"model4= KNeighborsClassifier(n_neighbors=3) # -\n",
"model5= make_pipeline(StandardScaler(), SVC(gamma='auto',probability=True))\n",
"model6=RandomForestClassifier(max_depth=2, random_state=0) # done\n",
"model7= GradientBoostingClassifier(n_estimators=100, random_state=0) # done\n",
"\n",
"# testing DC Tree\n",
"model8=DecisionTreeClassifier(criterion='gini', splitter='best') # done\n",
"\n",
"# calculate average\n",
"def iteration():\n",
" \n",
" for x in range(100):\n",
" model1.fit(X_train, y_train)\n",
" model2.fit(X_train, y_train)\n",
" model3.fit(X_train, y_train)\n",
" model4.fit(X_train, y_train)\n",
" model5.fit(X_train, y_train)\n",
" model6.fit(X_train, y_train)\n",
" model7.fit(X_train, y_train)\n",
" \n",
" # check\n",
" model8.fit(X_train, y_train)\n",
"\n",
" pred_prob1 = model1.predict_proba(X_test)\n",
" pred_prob2 = model2.predict_proba(X_test)\n",
" pred_prob3 = model3.predict_proba(X_test)\n",
" pred_prob4 = model4.predict_proba(X_test)\n",
"\n",
" pred_prob5 = model5.predict_proba(X_test)\n",
" pred_prob6 = model6.predict_proba(X_test)\n",
" pred_prob7 = model7.predict_proba(X_test)\n",
" \n",
" pred_prob8 = model8.predict_proba(X_test)\n",
" \n",
" return pred_prob1,pred_prob2,pred_prob3,pred_prob4,pred_prob5,pred_prob6,pred_prob7,pred_prob8\n",
" \n",
"pred_prob1,pred_prob2,pred_prob3,pred_prob4,pred_prob5,pred_prob6,pred_prob7,pred_prob8=iteration() # doing 100 iterations"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "dBQSwfg7UMnZ"
},
"outputs": [],
"source": [
"from sklearn.metrics import roc_curve\n",
"\n",
"fpr1, tpr1, thresh1 = roc_curve(y_test, pred_prob1[:,1], pos_label=1)\n",
"fpr2, tpr2, thresh2 = roc_curve(y_test, pred_prob2[:,1], pos_label=1)\n",
"fpr3, tpr3, thresh3 = roc_curve(y_test, pred_prob3[:,1], pos_label=1)\n",
"fpr4, tpr4, thresh4 = roc_curve(y_test, pred_prob4[:,1], pos_label=1)\n",
"fpr5, tpr5, thresh5 = roc_curve(y_test, pred_prob1[:,1], pos_label=1)\n",
"fpr6, tpr6, thresh6 = roc_curve(y_test, pred_prob6[:,1], pos_label=1)\n",
"fpr7, tpr7, thresh7 = roc_curve(y_test, pred_prob7[:,1], pos_label=1)\n",
"\n",
"fpr8, tpr8, thresh8 = roc_curve(y_test, pred_prob8[:,1], pos_label=1)\n",
"\n",
"# roc curve for tpr = fpr \n",
"random_probs = [0 for i in range(len(y_test))] \n",
"p_fpr, p_tpr, _ = roc_curve(y_test, random_probs, pos_label=1)\n",
"\n",
"#print(roc_curve)\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "OT-Dt1UJUMnZ",
"outputId": "c7e97dba-8467-4583-e839-14375ac39ed1"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"LogisticRegression score : \n",
" 0.9992005116725295 \n",
"\n",
" KNeighborsClassifier (4) score : \n",
" 0.9993604093380236 \n",
"\n",
" AdaBoostClassifier score : \n",
" 0.9969619443556124 \n",
"\n",
" KNeighborsClassifier (3) score : \n",
" 0.9950431723696833 \n",
"\n",
" SVM score : \n",
" 0.9969619443556124 \n",
"\n",
" RandomForestClassifier score : \n",
" 0.9956827630316596 \n",
"\n",
" Gradientboosting score : \n",
" 0.9990406140070355 \n",
"\n",
" Decisiontree score : \n",
" 0.9505116725295811\n"
]
}
],
"source": [
"# auc scores\n",
"auc_score1 = roc_auc_score(y_test, pred_prob1[:,1])\n",
"auc_score2 = roc_auc_score(y_test, pred_prob2[:,1])\n",
"auc_score3 = roc_auc_score(y_test, pred_prob3[:,1])\n",
"auc_score4 = roc_auc_score(y_test, pred_prob4[:,1])\n",
"auc_score5 = roc_auc_score(y_test, pred_prob5[:,1])\n",
"auc_score6 = roc_auc_score(y_test, pred_prob6[:,1])\n",
"auc_score7 = roc_auc_score(y_test, pred_prob7[:,1])\n",
"\n",
"auc_score8 = roc_auc_score(y_test, pred_prob8[:,1])\n",
"\n",
"print(\"\\nLogisticRegression score : \\n\",auc_score1,\"\\n\\n KNeighborsClassifier (4) score : \\n\",auc_score2,\"\\n\\n AdaBoostClassifier score : \\n\",auc_score3,\"\\n\\n KNeighborsClassifier (3) score : \\n\",auc_score4,'\\n\\n SVM score : \\n',auc_score5,\"\\n\\n RandomForestClassifier score : \\n\",auc_score6,\"\\n\\n Gradientboosting score : \\n\",auc_score7,\"\\n\\n Decisiontree score : \\n\",auc_score8)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "ty2TcfAaUMnZ",
"outputId": "b1cb3d52-99ec-48f0-d442-310db15d6e05"
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 576x396 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# matplotlib\n",
"import matplotlib.pyplot as plt\n",
"plt.style.use('seaborn')\n",
"\n",
"# plot roc curves\n",
"plt.plot(fpr1, tpr1, linestyle='--',color='orange', label='Logistic Regression')\n",
"plt.plot(fpr2, tpr2, linestyle='--',color='green', label='KNN4')\n",
"plt.plot(fpr3, tpr3, linestyle='--',color='red', label='Adaboost')\n",
"plt.plot(fpr4, tpr4, linestyle='--',color='yellow', label='KNN3')\n",
"plt.plot(fpr5, tpr5, linestyle='--',color='brown', label='SVM')\n",
"plt.plot(fpr6, tpr6, linestyle='--',color='Purple', label='Randomforrest')\n",
"plt.plot(fpr7, tpr7, linestyle='--',color='black', label=\"GradientBoosting\")\n",
"\n",
"plt.plot(fpr8, tpr8, linestyle='--',color='cyan', label=\"Decisiontree\")\n",
"\n",
"plt.plot(p_fpr, p_tpr, linestyle='--', color='blue')\n",
"# title\n",
"plt.title('ROC curve')\n",
"# x label\n",
"plt.xlabel('False Positive Rate')\n",
"# y label\n",
"plt.ylabel('True Positive rate')\n",
"\n",
"plt.legend(loc='best')\n",
"plt.savefig('ROC',dpi=300)\n",
"plt.show();"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Cgaz1PcnUMna"
},
"source": [
"# 1.)\n",
"\n",
"### All algorithms show to perform well as seen from the above performance graph which considers kNN, Logistic regression, SVM, Decision Tree, Random Forest, AdaBoost, GradientBoost."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "z5GhR9qlUMna"
},
"source": [
" "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "FeWxDYphUMna"
},
"source": [
"**Reference :**\n",
"https://www.scirp.org/journal/PaperInformation.aspx?PaperID=64396"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "j4VJXpv9UMna"
},
"source": [
"Citation :\n",
" \n",
"Vig, L. (2014) Comparative Analysis of Different Classifiers for the Wisconsin Breast Cancer Dataset. Open Access Library Journal, 1, 1-7. doi: 10.4236/oalib.1100660."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "36prcliPUMna",
"outputId": "dbf37a5b-52b0-4634-fbed-853062e4e2cc"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[0.44251144 0.06666761 0.36945977 0.25094167 0.11778075 0.37981871\n",
" 0.30034269 0.18894277 0.38906866]]\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAvoAAAGACAYAAADcTsbvAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAABQlElEQVR4nO3dd3xO9///8ceVJUjESMQeoWj5oKpF7dVWKihFhBgfbVotNUpFi1qxGpRobaXR2qNKq1ZbrY+GTjqsoBUjiUZEkHmd3x9+rm9SSRokkhzP++3WW11nvM/rnLzD83pf7+sci2EYBiIiIiIiYip2eV2AiIiIiIjkPAV9ERERERETUtAXERERETEhBX0RERERERNS0BcRERERMSEFfRERERERE1LQFxHTqlmzJj4+PnTu3Nn231tvvXXX7R0+fJjx48fnYIW5a+zYsfz6668Zrnvrrbf43//+R0REBI8++ugdt/3VV18xd+5cAPbs2cOUKVPuqda0sqo7K+Hh4QwZMgQfHx86depEnz59+P7773OsrtwWFhZGx44dc6y91atXs3jx4iy3Wb9+PR999FG2tw8MDKR58+a23ycfHx/atm3LkiVLcqzunNa5c2fi4uLyugyRPOGQ1wWIiOSmlStXUrJkyRxp6+TJk0RGRuZIW/fD//73P3r27JnhuqCgIAAiIiLuqu0jR45w5coVANq2bUvbtm3vrsgMZFV3Zk6dOkW/fv2YNm0azZs3B+DAgQO8/PLLrF69moceeijH6isoevXq9a/b/PDDD7Zrk53tAfr378/AgQNtr8+fP4+3tzdt2rShWrVqd1dsLvrkk0/yugSRPKOgLyIPpPDwcIKCgoiNjSU1NRV/f3+ef/55rFYrU6dO5ZdffuHatWsYhsGUKVMoV64c8+bN4+rVq4wZM4YuXbowefJktm3bBtwcjb31OiQkhJ9//pmoqChq1qxJcHAwCxYsYOfOnVitVsqXL8/bb7+Np6fnbXUtWrSIzZs34+DgQOXKlZk+fTqurq689957bN++HXt7e6pWrcq4cePw8PDA39+f+vXr8+OPP3LhwgWaNGnC5MmTmTt3LlFRUYwcOZKZM2cSHByMm5sbp06dolevXuzcuZPevXtTp04drFYrb731Fr/99hsODg6MHTuW+vXrExISwuXLl22fYtx63blzZ9asWUNqaiqurq5U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X0RERETEhBT0RURERERMSEFfRERERMSEFPRFRERERExIQV9ERERExIQU9EVERERETEhBX0RERETEhBT0RURERERMSEFfRERERMSEFPRFRERERExIQV9ERERExIQU9EVERERETEhBX0RERETEhBT0RURERERMSEFfRERERMSEFPRFREREREzIIa8LkILHYgFwzesyJN9Rn5C01B8kLfUHM4mKuprXJUg2aURfRERERMSEFPRFRERERExIQV9ERERExIQU9EVERERETEhBX0RERETEhBT085mwsDBq1qzJZ599lm65j48PgYGBDB48GIBjx45x6NChvChRRERERAoABf18yMvLi23bttleHzt2jBs3bgAwf/58AHbu3MnJkyfzpD4RERERyf90H/18qFatWpw5c4a4uDiKFSvG1q1b8fHx4cKFCzRt2pRNmzaxefNmHB0dqV27NlevXuXdd9+lUKFCFC9enKlTp5KSksKwYcMwDIPk5GQmTpxIzZo1CQ0NZdu2bVgsFry9venbty87d+5kyZIlODg4UL58eWbOnImdnd4DioiIiBRkCvr5VPv27dm1axddu3bl8OHDvPjii1y4cAEAT09PnnvuOdzd3fnPf/5D27ZtWb16NZ6enqxcuZIFCxbQqFEjXF1dmTVrFidPniQ+Pp6TJ0/y2Wef8fHHH2OxWOjfvz/NmjVj27Zt9O/fn2effZYtW7YQHx9PsWLF8vgKiIiISH7k4XFvD0C71/0l+xT08ykfHx8mTJhAxYoVadiwYabbXb58GRcXFzw9PQF4/PHHmT17NqNGjeLMmTO88sorODg4MGjQII4fP8758+fp378/AFeuXOGvv/5izJgxLFq0iNWrV+Pl5UW7du3uxymKiIhIARQdffdPxvXwcL2n/eV2Wb1x0vyMfKpixYpcv36d0NBQOnXqdNt6i8WC1WqlRIkSxMfHExUVBcDBgwepUqUKYWFhlC5dmuXLlzNo0CBmz56Nl5cX1atX58MPPyQ0NJSuXbtSo0YN1q5dy5AhQ1i1ahUAu3btuq/nKiIiIiI5TyP6+Zi3tzeffPIJVatW5ezZs+nW1alTh5kzZ1KtWjWmTJnCkCFDsFgsuLm5MW3aNCwWC8OHD2flypXY2dnx6quvUqtWLZo0aUKvXr1ISkqibt26eHp6UrduXQYMGEDx4sUpWrQorVq1ypsTFhEREZEcYzEMw8jrIqRgsVjyugIRERHJK1FRmrqTn2jqjoiIiIjIA0ZBX0RERETEhBT0RURERERMSEFfRERERMSEdNcduWOGcW/30BXz0ZerJC31B0lL/UEk72hEX0RERETEhBT0RURERERMSEFfRERERMSEFPRFRERERExIQV9ERERExIQU9EVERERETEhBX0RERETEhBT0RURERERMSEFfRERERMSEFPRFRERERExIQV9ERERExIQU9EVERERETEhBX0RERETEhBT0RURERERMSEFfRERERMSEFPRFRERERExIQV9ERERExIQc8roAKXgsFgDXvC5D8h31CUlL/UHSUn/Iz6KiruZ1CZJLNKIvIiIiImJCCvoiIiIiIiakoC8iIiIiYkIK+iIiIiIiJqSgLyIiIiJiQgr6OSgsLIwmTZrg7+9Pnz598PX1JTw8PMfa37RpE23atCE+Pt62bPjw4YSFhd1RO4GBgezbty/T9cOHDycpKemu6xQRERGRvKegn8MaN25MaGgoq1atYvDgwcycOTNH279x4wZTp07N0Tb/ac6cOTg5OeXqMUREREQkdyno56K4uDjKly8PwMGDB+nbty99+/alR48enD59moiICHx8fPD392fJkiUcO3YMf39//P39GTJkCFev3n5f2y5dunDq1Cm+/PLLdMvDwsIYPny47XXTpk0BOHPmDH369KFnz57069ePmJgY2zbJycm8+eab9O7dm169etk+GWjTpg2JiYk5fj1ERERE5P7RA7Ny2HfffYe/vz9JSUkcO3aMRYsWAXDixAneeecdPD09WbhwITt27MDHx4fo6Gg2btyIk5MTPXr0YOrUqVSvXp3169ezdOnSdOEdwN7enunTp/Piiy9Sv379f61nxowZBAQE0KJFCz777DN+//1327r169dTokQJpk6dyuXLl+nTpw/bt2/P0eshIiIi+ZuHx/19oNn9Pt6DTEE/hzVu3Jg5c+YAcOrUKXx9fdm3bx+enp4EBQVRpEgRIiMjadCgAQAVKlSwTZMJDw9n4sSJwM3R9qpVq2Z4jCpVqtC3b18mTpyI5eZjam9jGAYAp0+f5tFHHwXA29sbgG3btgFw/PhxfvjhBw4fPgxASkoKly9fvudrICIiIgVHdPT9ezKuh4frfT3egyCrN04K+rnI3d3d9uexY8eye/duXFxcGD16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7RoxMTEA/PLLL+nWV6hQgbJly7J8+XJCQ0Pp06cP9erVy3Zd4eHh3Lhxg9TUVA4fPkz16tVt6+zs7LBarZnWlt1jHz16lN27d/Puu+8ybtw4rFZrpl+ubd26Nd988w1//fUXAMnJyUyfPp3jx4/j5eVFo0aNCA0NZeXKlXTo0IEKFSpkeX4HDhxg9uzZpKamYrFYeOihhyhcuHC6c9m3bx+rVq1i7ty5tkDv5eXFyJEjCQ0NZeLEibd98iIiIiIiBU+ujOg/9dRThIeH0717d4oUKYJhGLzxxhu4umY9J8vOzo5x48bx4osv4urqitVqpXLlyrb1JUuWpH///vj7+5Oamkr58uUznLf+z6k7jz/+OF27dsXR0ZGhQ4dy6dIlnnnmGWrVqmXbplSpUiQnJ/POO+/g7Ox8W5vZPXblypUpXLgwXbt2xcnJCQ8PD6KiojI8XxcXF6ZPn87YsWMxDINr167RunVr/Pz8ADh48CB+fn5cv36ddu3a4eLikuX18/f3Z8aMGXTp0gUXFxfs7OyYOXNmum1ee+01atSowUsvvQTcnLs/evRo2xuzhISE+/KFaRERERHJXRYjq3s55oFFixYxYMAAnJycGDlyJM2aNaNLly733G5ERAQjRoxg3bp1917kA+4fH3aI5KqoKM3lLGg0B1fSUn+QtNQfct59n6N/L4oWLUqPHj1wdnamfPnyeHt753VJIiIiIiIFTr4b0Zf8TyP6cj9pRL/g0YidpKX+IGmpP+S8rEb0c+3JuCIiIiIiknfy3dQdyf8MQ/c2l/Q0QiMiIpL/aERfRERERMSEFPRFRERERExIQV9ERERExIQU9EVERERETEhBX0RERETEhBT0RURERERMSEFfRERERMSEFPRFRERERExIQV9ERERExIQU9EVERERETEhBX0RERETEhBT0RURERERMSEFfRERERMSEFPRFRERERExIQV9ERERExIQU9EVERERETEhBX0RERETEhBT0RURERERMyCGvC5CCx2IBcM3rMkwtKupqXpcgIiIiBZxG9EVERERETEhBX0RERETEhBT0RURERERMSEFfRERERMSEFPRFREREREwo3wX9sLAwhg8fnm5ZcHAwmzZtynSfxYsXc/jwYVJTUxk4cCC9evXiypUr91xLdHQ0EyZMAODQoUMcPXr0rts6e/YsnTt3ZvTo0emWJyYmMmPGDPz8/OjduzcvvvgiFy5cyLSdTZs2ERwcTEREBD169Lht/ddff02/fv0YMGAAffv2ZevWrbb99uzZc9f1i4iIiEjBYorbawYEBABw8eJFLl++nOWbgjvh4eFhC/obN27E29ubWrVq3VVbP/74I02aNCEwMDDd8qCgILy8vPj4448B2LVrF8OGDWPt2rV3dZwJEybwySefUKxYMeLj4+ncuTNNmzala9eud9WeiIiIiBRMBSroh4WFsWTJEhwdHYmIiMDb25tBgwYRGBiIt7c3oaGhnDlzhvHjxzNy5EhGjRpFfHw8qampDB06lCZNmtCxY0eqVKmCk5MTVatW5c8//+Ty5ctcuXIFPz8/du7cyenTp5kxYwbu7u6MGDGC8ePH88033/Dbb78RExPD3r17mTdvHgC+vr7MmzeP0qVL2+qcPn06P/zwAwAdO3akffv2LFiwgISEBCpVqoSfnx8ASUlJ7N27l4kTJ9r2bd++PQ0bNgTg4MGDzJkzB3t7eypWrMikSZP+9RqVKlWKDz/8kKeffprq1avz+eef4+TkREhICO7u7ri7u/Phhx8CN98YlSlThtDQUGbNmsWhQ4cwDIP+/fvToUOHnPmhiYiIiEieKDBB33LzKU2cP3+erVu3kpSURPPmzRk0aJBtm7fffpsRI0YwadIkZsyYwZNPPkm/fv2IjIykV69e7N69m+vXr/PKK6/wyCOPEBISgrOzM8uWLWPx4sV8/fXXLFy4kI0bN7J9+3b69esHQJ06dWjevDne3t40b96chQsXcuXKFaKjoylRokS6kP/ll18SERHBunXrSElJwc/Pj8aNGxMQEMCpU6dsIR8gNjYWd3d327ndUqJECQzDYNy4cXz88ceUKlWKd999l82bN+PgkPWPbMGCBaxYsYIRI0YQExODr68vgwcPtq1v37497du3JyIigmHDhjF9+nS+/vprIiIiWLNmDYmJifTo0YOmTZtSrFixu/+ByT3x8Ch4DyQriDVL7lF/kLTUHyQt9Yf7J98FfWdnZ5KSktItu379OoUKFQKgRo0aODg44ODggLOzc6bthIeH4+PjA4CnpycuLi7ExMQAULVqVdt2jzzyCACurq5Ur14dADc3NxITEzNs12Kx0KlTJ7Zt20ZERATPP//8bcdt2LAhFosFR0dH6tWrR3h4eIZtlShRgri4OAzDSBf2P/30U5o0aUJUVBTDhg0DICEhgaZNm1KpUqVMz/nKlSucP3+eUaNGMWrUKCIjIxkyZAi1a9dOt110dDSvvfYa06ZNo3z58nz22Wf89ttv+Pv7A5CSksL58+cV9PNQdHTBejKuh4drgatZco/6g6Sl/iBpqT/kvKzeOOW7L+NWq1aNP/74g6ioKODml1UPHTpkC6v/HP3Oqp3vv/8egMjISOLi4ihevDgAdnb/d9rZbc9isWAYBgDdunVjx44dHDp0iJYtW9523FvTdpKTk/npp5+oXLlyhm06OjrSrFkzQkNDbct27NjBypUrKVmyJGXKlOH9998nNDSUl19+mUaNGmVZY1JSEsOGDbN9mdfDwwN3d3ecnJxs28TFxfHqq68yZswYatasCYCXlxeNGjUiNDSUlStX0qFDBypUqJCt6yIiIiIi+VO+G9F3cXEhMDCQl156CWdnZ5KTk/H396dy5cpcvHgx2+289NJLvPnmm3zxxRckJCQwadKkf532kpV69eoRHBxMhQoVqFatGkWLFqV+/fq3tdm6dWsOHjxIz549SU5O5plnnqF27docO3Ysw3bHjBnDtGnT8PX1BW5+mhASEoKdnR1vvfUWAQEBGIZB0aJFmTlzZpZ35PHw8GDs2LEMHjwYBwcHUlNTadWqFc2aNeOnn34CYM6cOURFRTF//nysViuOjo4sW7aMgwcP4ufnx/Xr12nXrh0uLi53fa1EREREJO9ZjFvD1HJHbr2RyGy03syy+SGI3IOoqIL1saY+ipW01B8kLfUHSUv9IecVqKk7+V1CQgJdu3alVq1aD2TIFxEREZGCId9N3cnvnJ2dc+w+/SIiIiIiuUUj+iIiIiIiJqSgLyIiIiJiQpq6I3fMMArefd5FREREHjQa0RcRERERMSEFfRERERERE1LQFxERERExIQV9ERERERETUtAXERERETEhBX0RERERERNS0BcRERERMSEFfRERERERE7IYhmHkdREiIiIiIpKzNKIvIiIiImJCCvoiIiIiIiakoC8iIiIiYkIK+iIiIiIiJqSgLyIiIiJiQgr6IiIiIiImpKAvmbJarYwfP56ePXvi7+/Pn3/+mW793r176datGz179mTdunV5VKXcL//WHwBu3LiBr68v4eHheVCh3E//1h+2bdtG9+7d8fX1Zfz48Vit1jyqVO6Hf+sPX3zx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\n",
"text/plain": [
"<Figure size 792x432 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"\n",
"# Logistic Regression\n",
"\n",
"print(model1.coef_)\n",
"\n",
"coeff = list(model1.coef_[0])# defining coefficient variable \n",
"labels = list(features_train.columns)# defining label list\n",
"features1 = pd.DataFrame() # Creating a new data frame\n",
"features1['Features'] = labels # labels in dataframe\n",
"features1['importance'] = coeff # values in dataframe\n",
"features1.sort_values(by=['importance'], ascending=True, inplace=True)\n",
"features1['positive'] = features1['importance'] > 0 # ranking of feat.\n",
"features1.set_index('Features', inplace=True)# Set the DataFrame index using existing columns\n",
"# Creating plot of feature importance\n",
"features1.importance.plot(kind='barh', figsize=(11, 6),color = \n",
"features1.positive.map({True: 'blue', False: 'red'}))\n",
"plt.xlabel('Importance')\n",
"plt.ylabel('Features')\n",
"plt.title('Feature contribution to Cancer - LogisticRegression')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "X-aaB4ZdUMnb",
"outputId": "0844288d-a827-4224-bdc6-20c8dccadea6"
},
"outputs": [
{
"data": {
"image/png": "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nyaEhITg4ODA+++/T2BgIIZhkD9/fqZMmZLpFXm8vLwYMWIE/fr1w8nJidTUVBo1akS9evU4cOAAANOmTSMyMpKZM2ditVpxdnZm/vz57NmzB39/f27evEmzZs1wc3O7716JiIiIiP1ZjFvT1HJPbr2RyGi23syy+CGIiIiIyH9KZKSW7uRqCQkJtG/fnkqVKv0nQ76IiIiI5A6a0Zd7phl9ERERkTtpRl9ERERERLKdgr6IiIiIiAnluKvuSM5nGPa5Tqz8/fGcem8f6r39qPf2ob7bj3pvP2brvWb0RURERERMSEFfRERERMSEFPRFRERERExIQV9ERERExIQU9EVERERETEhBX0RERETEhBT0RURERERMSEFfRERERMSEFPRFRERERExIQV9ERERExIQU9EVERERETEhBX0RERETEhBT0RURERERMSEFfRERERMSEFPRFRERERExIQV9ERERExIQU9EVERERETMjJ3gVI7mOxALjbu4z/sAfb+8jI6w90PBEREckZNKMvIiIiImJCCvoiIiIiIiakoC8iIiIiYkIK+iIiIiIiJqSgLyIiIiJiQgr6D1BYWBh16tQhICCAbt264efnx6lTpx7Y+KtXr6ZJkybExcXZtg0aNIiwsLB7GmfYsGHs3Lkzw/sHDRpEUlLSfdcpIiIiIvanoP+A1a5dm9DQUBYvXky/fv2YMmXKAx0/Pj6eCRMmPNAx/2natGm4uLhk6zFEREREJHsp6Gej2NhYSpQoAcCePXvo3r073bt3p1OnTpw5c4bw8HB8fX0JCAhg3rx5HDt2jICAAAICAujfvz/Xr995ffN27dpx+vRpduzYkWZ7WFgYgwYNst2uW7cuAGfPnqVbt2507tyZHj16EB0dbdsnOTmZ9957j65du9KlSxfbJwNNmjQhMTHxgfdDRERERB4e/WDWA7Z7924CAgJISkri2LFjzJkzB4ATJ07w4Ycf4u3tzezZs9m4cSO+vr5ERUWxatUqXFxc6NSpExMmTKB8+fKsWLGCzz77LE14B3B0dGTSpEn07t2batWq3bWeyZMnExgYSIMGDfj222/5448/bPetWLGCQoUKMWHCBK5evUq3bt3YsGHDA+2H5HxeXvrxs6xSr+xHvbcP9d1+1Hv7MVPvFfQfsNq1azNt2jQATp8+jZ+fHzt37sTb25ugoCDy5ctHREQE1atXB6BkyZK2ZTKnTp1izJgxwN+z7WXLlk33GI8++ijdu3dnzJgxWP7+mdo7GIYBwJkzZ3j66acBaNWqFQDr168H4Pjx4+zbt4+DBw8CkJKSwtWrV/91DyR3iYrSL+NmhZeXu3plJ+q9fajv9qPe209u7H1mb0wU9LORp6en7c8jRoxg69atuLm5MXToUFsQd3D4v9VTZcuWZfLkyTzyyCPs27ePqKioDMfu1q0b27Zt49ixY/j5+ZEnTx7b/hcuXODatWsAlCtXjkOHDvHcc8+xbt0623YAHx8fihUrRp8+fUhISGDWrFl4eHg80B6IiIiIiH0o6D9gt5buODg4cOPGDYYNG4arqytt27alU6dOFChQAE9PTyIjI+947OjRoxk6dCipqakABAUFZXgci8XChAkT8PX1BaBy5cq4u7vTsWNHypUrR8mSJQF49913GTVqFLNmzcLV1ZUPP/yQw4cPA+Dn58eIESPo1q0bcXFx+Pv7p3njISIiIiK5l8W4NbUskkUZrBaSXCoyMnd9RGkvufHjXLNQ7+1Dfbcf9d5+cmPvM1u6o+lbERERERETUtAXERERETEhBX0RERERERNS0BcRERERMSFddUfumWHo2uv2khu/JCQiIiL2oRl9ERERERETUtAXERERETEhBX0RERERERNS0BcRERERMSEFfRERERERE1LQFxERERExIQV9ERERERETUtAXERERETEhBX0RERERERNS0BcRERERMSEFfRERERERE1LQFxERERExIQV9ERERERETUtAXERERETEhBX0RERERERNS0BcRERERMSEFfRERERERE3KydwGS+1gsAO72LuM/7MH0PjLy+gMZR0RERHImzeiLiIiIiJiQgr6IiIiIiAkp6IuIiIiImJCCvoiIiIiICSnoi4iIiIiY0EML+mFhYQwaNCjNtuDgYFavXp3hY+bOncvBgwdJTU2lV69edOnShWvXrv3rWqKiohg9ejQAe/fu5ejRo/c91vnz52nbti1Dhw5Nsz0xMZHJkyfj7+9P165d6d27N5cuXcpwnNWrVxMcHEx4eDidOnW64/4ffviBHj168Morr9C9e3fWrVsHQEhICEuWLLnv+kVERETEnHL05TUDAwMBuHz5MlevXs30TcG98PLysgX9VatW0apVKypVqnRfY+3fv586deowbNiwNNuDgoLw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VIi4uDgiIyMB2LNnD48++mi6tdzu+vXrzJgxg2nTpjF+/Hjb7x8Aac4no/MSERERkdwt0xn9999/n/Pnz/P7779z4sQJ2/aUlBSuX89d73Zud2vpjoODAzdu3GDYsGG4urra7m/RogVBQUHMmTOH4sWLc/Xq1QzHatasGfv27aNjx4488sgjaZbk3NKrVy+mT59O586dcXJywsnJiVmzZmUa9G+xWCyMHz+e/v37Y7FY8PDwYOLEiWmej/S4ublRvXp1XnrpJfLly0eBAgVsbxbKlSvHO++8w3PPPXfX44uIiIhI7mQx0pve/f/Cw8O5cOECQUFBjBgxwrbd0dGRcuXKUbBgwYdRo+QwOXnyPzIy974BzYrc+JGiWaj39qPe24f6bj/qvf3kxt5ntnQn0xn9kiVLUrJkSdatW0dMTAzx8fEYhkFqaipHjhyxrTEXEREREZGcJUtfxg0JCWHhwoWkpKRQsGBBIiMjqVy5MitWrMju+kRERERE5D5k6cu4a9as4YcffqBVq1aEhoYya9asdNeii4iIiIhIzpCloF+0aFHc3Nx47LHHOHr0KI0aNeLSpUvZXZuIiIiIiNynLC3dcXNzY+3atTz55JMsXryYokWLkpCQkN21SQ5lGOa/Xr2IiIhIbpelGf2goCCio6OpVasWJUqUYNSoUQwcODCbSxMRERERkfuVpRl9b29v/Pz8OHr0KO+++y4JCQnky5cvu2sTEREREZH7lKUZ/V27dtG2bVveeOMN/vrrL5o0acJPP/2U3bWJiIiIiMh9ylLQnzp1Kl999RUFChTAy8uLxYsXM2XKlOyuTURERERE7lOWgr7VasXLy8t2u3z58tlWkIiIiIiI/HtZWqNfrFgxduzYgcViITY2li+//JJHHnkku2sTEREREZH7lOmMfkREBABjx47lm2++4dKlSzRv3pwjR44wduzYh1KgiIiIiIjcu0xn9Pv06cOaNWsoUqQIlStXZurUqQ+rLhERERER+RcyndE3DMP252+++SbbixERERERkQcj06BvsVhsf7499IuIiIiISM6WpavuQNrQLyIiIiIiOVuma/RPnDhB06ZNgb+/mHvrz4ZhYLFY2LZtW/ZXKCIiIiIi9yzToL9p06aHVYeIiIiIiDxAmQb9EiVKPKw6RERERETkAcryGn0REREREck9FPRFRERERExIQV9E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2+5zcHDAarVmWFtWj3306FG2bt3Kxx9/zMiRI7FarRl+ubZx48b8+OOPnDt3DoDk5GQmTZrE8ePH8fHxoVatWoSGhrJo0SJatmxJyZIlMz2/Xbt2MXXqVFJTU7FYLDz22GPkzZs3zbns3LmTxYsXM336dFug9/Hx4Z133iE0NJQxY8bc8cmLiIiIiOQ+2TKj//zzz3Pq1Ck6duxIvnz5MAyDd999F3f3zNc8OTg4MHLkSHr37o27uztWq5UyZcrY7i9cuDA9e/YkICCA1NRUSpQoke669X8u3alZsybt27fH2dmZAQMGcOXKFVq0aEGlSpVs+xQpUoTk5GQ+/PBDXF1d7xgzq8cuU6YMefPmpX379ri4uODl5UVkZGS65+vm5sakSZMYMWIEhmFw48YNGjdujL+/PwB79uzB39+fmzdv0qxZM9zc3DLtX0BAAJMnT6Zdu3a4ubnh4ODAlClT0uzz1ltvUaFCBV5//XXg77X7Q4cOtb0xS0hIeChfmBYRERGR7GUxMruWox3MmTOHV155BRcXF9555x3q1atHu3bt/vW44eHhDB48mOXLl//7Iv/j/vFhh01kZO5a05Yb5ca1g2ah3tuPem8f6rv9qPf2kxt7/9DX6P8b+fPnp1OnTri6ulKiRAlatWpl75JERERERHKdHDejLzmfZvTtJzfONJiFem8/6r19qO/2o97bT27sfWYz+tn2y7giIiIiImI/OW7pjuR8hqFr5ouIiIjkdJrRFxERERExIQV9ERERERETUtAXERERETEhBX0RERERERNS0BcRERERMSEFfRERERERE1LQFxERERExIQV9ERERERETUtAXERERETEhBX0RERERERNS0BcRERERMSEFfRERERERE1LQFxERERExIQV9ERERERETUtAXERERETEhBX0RERERERNS0BcRERERMSEFfRERERERE1LQl3tmsUDRou72LkNEREREMqGgLyIiIiJiQgr6IiIiIiImpKAvIiIiImJCCvoiIiIiIiakoC8iIiIiYkIK+jlMWFgYFStW5Ntvv02z3dfXl2HDhtGvXz8Ajh07xt69e+1RooiIiIjkAgr6OZCPjw/r16+33T527Bjx8fEAzJw5E4DNmzdz8uRJu9QnIiIiIjmfk70LkDtVqlSJs2fPEhsbS4ECBVi3bh2+vr5cunSJunXrsnr1atas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FPRFRCTHcnZ2TnPb0dHxjn0cHBywWCwAWK1WHB0dsVqtd+xnGAapqakAuLq63nH/jRs3ePnll3nxxRepWbMmFStW5Msvv7Tdf2vpza1jATg5/d//Rg3D4NSpU6SmptKyZUtGjBhhG/fWcUVEHiYt3RERkVwtPj6e7du3A7B69WoaNGiAj48PMTExHDx4EIBvv/2WRx55hIIFC97xeEdHR1JTUzl79iwWi4U+ffpQq1YttmzZcteAXqNGDdsSov/973+MHDnS9ti//voLwzAYPXo0ixYterAnLSKSBZrRFxGRXG/jxo1MmzaNokWLMnnyZFxcXJg2bRrjxo0jPj4eDw8Ppk2blu5jGzVqRGBgIPPmzePxxx+nZcuWWCwW6tWrx759+zI97qhRoxgxYgRfffUVefPmZfz48ZQvX55+/frRo0cPrFYrjz/+OIGBgdlx2iIimbIYuqaYiIjkYhUrVuTYsWP2LkNEJMfR0h0RERERERPSjL6IiIiIiAlpRl9ERERExIQU9EVERERETEhBX0RERETEhBT0RURERERMSEFfRERERMSEFPRFREREREzo/wEPXvKRBmM1mQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 792x432 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"\n",
"# GradientBoosting\n",
"\n",
"model7.feature_importances_\n",
"\n",
"coeff = list(model7.feature_importances_)# defining coefficient variable \n",
"labels = list(features_train.columns)# defining label list\n",
"features1 = pd.DataFrame() # Creating a new data frame\n",
"features1['Features'] = labels # labels in dataframe\n",
"features1['importance'] = coeff # values in dataframe\n",
"features1.sort_values(by=['importance'], ascending=True, inplace=True)\n",
"features1['positive'] = features1['importance'] > 0 # ranking of feat.\n",
"features1.set_index('Features', inplace=True)# Set the DataFrame index using existing columns\n",
"# Creating plot of feature importance\n",
"features1.importance.plot(kind='barh', figsize=(11, 6),color = \n",
"features1.positive.map({True: 'blue', False: 'red'}))\n",
"plt.xlabel('Importance')\n",
"plt.ylabel('Features')\n",
"plt.title('Feature contribution to Cancer - GradientBoostingClassifier')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "96zm6sb6UMnb",
"outputId": "de9bce67-d47b-45da-8d7d-6ad0485880e2"
},
"outputs": [
{
"data": {
"text/plain": [
"array([0.94736842, 0.89473684, 0.89473684, 0.89473684, 0.94736842,\n",
" 0.94736842, 0.89473684, 0.94736842, 1. ])"
]
},
"execution_count": 95,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.model_selection import cross_val_score\n",
"scores = cross_val_score(model3, features_test, labels_test, cv=9)\n",
"scores"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "W3zRt5jZUMnb",
"outputId": "9599a357-0b2a-4318-c738-b151fc2fffe5"
},
"outputs": [
{
"data": {
"image/png": "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+jJfvnzMnTuX77//nrNnz3L06FHi4uKA2+dT+/btcXR0xNHREW9vb44dO5Zqe7/88gtXrlzhzTffTFXDnfWqVKlCkSJFbMdl+/bt963771N31q9fz6uvvkpoaCi7du267/l748aNNPv3/fffJ1euXHTp0oUGDRrQqlUrqlWrlu6xS+v8+v777xkxYoTtb+Sll16y7Z+dnV26583dhg0bxk8//cSCBQs4e/YskZGRxMXF4enpSeXKlXnppZdo1KgRjRo1ol69elit1vsuz4jvvvuOP//8Ex8fH9uymJgY2z49++yzGWpHJLMp6ItIjndnysHdweTq1au4uLjw3XffERgYyCuvvELz5s3x8vJiw4YN97RhsVgwDMP2+tatW6nevxNq4HawvzukJSUl3TeM58qVK1XQi4mJISYmBqvVmmq51WolOTnZ9vrO1JT71ZVWTXezs0t9HwWr1YqDg8M/7uPfWa3We7Z9d60ODg62bd29Pw/b3t1q1KjBL7/8QtOmTVMtnz17NqVKlaJcuXK88cYb9OnTh/r161O7dm3Gjh1rW+9+x/DOF7W/h28PDw8Mw2D58uW2KTZRUVHkzp2ba9eu4ejoaPvs3SIiIvD397e9nj9/fqrpW8888wyffvopt27dwsHBAS8vL9s5GhAQkOrL4Z2+vHz5Mt26daNr1648++yztG7dmm+//fa+xzNXrlz3LEtJSaFcuXKsWrUqVZ0FCxZk48aNGT63/q5jx45MmDCBU6dOpXv+ptW/+fPn56uvvuLAgQPs2bOHwYMH07dvX3r06JHmNtM6v+zt7VNt5+7zvUaNGvz6669UrFgxVVtjx46lZcuWqY7Z0KFDSUlJoU2bNjRp0oRLly5hGAZ2dnYsXbqUw4cPs3v3biZOnEjDhg15991301z+T6xWKx06dLBNy7FarURGRtoGAdL6WxbJarrrjojkeGXLlsXJyckWoi5dukT79u357bff+Omnn2jatCm+vr5UrVqVHTt22Obq5sqVyxZQChYsyMWLF/nrr78wDIPNmzenub0GDRqwevVqYmNjAZg5c+Z9/2P//PPPs337dtt6wcHBLF68mIYNG7JmzRrbSG1ISAi1a9fG0dEx3f28u970REdH28Lhzp07cXJyonTp0ri5ufH7779jGAaxsbGpAuT92nZ2dqZ69ep88cUXwO1R6PXr198zh/uf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1Tx/EREREZGcTiP68sA0oi8iIiL/Jk/qiL4pH5glIiIiIvJvp6AvIiIiImJCmqMvD8wwMv9+spIzZOZPiZKzqG/NS31rXupbeVQa0RcRERERMSEFfRERERERE1LQFxERERExIQV9ERERERETUtAXERERETEhBX0RERERERNS0BcRERERMSEFfRERERERE1LQFxERERExIQV9ERERERETUtAXERERETEhBX0RERERERNS0BcRERERMSEFfRERERERE1LQFxERERExIQV9ERERERETUtAXERERETEh++wuQJ48FguAS3aXIVlGfWte6lvzUt+al/o2J4iMvJHdJTwUjeiLiIiIiJiQgr6IiIiIiAkp6IuIiIiImJCCvoiIiIiICSnoi4iIiIiYkIK+iIiIiIgJ5bigHxYWxpAhQ1ItCwoKYu3atWl+Zv78+Rw6dIiUlBT69u1L9+7duX79+iPXcuXKFcaMGQPAvn37OHr06EO3df78eTp06MDw4cNTLU9MTGTKlCn4+vrSo0cPXnvtNS5dupRmO2vXriUoKIjw8HC6du16z/vff/89vXv35pVXXqFXr15s2LDB9rnQ0NCHrl9EREREniymuI++v78/AJcvX+batWvpfil4EB4eHragv2bNGtq2bUvlypUfqq0DBw5Qr149AgICUi0PDAzEy8uLL7/8EoDt27czePBgVqxY8VDbGTNmDF999RX58+cnNjaWDh06UL9+fTp16vRQ7YmIiIjIk+mJCvphYWEsWLAABwcHwsPDadu2Lf379ycgIIC2bdsSEhLC2bNnGT16NO+88w7Dhg0jNjaWlJQUBg0aRL169Wjfvj1lypTB0dGRsmXL8ueff3Lt2jWuX7+Or68v27Zt48yZM0yZMgV3d3eGDh3K6NGj+eGHH/j999+Jiopi586dzJo1CwAfHx9mzZpF4cKFbXVOnjyZ/fv3A9C+fXtatmzJnDlzSEhIoFSpUvj6+gKQlJTEzp07GTt2rO2zLVu2pFatWgDs3buXGTNmkCtXLkqWLMm4ceP+8RgVKlSIzz//nFatWlG+fHm++eYbHB0dCQ4Oxt3dHXd3dz7//HPg9hejIkWKEBISwocffsi+ffswDIM+ffrQpk2bzOk0ERERkSech0fmP7gsK9r8uycm6FtuP46VixcvsmHDBpKSkmjYsCH9+/e3rfPBBx8wdOhQxo0bx5QpU3j++efp3bs3ERERdO/enR07dhAXF8cbb7zB008/TXBwME5OTixcuJD58+fz/fffM3fuXNasWcPmzZvp3bs3AFWrVqVhw4a0bduWhg0bMnfuXK5fv86VK1dwc3NLFfK//fZbwsPDWblyJcnJyfj6+lK3bl38/f05ffq0LeQDREdH4+7ubtu3O9zc3DAMg1GjRvHll19SqFAhPvroI9atW4e9ffpdNmfOHBYvXszQoUOJiorCx8eHAQMG2N5v2bIlLVu2JDw8nMGDBzN58mS+//57wsPDWb58OYmJiXTt2pX69euTP3/+h+8wEREREZO4ciVzn4zr4eGSaW2m94UhxwV9JycnkpKSUi2Li4sjd+7cAFSsWBF7e3vs7e1xcnJKs51Tp07h7e0NgKenJ87OzkRFRQFQtmxZ23pPP/00AC4uLpQvXx4AV1dXEhMT79uuxWLhxRdfZNOmTYSHh/Pyyy/fs91atWphsVhwcHCgevXqnDp16r5tubm5ERMTg2EYqcL+xo0bqVevHpGRkQwePBiAhIQE6tevT6lSpdLc5+vXr3Px4kWGDRvGsGHDiIiIYODAgVSpUiXVeleuXOGtt95i0qRJFC9enK+//prff/8dPz8/AJKTk7l48aKCvoiIiMgTLMddjFuuXDmOHDlCZGQkcPti1X379tnC6t9Hv9Nr5+effwYgIiKCmJgYChQoAICd3f/tdkbbs1gsGIYBQOfOndmyZQv79u2jcePG92z3zrSdW7ducfDgQUqXLn3fNh0cHGjQoAEhISG2ZVu2bGHJkiUULFiQIkWK8MknnxASEkK/fv2oU6dOujUmJSUxePBg28W8Hh4euLu74+joaFsnJiaGN998kxEjRlCpUiUAvLy8qFOnDiEhISxZsoQ2bdpQokSJDB0XEREREcmZctyIvrOzMwEBAbz++us4OTlx69Yt/Pz8KF26NJcvX85wO6+//jrvvfceW7duJSEhgXHjxv3jtJf0VK9enaCgIEqUKEG5cuXIly8fNWrUuKfNpk2bsnfvXrp168atW7do3bo1VapU4dixY/dtd8SIEUyaNAkfHx/g9q8JwcHB2NnZ8f777+Pv749hGOTLl4+pU6eme0ceDw8PRo4cyYABA7C3tyclJYUmTZrQoEEDDh48CMCMGTOIjIxk9uzZWK1WHBwcWLhwIXv37sXX15e4uDhatGiBs7PzQx8rEREREcl+FuPOMLU8kDtfJNIarTezDP4IIiIiImIKkZFP5hz9HDd1J6dLSEigU6dOVK5c+V8Z8kVERETkyaARfXlgGtEXERGRfxON6IuIiIiISI6R4y7GlZzPMDL/frKSM2TmCIPkLOpb81Lfmpf6Vh6VRvRFRERERExIQV9ERERExIQU9EVERERETEhBX0RERETEhBT0RURERERMSEFfRERERMSEFPRFRERERExIQV9ERERExIQyFPQPHTrEZ599RlJSEq+++ip169Zl165dWV2biIiIiIg8pAwF/QkTJlChQgW2bt2Kk5MT69atY+bMmVldm4iIiIiIPKQMBX2r1UqDBg347rvveOGFFyhatCgpKSlZXZuIiIiIiDykDAX9PHnysGjRIvbs2UPTpk35/PPPyZcvX1bXJiIiIiIiDylDQT8oKIi4uDhmz56Nq6srERERfPjhh1ldm4iIiIiIPKQMBX1PT0/q1q3L0aNHSUpKokmTJhQpUiSraxMRERERkYeUoaC/ZMkSZs6cyeLFi7l58yajR49m4cKFWV2biIiIiIg8pAwF/XXr1rFw4ULy5MmDm5sbq1evZs2aNVldm4iIiIiIPKQMBX07OzscHR1tr3Pnzk2uXLmyrCgREREREXk09hlZ6bnnnmPKlCnEx8ezY8cOVqxYQd26dbO6NhEREREReUgWwzCMf1rJarWycuVK/ve//2G1Wqlbty4+Pj7Y22foe4KYjMWS3RWIiIiIPD6RkTcytT0PDxeuXMmcNj08XNJ8L0NBv2/fvrr4VmwU9EVEROTf5EkN+hmaox8fH8+lS5cypRgREREREcl6GZp7ExUVRbNmzShUqBC5c+fGMAwsFguhoaFZXZ+IiIiIiDyEDAV9TdsREREREXmyZCjo79u3777LixcvnqnFiIiIiIhI5shQ0A8LC7P9+9atW+zfv59atWrRsWPHrKorS5w4cYJp06YRHx9PXFwcjRs3ZuDAgezdu5fly5czY8aMLNnusWPHmDBhAgC//PIL1apVw87OznaR85gxYyhXrpxt/SNHjhAaGsqAAQPu2179+vX56aefsqRWERERETGHDAX9SZMmpXodHR3NkCFDsqSgrBITE8PQoUMJDg6mTJkypKSkMGjQIJYvX46Xl1eWbrtSpUqEhIQA0KxZMxYtWkTu3LmB+0+L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RERExIQU9EVERERETEhBX0RERETEhBT0RURERERMSEE/hwkLC6NSpUp8/fXXqZZ7e3sTEBDAgAEDADh27Bj79u3LjhJFRERE5AmgoJ8DeXl5sWnTJtvrY8eOER8fD8Ds2bMB2LZtGydPnsyW+kREREQk59N99HOgypUrc/bsWWJiYsifPz8bNmzA29ubS5cuUb9+fdauXcu6detwcHCgSpUq3Lhxg48++ojcuXNToEABJk6cSHJyMoMHD8YwDG7dusXYsWOpVKkSISEhbNq0CYvFQtu2benVqxfbtm1jwYIF2NvbU7x4caZOnYqdnb4DioiIiDzJFPRzqJYtW7J9+3Y6derEoUOHeO2117h06RIAnp6evPTSS7i7u/Of//yH5s2bs2zZMjw9PVmyZAlz5syhTp06uLi48OGHH3Ly5EliY2M5efIkX3/9NV9++SUWi4U+ffrQoEEDNm3aRJ8+fWjXrh3r168nNjaW/PnzZ/MREBEREcl+Hh5Z89CyrGr3bgr6OZS3tzdjxoyhZMmS1KpVK831rl27hrOzM56engDUrl2b6dOnM2zYMM6ePcsbb7yBvb09/fv35/jx41y8eJE+ffoAcP36dc6dO8eIESOYN28ey5Ytw8vLixYtWjyOXRQRERHJ8a5cyfwn43p4uGRau+l9YdD8jByqZMmSxMXFERISwosvvnjP+xaLBavVipubG7GxsURGRgKwd+9eypQpQ1hYGIULF2bRokX079+f6dOn4+XlRfny5fn8888JCQmhU6dOVKxYkRUrVjBw4ECWLl0KwPbt2x/rvoqIiIhI5tOIfg7Wtm1bvvrqK8qWLcv58+dTvVe1alWmTp1KuXLlmDBhAgMHDsRiseDq6sqkSZOwWCwMGTKEJUuWYGdnx5tvvknlypWpV68e3bt3JykpiWrVquHp6Um1atV45ZVXKFCgAPny5aNJkybZs8MiIiIikmkshmEY2V2EPFksluyuQEREROTxiIzU1B0REREREclBFPRFRERERExIQV9ERERExIQU9EVERERETEh33ZEHZhhZc09ZyX6ZeXGQ5CzqW/NS35qX+lYelUb0RURERERMSEFfRERERMSEFPRFRERERExIQV9ERERExIQU9EVERERETEhBX0RERETEhBT0RURERERMSEFfRERERMSEFPRFRERERExIQV9ERERExIQU9EVERERETEhBX0RERETEhBT0RURERERMSEFfRERERMSEFPRFRERERExIQV9ERERExIQU9EVERERETMg+uwuQJ4/FAuCS3WVIllHfmpf61rzUt+alvs0qkZE3sruELKcRfRERERERE1LQFxERERExIQV9ERERERETUtAXERERETEhBX0RERERERNS0M9EYWFh1KtXDz8/P3r27ImPjw+nTp3KtPbXrl1Ls2bNiI2NtS0bMmQIYWFhD9ROQEAAu3btSvP9IUOGkJSU9NB1ioiIiEj2U9DPZHXr1iUkJISlS5cyYMAApk6dmqntx8fHM3HixExt8+9mzJiBo6Njlm5DRERERLKWgn4WiomJoXjx4gDs3buXXr160atXL7p27cqZM2cIDw/H29sbPz8/FixYwLFjx/Dz88PPz4+BAwdy48a993ft2LEjp0+f5ttvv021PCwsjCFDhthe169fH4CzZ8/Ss2dPunXrRu/evYmKirKtc+vWLd577z169OhB9+7dbb8MNGvWjMTExEw/HiIiIiLy+OiBWZlsz549+Pn5kZSUxLFjx5g3bx4AJ06cYNq0aXh6ejJ37ly2bNmCt7c3V65cYc2aNTg6OtK1a1cmTpxI+fLlWbVqFZ9++mmq8A6QK1cuJk+ezGuvvUaNGjX+sZ4pU6bg7+9Po0aN+Prrr/njjz9s761atQo3NzcmTpzItWvX6NmzJ5s3b87U4yEiIiKSE3l4ZO/DyB7H9hX0M1ndunWZMWMGAKdPn8bHx4ddu3bh6elJYGAgefPmJSIigpo1awJQokQJ2zSZU6dOMXbsWOD2aHvZsmXvu40yZcrQq1cvxo4di+X2Y2rvYRgGAGfOnOGZZ54BoG3btgBs2rQJgOPHj7N//34OHToEQHJyMteuXXvkYyAiIiKS0125kn1PxvXwcMm07af3hUFBPwu5u7vb/j1y5Eh27NiBs7Mzw4cPtwVxO7v/mz1VtmxZpkyZQrFixdi/fz9XrlxJs+2ePXsSGhrKsWPH8PHxIXfu3Lb1L1y4wPXr1wEoV64chw8f5vnnn2fDhg225QBeXl4UKVKEfv36kZCQwJw5c3B1dc3UYyAiIiIi2UNBP5PdmbpjZ2fHzZs3CQgIwMnJiQ4dOtC1a1fy58+Pu7s7kZGR93x2zJgxDB8+nJSUFAACAwPT3I7FYmHixIl4e3sDULVqVVxcXOjSpQvlypWjRIkSALz77ruMHj2aOXPm4OTkxLRp0/j9998B8PHxYeTIkfTs2ZPY2Fh8fX1TffEQERERkSeXxbgztCySQWnMFhIRERF5YkRGmn/qjoZvRURERERMSEFfRERERMSEFPRFRERERExIQV9ERERExIR01x15YIaRvfeelayTmRcHSc6ivjUv9a15qW/lUWlEX0RERETEhBT0RURERERMSEFfRERERMSEFPRFRERERExIQV9ERERExIQU9EVERERETEhBX0RERETEhBT0RURERERMSEFfRERERMSEFPRFRERERExIQV9ERERExIQU9EVERERETEhBX0RERETEhBT0RURERERMSEFfRERERMSEFPRFRERERExIQV9ERERExITss7sAefJYLAAu2V2GZBn1rXmpb81LfWte6tusEhl5I7tLyHIa0RcRERERMSEFfRERERERE1LQFxERERExIQV9ERERERETUtAXERERETEhBX0RERERERN6bEE/LCyMIUOGpFoWFBTE2rVr0/zM/PnzOXToECkpKfTt25fu3btz/fr1R67lypUrjBkzBoB9+/Zx9OjRh27r/PnzdOjQgeHDh6danpiYyJQpU/D19aVHjx689tprXLp0Kc121q5dS1BQEOHh4XTt2vWe97///nt69+7NK6+8Qq9evdiwYQMAwcHBLFu27KHrFxERERFzytH30ff39wfg8uXLXLt2Ld0vBQ/Cw8PDFvTXrFlD27ZtqVy58kO1deDAAerVq0dAQECq5YGBgXh5efHll18CsH37dgYPHsyKFSseajtjxozhq6++In/+/MTGxtKhQwfq16//UG2JiIiIiPnliKAfFhbGggULcHBwIDw8nLZt29K/f38CAgJo27YtISEhnD17ltGjR/POO+8wbNgwYmNjSUlJYdCgQdSrV4/27dtTpkwZHB0dKVu2LH/++SfXrl3j+vXr+Pr6sm3bNs6cOcOUKVNwd3dn6NChjB49mh9++IHff/+dqKgodu7cyaxZswDw8fFh1qxZFC5c2Fbn5MmT2b9/PwDt27enZcuWzJkzh4SEBEqVKoWvry8ASUlJ7Ny5k7Fjx9o+27JlS2rVqgXA3r17mTFjBrly5aJkyZKMGzfuH49RoUKF+Pzzz2nVqhXly5fnm2++wdHREYDQ0FC2bNlCdHQ0gwYNolmzZixdupRt27aR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okS6+7d7926mT59OSkoKFouFChUqkCdPnlT7smvXLpYuXcrMmTNtgd7Ly4t33nmHkJAQxo4de88vLyIiIiLy5MmSEf0XXniBU6dO0aVLF/LmzYthGLz77ru4uKT/E4WdnR2jRo3itddew8XFBavVSunSpW3vFyxYkD59+uDn50dKSgrFixe/77z1v0/dqV27Np06dcLBwYFBgwZx9epVWrduTeXKlW3rFCpUiFu3bjFt2jScnJzuaTOj2y5dujR58uShU6dOODo64uHhQWRk5H3319nZmcmTJzNy5EgMw+DmzZs0bdoUX19fAPbu3Yuvry9xcXG0aNECZ2fndI+fn58fU6ZMoWPHjjg7O2NnZ8fUqVNTrfPWW29RsWJFXn/9deD23P3hw4fbvpglJCQ8lgumRURERCRrWYz07uWYDebNm8crr7yCo6Mj77zzDg0aNKBjx46P3G54eDhDhw5l5cqVj17kv9zffuwQERERyTEiIzV1544sGdF/FPny5aNr1644OTlRvHhx2rZtm90liYiIiIg8cXLciL7kfBrRFxERkZxKI/r/J8uejCsiIiIiItlHQV9ERERExIRy3Bx9yfkM48m4R608uMz8KVFyFvWtealvzUt9K49KI/oiIiIiIiakoC8iIiIiYkIK+iIiIiIiJqSgLyIiIiJiQgr6IiIiIiImpKAvIiIiImJCCvoiIiIiIiakoC8iIiIiYkIWwzCM7C5CREREREQyl0b0RURERERMSEFfRERERMSEFPRFRERERExIQV9ERERExIQU9EVERERETEhBX0RERETEhBT0JU1Wq5XRo0fTrVs3/Pz8+PPPP1O9v3PnTjp37ky3bt1YuXJlNlUpD+Of+nbTpk106dIFHx8fRo8ejdVqzaZK5UH9U9/eMWrUKIKCgh5zdfIo/qlvDx06hK+vL927d+ett94iMTExmyqVB/VPfbthwwZeeuklOnfuzJdffplNVcqj+PXXX/Hz87tneZZnKUMkDVu3bjWGDx9uGIZhHDx40OjXr5/tvaSkJKNFixZGdHS0kZiYaHTq1MmIjIzMrlLlAaXXt/Hx8Ubz5s2NuLg4wzAMY8iQIcaOHTuypU55cOn17R3Lli0zunbtakybNu1xlyePIL2+tVqtxosvvmicPXvWMAzDWLlypXHq1KlsqVMe3D/93davX9+4du2akZiYaPtv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\n",
"text/plain": [
"<Figure size 792x432 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"\n",
"# Adaboost\n",
"\n",
"\n",
"coeff = list(cross_val_score(model3, features_train, labels_train, cv=9))# defining coefficient variable \n",
"labels = list(features_train.columns)# defining label list\n",
"features1 = pd.DataFrame() # Creating a new data frame\n",
"features1['Features'] = labels # labels in dataframe\n",
"features1['importance'] = coeff # values in dataframe\n",
"features1.sort_values(by=['importance'], ascending=True, inplace=True)\n",
"features1['positive'] = features1['importance'] > 0 # ranking of feat.\n",
"features1.set_index('Features', inplace=True)# Set the DataFrame index using existing columns\n",
"# Creating plot of feature importance\n",
"features1.importance.plot(kind='barh', figsize=(11, 6),color = \n",
"features1.positive.map({True: 'blue', False: 'red'}))\n",
"plt.xlabel('Importance')\n",
"plt.ylabel('Features')\n",
"plt.title('Feature contribution to Cancer - GradientBoostingClassifier')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "OiE-gYN5UMnb"
},
"source": [
"##### Feature importance is not defined for the KNN Classification algorithm. There is no easy way to compute the features responsible for a classification here. What you could do is use a random forest classifier which does have the feature_importances_ attribute. Even in this case though, the feature_importances_ attribute tells you the most important features for the entire model, not specifically the sample you are predicting on."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "7roCM8muUMnb",
"outputId": "1d693799-93e9-4c85-ef71-80259716e12f"
},
"outputs": [
{
"data": {
"text/plain": [
"0.9649122807017544"
]
},
"execution_count": 82,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model2.score(features_test,labels_test)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "dHfEMx7iUMnc",
"outputId": "6a9dce1c-3759-4e21-8768-e0ab4c9a6536"
},
"outputs": [
{
"data": {
"text/plain": [
"(array([[0. , 4.35889894, 4.58257569, 4.58257569],\n",
" [0. , 0. , 0. , 0. ],\n",
" [0. , 0. , 0. , 0. ],\n",
" ...,\n",
" [3.31662479, 3.31662479, 4. , 4.24264069],\n",
" [0. , 3.31662479, 3.46410162, 3.60555128],\n",
" [0. , 4.79583152, 5. , 5.19615242]]),\n",
" array([[ 50, 237, 38, 320],\n",
" [ 70, 179, 20, 247],\n",
" [193, 117, 377, 123],\n",
" ...,\n",
" [503, 317, 36, 326],\n",
" [326, 503, 36, 167],\n",
" [299, 212, 341, 99]], dtype=int64))"
]
},
"execution_count": 86,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model2.kneighbors(features_train)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "yzuBp9IoUMnc"
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "NwGjbfWyUMnc",
"outputId": "0e37e3d3-3c70-4069-fb57-f7c59ee46af5"
},
"outputs": [
{
"data": {
"text/plain": [
"0.978515625"
]
},
"execution_count": 88,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model6.score(features_train,labels_train)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "UswN3W1oUMnc",
"outputId": "a8201da0-1361-41c3-9f0c-4841dd80b846"
},
"outputs": [
{
"data": {
"text/plain": [
"array([0.02285519, 0.37179028, 0.19006217, 0.01132038, 0.059626 ,\n",
" 0.14936003, 0.12222689, 0.07051312, 0.00224595])"
]
},
"execution_count": 99,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model6.feature_importances_"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "HqiP6AB5UMnc",
"outputId": "1a2ad756-cb33-445b-f10b-f6dccfb8126c"
},
"outputs": [
{
"data": {
"image/png": "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+QF/v5YFCxZk/vz5fPvtt5w9e5ajR49y8+ZN4Nb51L59e5ycnHBycsLHx4djx46l2d8vv/xCVFQUr7/+epoabq9XrVo1ihcvbunLzp070637n5fubNy4kVdeeYXdu3ezZ8+edM/f69evZ/j6vv3229jb29OlSxcaNWrE888/T40aNTLtXUbn17fffsuYMWMsf0deeukly/HZ2dllet7caeTIkfzwww8sWrSIs2fPEhkZyc2bN/Hy8qJq1aq89NJLNGnShCZNmtCgQQPMZnO6y7Pim2++4c8//8TX19eyLDY21nJMTz/9dJbGEXnQFPRFJMe7fcnBncHkypUruLq68s033xAUFETfvn1p2bIl3t7ebNq06a4xTCYThmFYHicnJ6d5/naogVvB/s6QlpSUlG4Yt7e3TxP0YmNjiY2NxWw2p1luNptJSUmxPL59aUp6dWVU053s7NLeR8FsNuPo6Pivx/hPZrP5rn3fWaujo6NlX3cej7Xj3alWrVr88ssvNG/ePM3yuXPnUrZsWSpWrMhrr71Gnz59aNiwIXXr1mXChAmW9dLr4e03av8M356enhiGwcqVKy2X2ERHR5MvXz6uXr2Kk5OTZds7RUREMGDAAMvjhQsXprl866mnnuKjjz4iOTkZR0dHvL29Lefo6NGj07w5vP1aXr58mW7dutG1a1eefvpp2rRpw9dff51uP+3t7e9alpqaSsWKFVmzZk2aOosUKcIXX3yR5XPrnzp27MjkyZM5depUpudvRq9voUKF+Pzzzzl48CA//vgjw4YNo1+/fvTo0SPDfWZ0fjk4OKTZz53ne61atfj111+pXLlymrEmTJhA69at0/QsICCA1NRU2rZtS7Nmzbh06RKGYWBnZ8fy5cs5fPgwe/fuZcqUKTRu3Jg333wzw+X/xmw206FDB8tlOWazmcjISMskQEZ/l0UeNt11R0RyvAoVKuDs7GwJUZcuXaJ9+/b89ttv/PDDDzRv3hw/Pz+qV6/Orl27LNfq2tvbWwJKkSJFuHjxIn/99ReGYbBly5YM99eoUSPWrl1LXFwcALNnz073f/bPPvssO3futKwXEhLC0qVLady4MevWrbPM1IaGhlK3bl2cnJwyPc47681MTEyMJRx+9dVXODs7U65cOdzd3fn9998xDIO4uLg0ATK9sV1cXKhZsyaffvopcGsWeuPGjXdd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F0aPHs2rr76Ks7MzycnJ+Pv7U65cOS5fvpzlcV599VXeeusttm/fTkJCAhMnTvzXy14yU7NmTYKDgyldujQVK1akYMGC1KpV664xmzdvzr59++jWrRvJycm0adOGatWqcezYsXTHHTNmDFOnTsXX1xe49WlCSEgIdnZ2vP322wwYMADDMChYsCAzZszI9I48np6ejB07lsGDB+Pg4EBqairNmjWjUaNG/Pzzz3etX65cOfLnz0+nTp1wcnLC09PT8gbrypUr9O7dm+vXr/POO+9gb2+fbj0iIiIikruZjNtTvQL8/UYio9n63Gz9+vWcPn2aESNG3Nc4WfywREQkW0VG6tKd7KLeWUd9s15e7l2OuHQnp0tISKBTp05UrVrVJkO+iIiIiOQt2X7XnZzC2dn5gd2nP6fq1KlTdpcgIiIiIo+IZvRFRERERGyQgr6IiIiIiA3SpTtyzwzj/u9PnVfl5S8L3S/1zjrqm4hI3qUZfRERERERG6SgLyIiIiJigxT0RURERERskIK+iIiIiIgNUtAXEREREbFBCvoiIiIiIjZIQV9ERERExAYp6IuIiIiI2CAFfRERERERG6SgLyIiIiJigxT0RURERERskIK+iIiIiIgNUtAXEREREbFBCvoiIiIiIjZIQV9ERERExAYp6IuIiIiI2CAFfRERERERG+SQ3QVI7mMyAbhmdxm5mHpnPfXuXkRGXs/uEkREJBtpRl9ERERExAYp6IuIiIiI2CAFfRERERERG6SgLyIiIiJigxT0RURERERskIL+AxQWFkaDBg3w9/enZ8+e+Pr6curUqQc2/vr162nRogVxcXGWZcOHDycsLOyexhk9ejR79uzJ8Pnhw4eTlJRkdZ0iIiIikv0U9B+w+vXrExoayvLlyxk8eDAzZsx4oOPHx8czZcqUBzrmP82aNQsnJ6eHug8RERERebgU9B+i2NhYSpUqBcC+ffvo1asXvXr1omvXrpw5c4bw8HB8fHzw9/dn0aJFHDt2DH9/f/z9/RkyZAjXr999D+yOHTty+vRpvv766zTLw8LCGD58uOVxw4YNATh79iw9e/akW7du9O7dm+joaMs6ycnJvPXWW/To0YPu3btbPhlo0aIFiYmJD7wfIiIiIvLo6AezHrAff/wRf39/kpKSOHbsGAsWLADgxIkTvPvuu3h5eTF//ny2bduGj48P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+bi7uxMXF0dkZCQA+/bto3z58unWcqfr168zZ84cZs2axeTJk8mXL59l/3ceT0bHJSIiIiK5W56c0b996Y6dnR03btxg9OjRODs7W55v06YNQUFBLFiwgBIlSnD16tUMx2rVqhUHDhygS5culCxZMs0lObf169eP2bNn061bNxwcHHBwcGDevHmZBv3bTCYTkydPZsiQIZhMJtzc3Jg6dSonTpzIdDsXFxdq167NSy+9RIECBShUqJDlzULFihUZMWIEzz777L/uX0RERERyJ5OR3vSuSCY0+S95XWRk7rkONC9ft3q/1DvrqXfWUd+sl5d7l9k1+nn+0h0REREREVukoC8iIiIiYoMU9EVEREREbFCe/DKu3B/DyF33Ec9J8vI1hPdLvRMREbk3mtEXEREREbFBCvoiIiIiIjZIQV9ERERExAYp6IuIiIiI2CAFfRERERERG6SgLyIiIiJigxT0RURERERskIK+iIiIiIgNylLQP3ToEB9//DFJSUm88sor1K9fnz179jzs2kRERERExEpZCvqTJ0/mscceY/v27Tg7O7NhwwZmz579sGsTERERERErZSnom81mGjVqxDfffMNzzz1HiRIlSE1Nfdi1iYiIiIiIlbIU9PPnz8+SJUv48ccfad68OZ988gkFCxZ82LWJiIiIiIiVshT0g4ODuXnzJnPnzsXNzY2IiAjee++9h12biIiIiIhYKUtB38vLi/r163P06FGSkpJo1qwZxYsXf9i1iYiIiIiIlbIU9JctW8bs2bNZunQpN27cYPz48SxevPhh1yYiIiIiIlbKUtDfsGEDixcvJn/+/Li7u7N27VrWrVv3sGsTERERERErZSno29nZ4eTkZHmcL18+7O3tH1pRIiIiIiJyfxyystIzzzzD9OnTiY+PZ9euXaxatYr69es/7NpERERERMRKWQr6b775JqtXr6ZKlSps3LiRpk2b4uvr+7BrkxzKZAJwze4ycrHs611k5PVs27eIiIg8WlkK+v3792fx4sUK9yIiIiIiuUSWrtGPj4/n0qVLD7sWERERERF5QLI0ox8dHU2LFi0oWrQo+fLlwzAMTCYTu3fvftj1iYiIiIiIFbIU9HXPfBERERGR3CVLQX///v3pLi9VqtQDLUZERERERB6MLF2jHxYWZvnn+++/Z/bs2fzwww8Pu7aHLiwsjDp16qT5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+vpy+PBh/vjjD9zd3ZkyZQpXr16lZ8+ebNmyhY0bN7J8+XK8vLxYv349AOvXr2fcuHHUqlWLzz77jJSUFBwccsfp4emZc368KytyW705iXpnHfXNeuqd9dQ766hv1lPv7pY7ktwDULJkSf744480y86fP8/ly5cz3MYwDMufb19K4+rqSsWKFTGZTLi5uZGYmAhAiRIlKFeuHABPPfUUZ86cyXJt1atXB8DDw4MrV66kqe+xxx7D2dkZgLfeeguAK1eucOzYMcqWLWtZ193dnRIlSlhqSUxM5Pjx4xw4cIBDhw4BkJKSwtWrV5k5cyYzZ87kypUrNG7cGICpU6eyZMkSgoODqVWrVppjz+mionLPL+N6errmqnpzEvXOOuqb9dQ766l31lHfrJeXe5fZG5w882Xc5s2b891333Hu3DkAkpOTmTZtGsePH0+zXkpKCjdu3CApKYmTJ09alptMpkzHj4iIICoqCoCDBw9SqVKl+665bNmynD59mqSkJADeeOMNIiIi8PDwYPHixZw8eZI9e/ZkWJ+3tzcvvPACoaGhLFq0iDZt2lCwYEG2bdvGzJkzWbZsGRs2bODChQusXr2aCRMmsHz5co4cOZLmciYRERERyX3yzIy+i4sL06ZNY+zYsRiGwY0bN2jevDl+fn7s27fPsl6vXr3o1q0bpUuXpmTJklke38nJiUmTJnHp0iVq1qxJixYt7rvmIkWK0L9/f3r27InJZKJ58+Z4eXkBt4L9lClT6NevH6tXr053e19fX8aOHUvPnj2Ji4vDz88PJycn3Nzc6NChA25ubjRs2JCSJUtSpUoVXn75Zdzd3fHy8qJmzZr3Xb+IiIiIZB+TkZuu0cjB7vwSr637lw83HrnIyNzzUV1e/mjxfql31lHfrKfeWU+9s476Zr283DtduiMiIiIiksco6D8geWU2X0RERERyBwV9EREREREbpKAvIiIiImKD8sxdd+TBMYzcde96ERERkbxIM/oiIiIiIjZIQV9ERERExAYp6IuIiIiI2CAFfRERERERG6SgLyIiIiJigxT0RURERERskIK+iIiIiIgNUtAXEREREbFBCvoiIiIiIjZIQV9ERERExAYp6IuIiIiI2CAFfRERERERG6SgLyIiIiJigxT0RURERERskIK+iIiIiIgNUtAXEREREbFBCvoiIiIiIjbIIbsLkNzH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\n",
"text/plain": [
"<Figure size 792x432 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"\n",
"# Randomforrest\n",
"\n",
"coeff = list(model6.feature_importances_)# defining coefficient variable \n",
"labels = list(features_train.columns)# defining label list\n",
"features1 = pd.DataFrame() # Creating a new data frame\n",
"features1['Features'] = labels # labels in dataframe\n",
"features1['importance'] = coeff # values in dataframe\n",
"features1.sort_values(by=['importance'], ascending=True, inplace=True)\n",
"features1['positive'] = features1['importance'] > 0 # ranking of feat.\n",
"features1.set_index('Features', inplace=True)# Set the DataFrame index using existing columns\n",
"# Creating plot of feature importance\n",
"features1.importance.plot(kind='barh', figsize=(11, 6),color = \n",
"features1.positive.map({True: 'blue', False: 'red'}))\n",
"plt.xlabel('Importance')\n",
"plt.ylabel('Features')\n",
"plt.title('Feature contribution to Cancer - GradientBoostingClassifier')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "rlM7jtB1UMnd",
"outputId": "774a46b2-8802-46a0-8375-1f5ceecf6383"
},
"outputs": [
{
"data": {
"text/plain": [
"0.9453146755778334"
]
},
"execution_count": 97,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.model_selection import cross_val_score\n",
"scores=cross_val_score(model8, features_train, labels_train, cv=9)\n",
"scores.mean()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "jO3ORrgvUMnd",
"outputId": "27532f59-dbce-40c0-9726-d5cb148c0afe"
},
"outputs": [
{
"data": {
"image/png": "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F3h4eKS6ROigQYN48803yZMnDy4uLjz77LOcOXOGTp060apVKzp27EiePHlwdnZm+PDhVKpU6a7bM6JevXq89tprvPrqq1gsFlxcXJgxY0aGPgkTyUoWI6Of64mIiIhksQ0bNuDi4kLDhg2xWq3079+funXr2pbSiUjGKeiLiIhIjnH06FFGjhxJXFwcSUlJ1KpVi/feew9HR8fsLk3kkaOgLyIiIiJiQvoyroiIiIiICSnoi4iIiIiYkIK+iIiIiIgJ6fKacs+Sk1O4cuVGdpchWcDdPY/G1qQ0tualsTUvja15ZebYenq6pnmfZvTlnjk43PkjMGIOGlvz0tial8bWvDS25vWwxlZBX0RERETEhBT0RURERERMSEFfRERERMSEFPRFRERERExIQV9ERERExIQU9EVERERETEhBX0RERETEhPSDWXLPLBaAtH+cQR51Glvz0tial8bWvDS2j5LIyGvZXUIqmtEXERERETEhBX0RERERERNS0BcRERERMSEFfRERERERE1LQFxERERExoYcW9MPCwhg0aFCqbcHBwaxatSrNx8yZM4eDBw+SkpJC79696dq1K1evXn3gWi5dusSoUaMA2Lt3L4cPH77vts6ePUu7du0YOnRoqu0JCQlMmjQJPz8/unXrxmuvvcaFCxfSbGfVqlUEBwcTHh5O586d77j/hx9+oGfPnrzyyiv06NGDtWvXAhASEsLixYvvu34RERERMaccfXnNgIAAAC5evMiVK1fSfVNwLzw9PW1Bf+XKlbRu3ZpKlSrdV1v79++nTp06BAYGptoeFBSEt7c3X331FQBbtmxh4MCBLF269L76GTVqFF9//TX58uUjNjaWdu3aUbdu3ftqS0RERETML0cE/bCwMObOnYujoyPh4eG0bt2avn37EhgYSOvWrQkNDeX06dOMHDmSd955hyFDhhAbG0tKSgoDBgygTp06tG3bltKlS+Pk5ESZMmX466+/uHLlClevXsXPz4/Nmzdz6tQpJk2ahIeHB4MHD2bkyJH8+OOP/P7770RFRbF9+3amT58OgK+vL9OnT6dQoUK2OidOnMi+ffsAaNu2Lc2bN2fmzJnEx8dTsmRJ/Pz8AEhMTGT79u2MHj3a9tjmzZtTs2ZNAPbs2cPUqVOxt7enRIkSjBkz5l/PUcGCBfniiy9o0aIF5cqV49tvv8XJyQmAbdu2sXHjRqKjoxkwYABNmjRh0aJFbN68meTkZFxdXQkJCWH9+vVs27aN2NhYrly5wptvvkmLFi3uWo+jo2PmDK6IiIiIZItsD/qWm7++xPnz51m7di2JiYnUr1+fvn372vb54IMPGDx4MGPGjGHSpEk8//zz9OzZk4iICLp27crWrVu5ceMGb7zxBk8++SQhISE4Ozszb9485syZww8//MCsWbNYuXIlGzZsoGfPngBUqVKF+vXr07p1a+rXr8+sWbO4evUqly5dwt3dPVXI/+677wgPD2fZsmUkJyfj5+dH7dq1CQgI4OTJk7aQDxAdHY2Hh4ft2G5xd3fHMAxGjBjBV199RcGCBfn4449ZvXo1Dg7pD8XMmTNZsGABgwcPJioqCl9fX/r16weAl5cXQUFBhIWF8dlnn9GoUSOio6NZsGABdnZ29O7dm0OHDgFw48YNPv/8c6KioujUqRNNmjS5az13Wz4kIiIiImnz9Mz4D5zdy77366EFfWdnZxITE1Ntu3HjBrly5QKgQoUKODg44ODggLOzc5rtnDhxAh8fH+BmwHVxcSEqKgqAMmXK2PZ78sknAXB1daVcuXIAuLm5kZCQcNd2LRYLL774IuvXryc8PJyXX375jn5r1qyJxWLB0dGRatWqceLEibu25e7uTkxMDIZhpAr769ato06dOkRGRjJw4EAA4uPjqVu3LiVLlkzzmK9evcr58+cZMmQIQ4YMISIigv79+1O5cmUA2/96eHgQHx+PnZ0djo6ODB48mDx58nDx4kWSk5MBePbZZ7Gzs8PDw4N8+fIRGRl513pERERE5N5cupSxX8b19HTN8L4ZaSstD+3LuGXLluXPP/8kMjISuPll1b1799pC6j9nv9Nr5+effwYgIiKCmJgY8ufPD4Cd3f8OJ6PtWSwWDMMAoGPHjmzcuJG9e/fSsGHDO/q9tWwnKSmJAwcOUKpUqbu26ejoSL169QgNDbVt27hxIwsXLqRAgQIULlyYTz/9lNDQUPr06UOtWrXSrTExMZGBAwfavszr6emJh4eHbenOP4/18OHDbN26lY8//pgRI0ZgtVptx/j7778DcPnyZWJjYylcuPA91yMiIiIiOd9Dm9F3cXEhMDCQ119/HWdnZ5KSkvD396dUqVJcvHgxw+28/vrrvPfee2zatIn4+HjGjBnzr8te0lOtWjWCg4MpXrw4ZcuWJW/evFSvXv2ONhs3bsyePXvo0qULSUlJtGzZksqVK3PkyJG7tjts2DAmTJiAr68vcPPThJCQEOzs7Hj//fcJCAjAMAzy5s3L5MmT070ij6enJ8OHD6dfv344ODiQkpJCo0aNqFevHgcOHLhj/1KlSpE7d246dOiAk5MTnp6etjdYly9fpmfPnly7do0PPvgAe3v7u9YjIiIiIo82i3FrqleA/72RSGu2/lG2atUqTp48yTvvvPNA7WTwwxIRERGRx0pk5GO6dCeni4+Pp0OHDlSqVMmUIV9EREREHi+a0Zd7phl9ERERkTtpRl9ERERERLKcgr6IiIiIiAll+w9myaPHMDJ+nVh5tGTmR4mSs2hszUtja14aW3lQmtEXERERETEhBX0RERERERNS0BcRERERMSEFfRERERERE1LQFxERERExIQV9ERERERETUtAXERERETEhBX0RERERERNS0BcRERERMSEFfRERERERE1LQFxERERExIQV9ERERERETUtAXERERETEhBX0RERERERNS0BcRERERMSEFfRERERERE1LQFxERERExIYfsLkAePRYLgGt2lyFZRmNrXhpb89LYmpfGNieIjLyW3SXcF83oi4iIiIiYkIK+iIiIiIgJKeiLiIiIiJiQgr6IiIiIiAkp6IuIiIiImNBjHfTDwsKoWbMmFy5csG0LDg5m1apVWdpveHg4nTt3vmN7xYoV2bp1q+32jh07CAwMvKe2w8LCGDRo0D3X1KRJExISEpgzZw4HDx6858eLiIiISM7yWAd9AEdHR4YNG4ZhGNldCrlz52bixIlERUVlWw0BAQFUrVo12/oXERERkczx2F9Hv3bt2litVr788ku6d++e6r758+ezYcMGHBwcqFmzJkOGDCEkJIQDBw5w48YNgoKCCAwMpEiRIoSHh9OmTRuOHTvGH3/8QaNGjRg8eDB79uxhxowZAMTHxzNp0iQcHR3vWkvevHl55ZVXGDVqFNOnT091X5MmTfj222/JlSsXwcHBeHt70759e8aNG8fBgwdJSkqif//+uLr+73q73377LQsWLMDOzo5nnnmGd955h5iYGIYMGUJsbCwpKSkMGDCAOnXq2B4TGBhI69atadCgQWadYhERERHJBo990AcYNWoUnTp1ol69erZtR44c4dtvv2XJkiU4ODjQv39/vvvuOwC8vb0ZPnw44eHhnD17lvnz5xMfH0/Tpk3ZsWMHuXPnpnHjxgwePJhjx47x4Ycf4uXlxaxZs9i4cSM+Pj5p1uLn58e2bdtYt24dbm5u6da9bds2rly5wooVK7h06RKLFi3i+eefByA6OpqQkBBWrlxJ7ty5GTJkCDt37uSnn37i+eefp2fPnkRERNC1a9dUy4VEREREJDVPz8z/4bKsaPOfFPQBd3d33nvvPQIDA6lRowYAJ0+epFq1arbZ95o1a3Ls2DEAypQpY3tsiRIlcHV1xcnJCQ8PD/Lnzw+A5ebPx+Ll5UVQUBB58uQhIiLC1n5aLBYL48ePp1u3bvTt2/eu+9xaZnTq1CmqV68OgKenJ4MGDSIsLAyAM2fOEBUVRUBAAADXr1/n7NmznDhxwvZGw8vLCxcXl2xdKiQiIiKS0126lLm/jOvp6Zppbab3huGxX6N/S5MmTShTpgyrV68Gbs7aHzx4kOTkZAzDYO/evbaAb2f3v9N2K9CnZfjw4YwfP56JEydSqFChDH0XoHDhwvTv35+PPvrIts3JyYnIyEgMw+Dw4cO2Gg8dOgTAtWvX6N27t23/4sWLU6RIEebPn09oaCjdu3enWrVqlC1blp9//hmAiIgIYmJibG9ORERERMQ8NKN/m/fff5/du3cDN6+A06pVK7p27YrVauWZZ56hWbNmtpCdUe3ataNz587ky5cPDw8PIiMjM/S49u3bs2XLFtvt//znPwQEBFCsWDHy5csHQNOmTdm1axddu3YlJSWFN99807Z/gQIF6NWrF/7+/qSkpFCsWDFatWrF66+/znvvvcemTZuIj49nzJgxODjoaSAiIiJiNhYjJ1xuRh4p//IhhoiIiIipREZq6Y6IiIiIiOQQCvoiIiIiIiakoC8iIiIiYkIK+iIiIiIiJqTLrcg9M4zMv56s5AyZ+eUgyVk0tualsTUvja08KM3oi4iIiIiYkIK+iIiIiIgJKeiLiIiIiJiQgr6IiIiIiAkp6IuIiIiImJCCvoiIiIiICSnoi4iIiIiYkIK+iIiIiIgJKeiLiIiIiJiQgr6IiIiIiAkp6IuIiIiImJCCvoiIiIiICSnoi4iIiIiYkIK+iIiIiIgJKeiLiIiIiJiQgr6IiIiIiAkp6IuIiIiImJBDdhcgjx6LBcA1u8uQLKOxNS+NrXlpbM1LY5sTREZey+4S7otm9EVERERETEhBX0RERETEhBT0RURERERMSEFfRERERMSEFPRFREREREzosQr6x44dIyAgAH9/fzp27Mj06dMxDIOwsDAGDRqUZf0eOXIEf39//P39eeqpp+jWrRv+/v58//33+Pv7c+LEiVT7//nnn8yYMSPN9urWrZtltYqIiIiIOTw2l9eMiYlh8ODBhISEULp0aVJSUhgwYABLlizB29s7S/uuWLEioaGhADRp0oT58+eTK1cuAObNm3fH/k888QRPPPFEltYkIiIiIub22AT9bdu2UatWLUqXLg2Avb09kyZNwtHRkQMHDtj2q1u3Ljt37gRg0KBB+Pr6cu7cOb777jvi4+O5dOkSPXr0YNu2bRw7dox3332XZs2a0bRpU6pVq8aZM2coX748QUFB2Nll7AOTTz75hMuXLxMXF8eUKVM4f/48S5YsYerUqSxfvpzFixdjtVpp2rQp/fv3tz1uypQpXLt2jZEjR9KiRQtq1KjBqVOnKFiwICEhIVitVj744AP++usvrFYrAwcOpFatWkydOpXdu3djtVpp06YNvXr14ssvv2TNmjXY2dlRo0YNhg4dmnknX0REREQeuscm6EdGRlKiRIlU2/LmzZvhx1+/fp358+ezYcMGFixYwLJlywgLC+OLL76gWbNmREREMGDAAEqVKsWAAQPYunUrL7zwQobabtiwIe3atSMkJISNGzdStWpVAP7++2/mzp3L2rVrcXJyYuLEiVy/fh2ASZMmYbFY+OCDDwA4e/YsCxcupEiRIvj6+nLo0CH++OMP3N3dGT9+PFeuXKF79+5s2LCBNWvWsGjRIry8vFi1ahUAq1atYsSIEVSvXp2vvvqK5ORkHBwem6eHiIiISJo8PTP/h8uyos1/emySXNGiRfnjjz9SbTt79iwXL15M8zGGYdj+vrWUxtXVlbJly2KxWHBzcyMhIQGAIkWKUKpUKQCefvppTp06leHaqlSpAoCHhweXL19OVV/58uVxdnYG4L333gPg8uXLHDlyhJIlS9r2dXd3p0iRIrZaEhISOHr0KPv27ePgwYMAJCcnc+XKFaZMmcKUKVO4fPky9evXB2DChAnMnz+f4OBgqlevnurYRURERB5nly5l7i/jenq6Zlqb6b1heGy+jNu4cWN+/PFHzpw5A0BSUhITJ07k6NGjqfZLTk7m+vXrJCYmcvz4cdt2i8WSbvsRERFcunQJgP3791OuXLkHrrlkyZKcPHmSxMREAN566y0iIiLw8PBg3rx5HD9+nB07dqRZn7e3N23atCE0NJS5c+fSsmVL8ubNy8aNG5kyZQoLFy5k9erVnDt3jmXLljF69GgWLVrEn3/+mWo5k4iIiIg8eh6bGX0XFxcmTpzI8OHDMQyD69ev07hxY/z8/NizZ49tvx49etClSxeKFy9O0aJFM9y+k5MTY8eO5cKFC1SrVo0mTZo8cM0FChTgtddeo3v37lgsFho3boyXlxdwM9iPHz+e3r17s2zZsrs+3tfXl+HDh9O9e3diY2Px8/PDyckJNzc32rVrh5ubG3Xr1qVo0aJUrFiRl19+GXd3d7y8vKhWrdoD1y8iIiIi2cdiaI1Gprj9S7xm9y8fboiIiIiYSmSklu6IiIiIiEgOoaCfSR6X2XwREREReTQo6IuIiIiImJCCvoiIiIiICT02V92RzGMYmX89WckZMvPLQZKzaGzNS2NrXhpbeVCa0RcRERERMSEFfRERERERE1LQFxERERExIQV9ERERERETUtAXERERETEhBX0RERERERNS0BcRERERMSEFfRERERERE1LQFxERERExIQV9ERERERETUtAXERERETEhBX0RERERERNS0BcRERERMSEFfRERERERE1LQFxERERExIQV9ERERERETUtAXERERETEhh+wuQB49FguAa3aXIVlGY2teGlvz0tial8Y2q0RGXsvuErKcZvRFRERERExIQV9ERERExIQU9EVERERETEhBX0RERETEhBT0RURERERMSEFfRERERMSEHrugHxYWRp06dfD396d79+74+vpy4sQJAPz9/W1/36+6devesc1qtTJr1iz8/Pzw9/fH39+fI0eOZFqf92rRokUA7Nixg6VLlz7UvkVERETk4Xgsr6Nfu3Ztpk6dCsBPP/3E5MmTmT17dpb199lnn3HlyhUWLVqEnZ0dBw8e5I033mDjxo1Z1md6Zs6cSffu3WnQoEG29C8iIiIiWe+xDPq3i4mJoVixYqm2Xbx4kVGjRpGQkEB0dDRvvvkmzZo1w8fHh+eee44jR45gsVj49NNPyZMnDyNGjOD48eOUKFGCxMTEO/pYunQpq1atws7u5gcoVatWZcWKFTg6OgLwySefcPnyZeLi4pgyZQrnz58nODgYR0dH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VBS1atWiWLFijBw5koEDB2ZxaSIiIiIicr8yNKPv5eWFr68vhw8f5t133yU+Pp48efJkdW0iIiIiInKfMjSjv2vXLtq1a8cbb7zB33//TZMmTfjpp5+yujYREREREblPGQr6U6ZM4auvviJfvnx4enqyaNEiJk+enNW1iYiIiIjIfcpQ0LdarXh6etpulytXLssKEhERERGRB5ehNfqFCxfmu+++w2KxEBMTw5dffknRokWzujYREREREblP6c7oR0READBmzBjWrVvHhQsXaN68OX/++Sdjxox5KAWKiIiIiMi9S3dGv0+fPqxevZqCBQtSpUoVpkyZ8rDqEhERERGRB5DujL5hGLa/161bl+XFiIiIiIhI5kg36FssFtvft4d+ERERERHJ2TJ01R1IHfpFRERERCRnS3eN/rFjx2jatClw84u5t/42DAOLxcK2bduyvkIREREREbln6Qb9TZs2Paw6REREREQkE6Ub9IsVK/aw6hARERERkUyU4TX6IiIiIiLy6FDQFxERERExIQV9ERERERETSneNvsjd3LzSqmt2lyFZRmNrXhpb89LYmpfGNqtERl7L7hKynGb0RURERERMSEFfRERERMSEFPRFRERERExIQV9ERERExIQU9EVERERETCjHBf2wsDAGDRqUaltwcDCrVq1K8zFz5szh4MGDpKSk0Lt3b7p27crVq1cfuJZLly4xatQoAPbu3cvhw4fvu62zZ8/Srl07hg4dmmp7QkICkyZNws/Pj27duvHaa69x4cKFNNtZtWoVwcHBhIeH07lz5zvu/+GHH+jZsyevvPIKPXr0YO3atbbHbdu27b7rFxEREZFHiykurxkQEADAxYsXuXLlSrpvCu6Fp6enLeivXLmS1q1bU6lSpftqa//+/dSpU4fAwMBU24OCgvD29uarr74CYMuWLQwcOJClS5feVz+jRo3i66+/Jl++fMTGxtKuXTvq1q1Lhw4d7qs9EREREXk0PVJBPywsjLlz5+Lo6Eh4eDitW7emb9++BAYG0rp1a0JDQzl9+jQjR47knXfeYciQIcTGxpKSksKAAQOoU6cObdu2pXTp0jg5OVGmTBn++usvrly5wtWrV/Hz82Pz5s2cOnWKSZMm4eHhweDBgxk5ciQ//vgjv//+O1FRUWzfvp3p06cD4Ovry/Tp0ylUqJCtzokTJ7Jv3z4A2rZtS/PmzZk5cybx8fGULFkSPz8/ABITE9m+fTujR4+2PbZ58+bUrFkTgD179jB16lTs7e0pUaIEY8aM+ddzVLBgQb744gtatGhBuXLl+Pbbb3FyciIkJAQPDw88PDz44osvgJtvjAoXLkxoaCgfffQRe/fuxTAMevXqRatWrTJn0EREREQkWzwyQd9y81eaOH/+PGvXriUxMZH69evTt29f2z4ffPABgwcPZsyYMUyaNInnn3+enj17EhERQdeuXdm6dSs3btzgjTfe4MknnyQkJARnZ2fmzZvHnDlz+OGHH5g1axYrV65kw4YN9OzZE4AqVapQv359WrduTf369Zk1axZXr17l0qVLuLu7pwr53333HeHh4Sxbtozk5GT8/PyoXbs2AQEBnDx50hbyAaKjo/Hw8LAd2y3u7u4YhsGIESP46quvKFiwIB9//DGrV6/GwSH9IZs5cyYLFixg8ODBREVF4evrS79+/Wz3N2/enObNmxMeHs7AgQOZOHEiP/zwA+Hh4SxZsoSEhAQ6d+5M3bp1yZcv3/0PmIiIiEgO5umZvT9G9jD6z3FB39nZmcTExFTbbty4Qa5cuQCoUKECDg4OODg44OzsnGY7J06cwMfHBwAvLy9cXFyIiooCoEyZMrb9nnzySQBcXV0pV64cAG5ubiQkJNy1XYvFwosvvsj69esJDw/n5ZdfvqPfmjVrYrFYcHR0pFq1apw4ceKubbm7uxMTE4NhGKnC/rp166hTpw6RkZEMHDgQgPj4eOrWrUvJkiXTPOarV69y/vx5hgwZwpAhQ4iIiKB///5Urlw51X6XLl3irbfeYsKECRQrVoxvvvmG33//HX9/fwCSk5M5f/68gr6IiIiY1qVL2ffLuJ6erpnWf3pvGHLcl3HLli3Ln3/+SWRkJHDzy6p79+61hdV/zn6n187PP/8MQEREBDExMeTPnx8AO7v/HXZG27NYLBiGAUDHjh3ZuHEje/fupWHDhnf0e2vZTlJSEgcOHKBUqVJ3bdPR0ZF69eoRGhpq27Zx40YWLlxIgQIFKFy4MJ9++imhoaH06dOHWrVqpVtjYmIiAwcOtH2Z19PTEw8PD5ycnGz7xMTE8OabbzJs2DAqVqwIgLe3N7Vq1SI0NJSFCxfSqlUrihcvnqHzIiIiIiI5U46b0XdxcSEwMJDXX38dZ2dnkpKS8Pf3p1SpUly8eDHD7bz++uu89957bNq0ifj4eMaMGfOvy17SU61aNYKDgylevDhly5Ylb968VK9e/Y42GzduzJ49e+jSpQtJSUm0bNmSypUrc+TIkbu2O2zYMCZMmICvry9w89OEkJAQ7OzseP/99wkICMAwDPLmzcvkyZPTvSKPp6cnw4cPp1+/fjg4OJCSkkKjRo2oV68eBw4cAGDq1KlERkYyY8YMrFYrjo6OzJs3jz179uDn58eNGzdo1qwZLi4u932uRERERCT7WYxb09RyT269kUhrtt7MMvghiIiIiEiOFRmppTvyD/Hx8XTo0IFKlSo9liFfRERERB4NmtGXe6YZfREREXnUaUZfREREREQeSQr6IiIiIiImlOOuuiM5n2Fk77VnJetk5keJkrNobM1LY2teGlt5UJrRFxERERExIQV9ERERERETUtAXERERETEhBX0RERERERNS0BcRERERMSEFfRERERERE1LQFxERERExIQV9ERERERETUtAXERERETEhBX0RERERERNS0BcRERERMSEFfRERERERE1LQFxERERExIQV9ERERERETUtAXERERETEhBX0RERERERNS0BcRERERMSGH7C5AHj0WC4BrdpchWUZja14aW/PS2JqXxjarREZey+4Sspxm9EVERERETEhBX0RERETEhBT0RURERERMSEFfRERERMSEFPRFRERERExIQT+HCQsLo2LFinzzzTeptvv4+BAYGEi/fv0AOHLkCHv37s2OEkVERETkEaCgnwN5e3uzfv162+0jR44QFxcHwIwZMwDYvHkzx48fz5b6RERERCTn03X0c6BKlSpx+vRpYmJiyJcvH2vXrsXHx4cLFy5Qt25dVq1axerVq3F0dKRy5cpcu3aNjz/+mFy5cpE/f37Gjx9PcnIyAwcOxDAMkpKSGD16NBUrViQ0NJT169djsVho3bo1PXr0YPPmzcydOxcHBweKFSvG5MmTsbPTe0ARERGRR5mCfg7VvHlztmzZQocOHTh48CCvvfYaFy5cAMDLy4uXXnoJDw8PnnrqKZo2bcrixYvx8vJi4cKFzJw5k1q1auHq6spHH33E8ePHiY2N5fjx43zzzTd89dVXWCwWevXqRb169Vi/fj29evWiTZs2rFmzhtjYWPLly5fNZ0BEREQk63h6Zu+PkT2M/hX0cygfHx9GjRpFiRIlqFmzZpr7XblyBRcXF7y8vAB49tlnmTJlCkOGDOH06dO88cYbODg40LdvX44ePcr58+fp1asXAFevXuXMmTMMGzaM2bNns3jxYry9vWnWrNnDOEQRERGRbHPpUvb9Mq6np2um9Z/eGwatz8ihSpQowY0bNwgNDeXFF1+8436LxYLVasXd3Z3Y2FgiIyMB2LNnD6VLlyYsLIxChQoxf/58+vbty5QpU/D29qZcuXJ88cUXhIaG0qFDBypUqMDSpUvp378/ixYtAmDLli0P9VhFREREJPNpRj8Ha926NV9//TVlypTh7Nmzqe6rUqUKkydPpmzZsowbN47+/ftjsVhwc3NjwoQJWCwWBg0axMKFC7Gzs+PNN9+kUqVK1KlTh65du5KYmEjVqlXx8vKiatWqvPLKK+TPn5+8efPSqFGj7DlgEREREck0FsMwjOwuQh4tFkt2VyAiIiLyYCIjtXRHREREREQeQQr6IiIiIiImpKAvIiIiImJCCvoiIiIiIiakq+7IPTOM7L32rGSdzPxykOQsGlvz0tial8ZWHpRm9EVERERETEhBX0RERETEhBT0RURERERMSEFfRERERMSEFPRFRERERExIQV9ERERExIQU9EVERERETEhBX0RERETEhBT0RURERERMSEFfRERERMSEFPRFRERERExIQV9ERERExIQU9EVERERETEhBX0RERETEhBT0RURERERMSEFfRERERMSEFPRFREREREzIIbsLkEePxQLgmt1lSJbR2JqXxta8NLbmpbG9V5GR17K7hBxDM/oiIiIiIiakoC8iIiIiYkIK+iIiIiIiJqSgLyIiIiJiQgr6IiIiIiImpKAvIiIiImJCWRb058yZQ69evXj11Vfp3bs3v/32GwBBQUGcP3/+ntoKCwtj0KBBGdo3MDAQHx8f/P39bf+WL1+ebp0HDx4kISHBtl9ISAiLFy/OUH+39v3zzz+ZMWNGmvutWrWK4ODgO7YfO3aMgIAA/P396dixI9OnT8cwjDTb8ff358SJE3et0Wq1MmHCBF555RV69+5Nnz59OHv2LACDBg0iMTExQ8ckIiIiIo++LLmO/vHjx9m+fTuLFy/GYrHw559/MnToUNauXcv777+fFV2mMmTIEBo0aJChfQMCAgAIDw9n+fLldOrU6b76fOKJJ3jiiSfu6TExMTEMHjyYkJAQSpcuTUpKCgMGDGDJkiV07dr1nmv48ccfiYyM5PPPPwdg69atjB8/npkzZzJ16tR7bk9EREREHl1ZEvQLFCjA+fPnWbFiBQ0aNOCJJ55gxYoVwM0Z6VGjRvHNN98QHh7O33//zfnz5xk2bBj169fnu+++Y/r06bi4uODm5kbFihV57rnnbG1/++23LFiwADs7O5555hneeeedDNUUHh7OgAED8PT0JCIiggYNGjBo0CACAwNp3bo1mzdv5vjx47ZZ+W3btrFx40aio6MZMGAATZo0SbfvsLAwlixZwtSpU1m0aBGbN28mOTkZV1dXQkJC7lrTtm3bqFWrFqVLlwbA3t6eSZMm4ejoCMBHH33E3r17MQyDXr160apVq3SPsXDhwvz2229888031K5dm6ZNm9re8NyqPygoiFOnTgHw22+/MXLkSGrXrs2IESNISEggV65cjB07liJFimTovIqIiIjkJJ6ej8aPjD2MOrMs6M+cOZNFixbxySef4OzszKBBg2jRokWq/ZycnPjss8/YuXMn8+fP5/nnn2fcuHEsXboUDw8P3n777VT7R0dHExISwsqVK8mdOzdDhgxh586d1K1bN9V+H374IXPnzrXdHj58OHnz5uXcuXPMmzcPV1dX/Pz8+P3332379OnTh6NHj9KvXz9CQkLw8vIiKCiIsLAwPvvsM2rUqHHXvv/JarUSHR1te0PQu3dvDh06dNfzFBkZSYkSJVJty5s3LwA//PAD4eHhLFmyhISEBDp37nzHcf5TxYoVGTt2LMuWLWPcuHEULlyYwMDAVG+UxowZA8CSJUsoXLgw7du3Z9CgQfj7+9OwYUN27dpFcHAwH330Ubp9iYiIiOREly7l/F/G9fR0zbQ603vDkCVB/6+//sLFxYUJEyYAcOjQIQICAqhVq1aq/W4tdSlcuDCJiYlERUXh4uKCh4cHADVr1uTy5cu2/c+cOUNUVJRtuc3169dta9Bvd7elO+Hh4VSqVIn8+fMDULVqVdvM9t1UrlwZAA8PD+Lj4zPct52dHY6OjgwePJg8efJw8eJFkpOT79pH0aJF+eOPP1JtO3v2LBcvXuTo0aP8/vvv+Pv7A5CcnPyv3204fPgwZcqUYcqUKRiGwc6dOxk4cOAdb0i++eYbtm3bxqefforFYuHo0aPMnj2bzz77DMMwbJ8oiIiIiMijK0u+jHvkyBFGjRpFQkICAGXKlMHV1RV7e/tU+1ksllS3CxYsyPXr14mKigLg119/TXV/8eLFKVKkCPPnzyc0NJTu3btTrVq1DNd14sQJ4uLiSElJ4eDBg5QrV852n52dHVarNc3aMtr34cOH2bp1Kx9//DEjRozAarWm+eXaxo0b8+OPP3LmzBkAkpKSmDhxIkePHsXb25tatWoRGhrKwoULadWqFcWLF0/3+Hbt2sWUKVNISUnBYrFQvnx5cufOnepYduzYwaJFi5g2bZot0Ht7e/POO+8QGhrK6NGj7/jkRUREREQePVkyo//CCy9w4sQJOnXqRJ48eTAMg3fffRdX1/TXItnZ2TFixAhee+01XF1dsVqtlCpVynZ/gQIF6NWrF/7+/qSkpFCsWLG7rlv/59KdZ599lg4dOuDo6MiAAQO4fPkyLVu2pFKlSrZ9ChYsSFJSEh9++CHOzs53tJnRvkuVKkXu3Lnp0KEDTk5OeHp6EhkZedfjdXFxYeLEiQwfPhzDMLh+/TqNGzfGz88PgD179uDn58eNGzdo1qwZLi4u6Z4/f39/Jk2aRPv27XFxccHOzo7Jkyen2uett96iQoUKvP7668DNtftDhw61vTGLj49/KF+YFhEREZGsZTHSu5ZjNpg9ezavvPIKTk5OvPPOO9SrV4/27ds/cLvh4eEMHjyYZcuWPXiRj7l/fNghIiIikmNERmqN/i1ZMqP/IPLmzUvnzp1xdnamWLFitG7dOrtLEhERERF55OS4GX3J+TSjLyIiIjmVZvT/J8t+GVdERERERLJPjlu6IzmfYTwa16iVe5eZMwySs2hszUtja14aW3lQmtEXERERETEhBX0RERERERNS0BcRERERMSEFfRERERERE1LQFxERERExIQV9ERERERETUtAXERERETEhBX0RERERERNS0BcRERERMSEFfRERERERE1LQFxERERExIQV9ERERERETUtAXERERETEhBX0RERERERNS0BcRERERMSEFfRERERERE1LQFxERERExIQV9ERERERETcsjuAuTRY7EAuGZ3GZJlNLbmpbE1L42teWlsASIjr2V3CY8kzeiLiIiIiJiQgr6IiIiIiAkp6IuIiIiImJCCvoiIiIiICSnoi4iIiIiYkOmCflhYGBUrVuSbb75Jtd3Hx4fAwMAHanvHjh0sXbr0nh/XpEkTEhIS7tg+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\n",
"text/plain": [
"<Figure size 792x432 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"\n",
"# Decisiontree\n",
"\n",
"coeff = list(cross_val_score(model8, features_train, labels_train, cv=9))# defining coefficient variable \n",
"labels = list(features_train.columns)# defining label list\n",
"features1 = pd.DataFrame() # Creating a new data frame\n",
"features1['Features'] = labels # labels in dataframe\n",
"features1['importance'] = coeff # values in dataframe\n",
"features1.sort_values(by=['importance'], ascending=True, inplace=True)\n",
"features1['positive'] = features1['importance'] > 0 # ranking of feat.\n",
"features1.set_index('Features', inplace=True)# Set the DataFrame index using existing columns\n",
"# Creating plot of feature importance\n",
"features1.importance.plot(kind='barh', figsize=(11, 6),color = \n",
"features1.positive.map({True: 'blue', False: 'red'}))\n",
"plt.xlabel('Importance')\n",
"plt.ylabel('Features')\n",
"plt.title('Feature contribution to Cancer - GradientBoostingClassifier')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "yFzm7-jwUMnd",
"outputId": "26332602-5c5b-4a43-b23c-0fa30306c34d"
},
"outputs": [
{
"data": {
"text/plain": [
"SVC(gamma='auto', probability=True)"
]
},
"execution_count": 102,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model5.steps[1][1]"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "jOTae3r6UMnd"
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.5"
},
"colab": {
"provenance": [],
"include_colab_link": true
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment