Commit 41574b8d authored by Akalanka B. A. IT18114836's avatar Akalanka B. A. IT18114836

Merge branch 'IT18121698' into 'master'

It18121698

See merge request !4
parents ec46052a 58404065
This source diff could not be displayed because it is too large. You can view the blob instead.
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "c625fa1f",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "fe4eccb6",
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "2be1196b",
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "61ab0aa3",
"metadata": {},
"outputs": [],
"source": [
"import sklearn.metrics as sm"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "710e86ff",
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "66119972",
"metadata": {},
"outputs": [],
"source": [
"breathing_dataset = pd.read_csv('breathing.csv')"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "ac6f6630",
"metadata": {},
"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>Age</th>\n",
" <th>Gender</th>\n",
" <th>Positivity</th>\n",
" <th>Time</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>24</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>16.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>27</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>71.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>19</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>21.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>25</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>55.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>28</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>35.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>150</th>\n",
" <td>19</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>43.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>151</th>\n",
" <td>23</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>45.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>152</th>\n",
" <td>12</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>45.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>153</th>\n",
" <td>48</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>14.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>154</th>\n",
" <td>49</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>16.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>155 rows × 4 columns</p>\n",
"</div>"
],
"text/plain": [
" Age Gender Positivity Time\n",
"0 24 1 0 16.0\n",
"1 27 0 0 71.0\n",
"2 19 0 1 21.0\n",
"3 25 1 0 55.0\n",
"4 28 0 1 35.0\n",
".. ... ... ... ...\n",
"150 19 0 1 43.0\n",
"151 23 1 1 45.0\n",
"152 12 0 1 45.0\n",
"153 48 1 1 14.0\n",
"154 49 0 1 16.0\n",
"\n",
"[155 rows x 4 columns]"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"breathing_dataset"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "0d04edae",
"metadata": {},
"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>Age</th>\n",
" <th>Gender</th>\n",
" <th>Positivity</th>\n",
" <th>Time</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>155.000000</td>\n",
" <td>155.000000</td>\n",
" <td>155.000000</td>\n",
" <td>155.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>31.832258</td>\n",
" <td>0.483871</td>\n",
" <td>0.651613</td>\n",
" <td>30.450258</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>12.995913</td>\n",
" <td>0.501360</td>\n",
" <td>0.478004</td>\n",
" <td>20.612098</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>10.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>2.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>22.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>17.295000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>27.000000</td>\n",
" <td>0.000000</td>\n",
" <td>1.000000</td>\n",
" <td>25.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>40.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>38.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>79.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>180.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Age Gender Positivity Time\n",
"count 155.000000 155.000000 155.000000 155.000000\n",
"mean 31.832258 0.483871 0.651613 30.450258\n",
"std 12.995913 0.501360 0.478004 20.612098\n",
"min 10.000000 0.000000 0.000000 2.000000\n",
"25% 22.000000 0.000000 0.000000 17.295000\n",
"50% 27.000000 0.000000 1.000000 25.000000\n",
"75% 40.000000 1.000000 1.000000 38.000000\n",
"max 79.000000 1.000000 1.000000 180.000000"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"breathing_dataset.describe()"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "e634ed26",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sum(breathing_dataset.isnull().sum())"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "1cd86953",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Age 0\n",
"Gender 0\n",
"Positivity 0\n",
" Time 0\n",
"dtype: int64\n"
]
}
],
"source": [
"print(breathing_dataset.isnull().sum())"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "074b7f92",
"metadata": {},
"outputs": [],
"source": [
"from sklearn.preprocessing import LabelEncoder"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "f2131141",
"metadata": {},
"outputs": [],
"source": [
"dataTransform = breathing_dataset.copy()"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "e9256db9",
"metadata": {},
"outputs": [],
"source": [
"labelencoder = LabelEncoder()"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "1fa32cda",
"metadata": {},
"outputs": [],
"source": [
"for data in breathing_dataset.columns:\n",
" dataTransform[data] = labelencoder.fit_transform(breathing_dataset[data])"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "c58c4992",
"metadata": {},
"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>Age</th>\n",
" <th>Gender</th>\n",
" <th>Positivity</th>\n",
" <th>Time</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>13</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>49</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>5</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>14</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>11</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>42</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>14</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>150</th>\n",
" <td>5</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>34</td>\n",
" </tr>\n",
" <tr>\n",
" <th>151</th>\n",
" <td>9</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>35</td>\n",
" </tr>\n",
" <tr>\n",
" <th>152</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>35</td>\n",
" </tr>\n",
" <tr>\n",
" <th>153</th>\n",
" <td>33</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>154</th>\n",
" <td>34</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>155 rows × 4 columns</p>\n",
"</div>"
],
"text/plain": [
" Age Gender Positivity Time\n",
"0 10 1 0 8\n",
"1 13 0 0 49\n",
"2 5 0 1 14\n",
"3 11 1 0 42\n",
"4 14 0 1 26\n",
".. ... ... ... ...\n",
"150 5 0 1 34\n",
"151 9 1 1 35\n",
"152 1 0 1 35\n",
"153 33 1 1 6\n",
"154 34 0 1 8\n",
"\n",
"[155 rows x 4 columns]"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dataTransform"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "9a8e65fe",
"metadata": {},
"outputs": [],
"source": [
"Y = dataTransform['Positivity']"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "496ec58e",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0 0\n",
"1 0\n",
"2 1\n",
"3 0\n",
"4 1\n",
" ..\n",
"150 1\n",
"151 1\n",
"152 1\n",
"153 1\n",
"154 1\n",
"Name: Positivity, Length: 155, dtype: int64"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Y"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "fade6c35",
"metadata": {},
"outputs": [],
"source": [
"X = dataTransform.drop(['Positivity'], axis = 1)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "2687c8b6",
"metadata": {},
"outputs": [],
"source": [
"breathing_feature_list = list(X.columns)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "df9b7ed2",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['Age', 'Gender', ' Time']"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"breathing_feature_list"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "4ea9146d",
"metadata": {},
"outputs": [],
"source": [
"from sklearn.model_selection import train_test_split"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "ef17efb6",
"metadata": {},
"outputs": [],
"source": [
"X_train,X_test,Y_train,Y_test = train_test_split(X,Y,test_size = 0.2, random_state = 41)"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "acabe819",
"metadata": {},
"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>Age</th>\n",
" <th>Gender</th>\n",
" <th>Time</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>16</td>\n",
" <td>1</td>\n",
" <td>23</td>\n",
" </tr>\n",
" <tr>\n",
" <th>51</th>\n",
" <td>33</td>\n",
" <td>1</td>\n",
" <td>9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>62</th>\n",
" <td>17</td>\n",
" <td>1</td>\n",
" <td>20</td>\n",
" </tr>\n",
" <tr>\n",
" <th>127</th>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>46</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>5</td>\n",
" <td>0</td>\n",
" <td>14</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>15</td>\n",
" <td>0</td>\n",
" <td>37</td>\n",
" </tr>\n",
" <tr>\n",
" <th>89</th>\n",
" <td>42</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>65</th>\n",
" <td>33</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>80</th>\n",
" <td>14</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>140</th>\n",
" <td>34</td>\n",
" <td>1</td>\n",
" <td>9</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>124 rows × 3 columns</p>\n",
"</div>"
],
"text/plain": [
" Age Gender Time\n",
"20 16 1 23\n",
"51 33 1 9\n",
"62 17 1 20\n",
"127 2 0 46\n",
"2 5 0 14\n",
".. ... ... ...\n",
"26 15 0 37\n",
"89 42 0 2\n",
"65 33 1 8\n",
"80 14 1 8\n",
"140 34 1 9\n",
"\n",
"[124 rows x 3 columns]"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X_train"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "3979a00d",
"metadata": {},
"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>Age</th>\n",
" <th>Gender</th>\n",
" <th>Time</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>116</th>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>29</td>\n",
" </tr>\n",
" <tr>\n",
" <th>143</th>\n",
" <td>22</td>\n",
" <td>0</td>\n",
" <td>17</td>\n",
" </tr>\n",
" <tr>\n",
" <th>68</th>\n",
" <td>14</td>\n",
" <td>0</td>\n",
" <td>38</td>\n",
" </tr>\n",
" <tr>\n",
" <th>67</th>\n",
" <td>20</td>\n",
" <td>1</td>\n",
" <td>26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>154</th>\n",
" <td>34</td>\n",
" <td>0</td>\n",
" <td>8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>113</th>\n",
" <td>40</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>11</td>\n",
" <td>1</td>\n",
" <td>11</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>21</td>\n",
" <td>0</td>\n",
" <td>12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>120</th>\n",
" <td>16</td>\n",
" <td>1</td>\n",
" <td>14</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>9</td>\n",
" <td>1</td>\n",
" <td>13</td>\n",
" </tr>\n",
" <tr>\n",
" <th>133</th>\n",
" <td>10</td>\n",
" <td>1</td>\n",
" <td>19</td>\n",
" </tr>\n",
" <tr>\n",
" <th>71</th>\n",
" <td>10</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>118</th>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>24</td>\n",
" </tr>\n",
" <tr>\n",
" <th>103</th>\n",
" <td>7</td>\n",
" <td>0</td>\n",
" <td>12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>38</th>\n",
" <td>8</td>\n",
" <td>0</td>\n",
" <td>15</td>\n",
" </tr>\n",
" <tr>\n",
" <th>49</th>\n",
" <td>7</td>\n",
" <td>1</td>\n",
" <td>16</td>\n",
" </tr>\n",
" <tr>\n",
" <th>152</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>35</td>\n",
" </tr>\n",
" <tr>\n",
" <th>146</th>\n",
" <td>43</td>\n",
" <td>0</td>\n",
" <td>9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>41</td>\n",
" <td>0</td>\n",
" <td>17</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>12</td>\n",
" <td>1</td>\n",
" <td>16</td>\n",
" </tr>\n",
" <tr>\n",
" <th>96</th>\n",
" <td>23</td>\n",
" <td>0</td>\n",
" <td>15</td>\n",
" </tr>\n",
" <tr>\n",
" <th>107</th>\n",
" <td>24</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>39</th>\n",
" <td>10</td>\n",
" <td>0</td>\n",
" <td>47</td>\n",
" </tr>\n",
" <tr>\n",
" <th>148</th>\n",
" <td>11</td>\n",
" <td>1</td>\n",
" <td>24</td>\n",
" </tr>\n",
" <tr>\n",
" <th>126</th>\n",
" <td>38</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>136</th>\n",
" <td>31</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>128</th>\n",
" <td>5</td>\n",
" <td>0</td>\n",
" <td>21</td>\n",
" </tr>\n",
" <tr>\n",
" <th>41</th>\n",
" <td>16</td>\n",
" <td>1</td>\n",
" <td>9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>37</th>\n",
" <td>8</td>\n",
" <td>0</td>\n",
" <td>15</td>\n",
" </tr>\n",
" <tr>\n",
" <th>56</th>\n",
" <td>21</td>\n",
" <td>1</td>\n",
" <td>22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>134</th>\n",
" <td>23</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Age Gender Time\n",
"116 6 1 29\n",
"143 22 0 17\n",
"68 14 0 38\n",
"67 20 1 26\n",
"154 34 0 8\n",
"113 40 0 3\n",
"23 11 1 11\n",
"9 21 0 12\n",
"120 16 1 14\n",
"22 9 1 13\n",
"133 10 1 19\n",
"71 10 1 2\n",
"118 6 1 24\n",
"103 7 0 12\n",
"38 8 0 15\n",
"49 7 1 16\n",
"152 1 0 35\n",
"146 43 0 9\n",
"30 41 0 17\n",
"6 12 1 16\n",
"96 23 0 15\n",
"107 24 0 3\n",
"39 10 0 47\n",
"148 11 1 24\n",
"126 38 1 6\n",
"136 31 1 8\n",
"128 5 0 21\n",
"41 16 1 9\n",
"37 8 0 15\n",
"56 21 1 22\n",
"134 23 1 8"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X_test"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "c1a60e76",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"20 1\n",
"51 1\n",
"62 1\n",
"127 0\n",
"2 1\n",
" ..\n",
"26 1\n",
"89 1\n",
"65 1\n",
"80 1\n",
"140 1\n",
"Name: Positivity, Length: 124, dtype: int64"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Y_train"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "90199cc3",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"116 0\n",
"143 0\n",
"68 0\n",
"67 1\n",
"154 1\n",
"113 1\n",
"23 1\n",
"9 1\n",
"120 1\n",
"22 0\n",
"133 0\n",
"71 0\n",
"118 0\n",
"103 1\n",
"38 0\n",
"49 1\n",
"152 1\n",
"146 1\n",
"30 1\n",
"6 0\n",
"96 1\n",
"107 1\n",
"39 1\n",
"148 1\n",
"126 1\n",
"136 1\n",
"128 0\n",
"41 1\n",
"37 0\n",
"56 1\n",
"134 1\n",
"Name: Positivity, dtype: int64"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Y_test"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "89af21b6",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(124, 3)"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X_train.shape"
]
},
{
"cell_type": "code",
"execution_count": 28,
"id": "8d018ac0",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(124,)"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Y_train.shape"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "915b4485",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(31, 3)"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X_test.shape"
]
},
{
"cell_type": "code",
"execution_count": 30,
"id": "03088479",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(31,)"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Y_test.shape"
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "5c6d11b4",
"metadata": {},
"outputs": [],
"source": [
"from sklearn.ensemble import RandomForestClassifier"
]
},
{
"cell_type": "code",
"execution_count": 32,
"id": "e5348084",
"metadata": {},
"outputs": [],
"source": [
"randomforestclassifier = RandomForestClassifier(n_estimators=100)"
]
},
{
"cell_type": "code",
"execution_count": 33,
"id": "3bd114d1",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"RandomForestClassifier()"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"randomforestclassifier.fit(X_train,Y_train)"
]
},
{
"cell_type": "code",
"execution_count": 34,
"id": "dbee1d71",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"RandomForestClassifier()"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"randomforestclassifier.fit(X_train,Y_train)"
]
},
{
"cell_type": "code",
"execution_count": 35,
"id": "9efae75d",
"metadata": {},
"outputs": [],
"source": [
"prediction_y = randomforestclassifier.predict(X_test)"
]
},
{
"cell_type": "code",
"execution_count": 36,
"id": "4f592694",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,\n",
" 0, 1, 1, 1, 1, 1, 0, 1, 1], dtype=int64)"
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"prediction_y"
]
},
{
"cell_type": "code",
"execution_count": 37,
"id": "fc2e5108",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Accuracy score is: 0.7419354838709677\n"
]
}
],
"source": [
"experiment_accuracy = sm.accuracy_score(Y_test, prediction_y)\n",
"print('Accuracy score is: ' , str(experiment_accuracy))"
]
},
{
"cell_type": "code",
"execution_count": 38,
"id": "baca14d3",
"metadata": {},
"outputs": [],
"source": [
"from sklearn import metrics"
]
},
{
"cell_type": "code",
"execution_count": 39,
"id": "e7e41e42",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Classification report: precision recall f1-score support\n",
"\n",
" Covid danger 0.64 0.64 0.64 11\n",
"not Covid danger 0.80 0.80 0.80 20\n",
"\n",
" accuracy 0.74 31\n",
" macro avg 0.72 0.72 0.72 31\n",
" weighted avg 0.74 0.74 0.74 31\n",
"\n"
]
}
],
"source": [
"print(\"Classification report: \" , metrics.classification_report(prediction_y,Y_test,target_names=[\"Covid danger\", \"not Covid danger\"]))"
]
},
{
"cell_type": "code",
"execution_count": 40,
"id": "b4381ed6",
"metadata": {},
"outputs": [],
"source": [
"from sklearn.metrics import confusion_matrix"
]
},
{
"cell_type": "code",
"execution_count": 41,
"id": "89aca29f",
"metadata": {},
"outputs": [],
"source": [
"import seaborn as sb"
]
},
{
"cell_type": "code",
"execution_count": 42,
"id": "2e1efd5d",
"metadata": {},
"outputs": [],
"source": [
"sb.set()"
]
},
{
"cell_type": "code",
"execution_count": 43,
"id": "2e8f7bff",
"metadata": {},
"outputs": [],
"source": [
"get_ipython().run_line_magic('matplotlib','inline')"
]
},
{
"cell_type": "code",
"execution_count": 44,
"id": "a297a2b9",
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as pt"
]
},
{
"cell_type": "code",
"execution_count": 45,
"id": "a797bdf7",
"metadata": {},
"outputs": [],
"source": [
"confusionmt = confusion_matrix(Y_test,prediction_y)"
]
},
{
"cell_type": "code",
"execution_count": 46,
"id": "921b0485",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(89.18, 0.5, 'predicted class axis')"
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAQkAAAEJCAYAAACHaNJkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAQt0lEQVR4nO3dffhnc53H8ecwIyRqNbuMkkjvEgaRMJUxyKKlMau2cjOF1TTSlaSSNlrbTu0KrawJyV0lpRUKIXdNwlZG6n1t4nIzmtxkKzfLzPz2j/Od6Wea3+d3hjm/c36+z8d1ub7fc743522u+b7mcz6fz/mcMQMDA0jSUFZquwBJ3WZISCoyJCQVGRKSigwJSUWGhKSisW0XUMd7N5jmOO0ocva8OW2XoOW04Kn7xwz1mi0JSUWGhKQiQ0JSkSEhqciQkFRkSEgqMiQkFRkSkooMCUlFhoSkIkNCUpEhIanIkJBUZEhIKjIkJBUZEpKKDAlJRYaEpCJDQlKRISGpyJCQVGRISCoyJCQVGRKSigwJSUWGhKQiQ0JSkSEhqciQkFRkSEgqMiQkFRkSkooMCUlFhoSkIkNCUpEhIanIkJBUZEhIKjIkJBUZEpKKDAlJRYaEpCJDQlKRISGpyJCQVGRISCoyJCQVGRKSigwJSUVj2y6gH+0wbUd2mDYZgHEvGMf6m2zAh7Y5iCf+8HjLlalk/Pi1+cmPv89uu7+TzDvbLmfEGBItuPHCH3LjhT8E4D3HHcQNF1xtQHTc2LFjOfVLs3jiySfbLmXENRYSEfEaYBrwMmARMA/4fmbe0tQxR5sNNtuICa9+Oed+6vS2S9EwPjfrGGbPPoejPjqz7VJGXCN9EhExA/h6b/Nm4L97z78cEUc0cczRaI8PTOXiky5ouwwNY//99uWhhx7hiiuvbbuUVjTVkjgc2DIzn9GGjogTqALj3xs67qix2pqrs+5GE/jVnF+0XYqGMf3AdzAwMMCUnSYxceLrOOvMk9h76nTmz3+w7dJGRFMhsQAYt4z9qwFPN3TMUSXesAl33DC37TJUw+Qp+yx5ftWV32TGzI/1TUBAcyFxPPDTiLgKeAAYACYAOwFHN3TMUWWdDSfw4L3z2y5DGtaYgYGB2m+OiFWAdTLznhrvnQDsTBUOKwH3AT/IzHnLW+R7N5hWv0i17ux5c9ouQctpwVP3jxnqtWFbEhHxdqoWwCeAucBaEfHpzDyp9LleGJy9nLVK6pg6oxsfB2YD+wBzgPWB/ZosSlJ31AmJMZk5l+rU4XuZ+cean5P0PFDnx74oIvYF3gpcERG7U02OktQH6oTEEcAhwNGZ+Vuq0YnDG61KUmcM23GZmTdQnWos3t6h0YokdcqQIRERF2TmvhExl2qewzNk5uaNViapE0otiVm9x/67okXSEkOGRGbe2nv68sw8d/H+iFiZakZlf17tIvWZOtOyPxERO1B1Vk4AvgH0z8R1qc/VGd3YhupirVuB64EvZ+aejVYlqTPqhMQA8H/A6r33O0dC6iN1QuI2YE1gIvAW4NCIuLjRqiR1Rp0+ieMyc/GFWr/u9U8c32BNkjqkzmSqsyPir4AXAmOAlYErmy5MUjfUuVT8OKorQaFacWoV4A5gswbrktQRdfok9qe6PPxCYGPgQMCFGaU+USckfpeZDwC/BCZm5jnYipD6Rp2QeDoiNgISeFNEjAVWbbYsSV1RJyQ+S7Uy1SXAVOBe4Oomi5LUHXVGNy6hCggiYguqfonbmi1LUlcs15L6vZvt/LyhWiR1kGtVSioyJCQV1QqJiNiw97hHRBwTEWs1W5akrhg2JCLiNOCoiHgt8GVgQ+DMpguT1A11WhKvB94PvB34amZOB17RaFWSOqNOSKyUmYuAXfjz/IjVmytJUpfUCYlfR8RlVKcZ10bEeThPQuobdUJiOnA+8JbMfIpqCbv3NlqVpM4YNiQy8zHgR5l5d0TsAYynWvNSUh9wdENSkaMbkooc3ZBUtLyjGz90dEPqL8s7uvE01ejG9EarktQZdUc3LgMWRsT6wOXApKYLk9QNrpYtqcjVsiUVuVq2pCJXy5ZUtLyrZe9DtVr2NU0WJak7lne17InAxpnpYrhSnxgyJCLi5MJrZOYHmylJUpeUWhIPj1gVkjpryJDIzGMBImIcsG9mnhcR6wDvBIZsZUh6fqnTcXkKsGfv+SLgTcCJTRUkqVvqhMT2mfkPAJn5O+DvgcmNViWpM+qExLiIWGXQ9nLdGlDS6FbnB38pcHlEnAMMAO/q7ZPUB+qExJHAB4C9qC7w+jZwWpNFLe3seXNG8nB6jp6Yd33bJWgFGjMwMNB2DcMau8p63S9SSxgSo8+4l244ZqjXvGGwpCJDQlKRISGpqHTtxqdKH8zM41Z8OZK6pjS6Mb73+BoggIuoRjf2wtWypb5RunbjMICIuBrYKjMf6m3/M/BfI1OepLbV6ZNYd3FA9DwK/HUz5UjqmjqTqW6LiK8AZwNjgPcBNzValaTOqNOSOIiq9XAS1dWf9wGHNleSpC6pNeMyIlajWk7/dmDVzHy86cIGc8bl6OKMy9HnOc24jIg3AndSrXM5Abg3IrZfceVJ6rI6pxufB3YGHs7M+4D9qE49JPWBOiGxembesXgjMy/DNSWkvlH35jwvoVpLgoiIZkuS1CV1WgTHA9cC60TE14BdgUMarUpSZ9Qd3XgVsAuwMnBVZv6y6cIGc3RjdHF0Y/QpjW4M25KIiDMy833ArwftuzAzp62g+iR1WOkq0FOB9ahuEjx+0EvjgA2bLkxSN5RaEmcAmwITgW8N2r8A+HGTRUnqjiFHNzLzlsw8C9gBuCszvwp8F3gsM+8cofoktazOEOj7gWN7z1cHPhYRn2yuJEldUick9qIa9qQ34/ItVPcDldQHat3BKzOfHrT9FNU9QSX1gTqTqW6MiPOoOjIHgANwPQmpb9RpSRwGzAe+APxb7/nhTRYlqTu8g5dWOGdcjj7PasZlRFyQmftGxFx6F3cNlpmbr6D6JHVYqU9iVu9x5kgUIqmbSiHxYESsD9w1UsVI6p5SSPyC6jRjJWA14I/AQuDFwO+AdZsuTlL7StOyX5SZawLnAe/OzBdn5trA24HvjVSBktpVZwh068z8+uKNzLwY2KKxiiR1Sp2QWCkidly8ERG74YxLqW/UmXH5QeCCiHiK6g5eY4C9myxKUnfUXb5uHLBZb/O2zFzQaFVLcTLV6OJkqtHnud6cZw2qKdmfB+4GTuntk9QH6vRJnAz8L/A3wJPAmsDsJouS1B11QmLLzDwaeLp3D9B34+iG1DfqhMTCpbZXxtENqW/UCYnrImIWsFpEvBX4NnBNs2VJ6oo6IXEU8CeqfonjgduAI5ssSlJ31JkncVxmfhz4TNPFSOqeOi2JPRuvQlJn1WlJ/CYirgBuoDrtACAzT2isKkmdUSckHuk9vnLQPmdASn2i9hqXEfESYGFm/qHZkv6S07JHF6dljz7PdVp2RMTNVAvNPBwR1/ZWrJLUB+p0XJ4FnE51i781gAup7sEhqQ/U6ZNYPTNPG7T9xYg4uKmCJHVLnZbEryJi+8UbEbEpLo77nI0fvzZ33XkzERu1XYoKbvvFrzhw5kcBePj3j3LYUcdywIwjec+hR3DPffNarm5k1GlJvAK4NiJ+DiwAtgR+GxG3gfffeDbGjh3LqV+axRNPPtl2KSo487xv8t3vX81qq74AgBNOOYM9dp3MblPezE9u/Tl33XMf679sQstVNq/utOydgSN6z3cF9qe6/d9hzZX2/PW5Wccwe/Y5PDDvt22XooKXT1iXE//lk0u2fzr3DuY/+BAHHf5xLrniGrbZsj/+fRy2JZGZ1y7vlw43+pGZ9yzvdz5f7L/fvjz00CNcceW1HPVR73vUZbtMnsT9D8xfsj3vgfms+aI1OP2kz3Lqmedx5rkXMPPg/VuscGTUOd14Ni4FNgbmUa2JOdgAsGFDx+286Qe+g4GBAabsNImJE1/HWWeexN5TpzN//oNtl6ZhrLXWmkye9EYAdpy0LSef9tWWKxoZTYXEDsD1wIzMvLGhY4xKk6fss+T5VVd+kxkzP2ZAjBJbbb4J1825mb/bbQq3/Ox2NnrlK9ouaUTU6ZNYbr1ZmQcDBzTx/VIbjjzsYC7+3lW8+x8/zI033crB+7+j7ZJGRO1p2W1yWvbo4rTs0ec5TcuW1N8MCUlFhoSkIkNCUpEhIanIkJBUZEhIKjIkJBUZEpKKDAlJRYaEpCJDQlKRISGpyJCQVGRISCoyJCQVGRKSigwJSUWGhKQiQ0JSkSEhqciQkFRkSEgqMiQkFRkSkooMCUlFhoSkIkNCUpEhIanIkJBUZEhIKjIkJBUZEpKKDAlJRYaEpCJDQlKRISGpyJCQVGRISCoyJCQVGRKSigwJSUWGhKQiQ0JSkSEhqciQkFRkSEgqMiQkFRkSkooMCUlFYwYGBtquQVKH2ZKQVGRISCoyJCQVGRKSigwJSUWGhKQiQ0JSkSEhqciQkFQ0tu0C+lVEvAv4JDAOODEzT2m5JA0jItYEfgTsmZl3t1zOiLEl0YKIWA84HpgEbAEcEhGbtFqUiiJiW+AG4NVt1zLSDIl27AxcnZmPZOZjwIXAtJZrUtnBwAeAeW0XMtI83WjHBOCBQdsPAG9oqRbVkJkHAURE26WMOFsS7VgJGHz57RhgUUu1SEWGRDvuA9YdtL0OfdiM1ejg6UY7fgB8OiLGA48B+wCHtFuStGy2JFqQmfcDRwPXAD8Dzs/Mn7RalDQEV6aSVGRLQlKRISGpyJCQVGRISCoyJCQVGRKjXERcEREvbeG4A20ctyQiTo+Induu4/nGyVSj3y5tF9AVi6+v0IrlPIlRLCK+AhwI3A7sDlwP3ARsDnwC+AIwLTNv6b3/7sXbEbE9MAt4IbAQODYzL1nGMbYFTu697yngI5l5dUQMAOOBJ4BTgY2BtYE/Au/KzIyIqVRrZizqHePIzLxuqP1LHfeFy/pe4B7gFuCUzPxSRLwP+BCwLXAZ8B/Ad4AvAjsATwO/AaZn5p+W+w9Znm6MZpk5vfd0cmbe23t+e2a+NjMvGupzEfES4CvAfpm5FbAXcGpErL/U+8ZR/eCOy8xNqS6XPikiBv+9+Vvg0czcLjNfDdwMzOy99nlgRmZuDRwD7DjM/sGW+b2Z+QTwTuC4iNidal2OaZn5+KDPbtf7zomZ+XqqkNh8qD8PlXm68fxzfY33bEd1gdl3Bl36PED1Q7pn0Ps2AxZm5qUAmXlrb9+SS6Yz88KI+E1EHAa8iurHOaf3+a8DF0XEpcCVwOeG2b9E6Xszc25EHAtcAhyQmbnUx+dStVBuiojLgW857f3ZsyXx/DO4ST1AdRn6Yqv0HlcGfpmZWyz+D3gjcPlS37WAZ17STkRsGhFjB22/HzgDeBw4H/ja4mNm5tFUq2/dQnVadF1p/1LHGfJ7e14HzO/V/QyZ+SgwEfgIVVh8IyJmLP0+1WNIjH4LqdbJXJYHga0BImJH/nx5+o+BjSPizb3XtgD+B1hvqc8nMBARu/TetxVwNc/8e/NW4KzMPKP3/rcBK0fE2F4fyOqZ+Z/ADGDziHjBUPuXOvYyv7dXx1RgJ6qWz64RsffgD0bEnsBVwI8y89PA2cA2Q/wZaRh2XI5yEfE14PXAVKrm9+COyslUnX9PArdS/et6aK/jcjLwr8CqVD/6f8rMby/j+7cGTgTWoOq4/HBm3jCo4/I1wGyqVscYqlOCzTJzu96P9zNUnYeLgBMy8/yh9i913EnL+l5g397/y9sy86ZeB+x3gK2Ac6k6Li+i6mydQtWy+j1wcD8tXrsiGRKSijzdkFRkSEgqMiQkFRkSkooMCUlFhoSkIkNCUpEhIano/wGuI5Tmorcb4QAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"sb.heatmap(confusionmt.T, square=True, annot=True,fmt='d', cbar=False)\n",
"pt.xlabel('true class axis')\n",
"pt.ylabel('predicted class axis')"
]
},
{
"cell_type": "code",
"execution_count": 47,
"id": "6aeb3e95",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'predicted class axis')"
]
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAENCAYAAAD+CUlOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAXrElEQVR4nO3de5RlZXnn8W9VdxNpGgzTUyPdKIoJPImDdIMIkUvEAHEGcIhyWQ6GRCKwVMBkvCwvEBWURGOW4oUwKIyI2iYsIo5iK4ZpwiWES5NAI+IzopBwabSnwRloUaCr5o+9i3O60l3vrmr3qd1V389arKr37Mt5+l2H86u9373fPTQ2NoYkSZMZnukCJEndZ1hIkooMC0lSkWEhSSoyLCRJRYaFJKlofps7j4idgJuAozPz/gnLlgMXAzsB1wNvzsxn2qxHkjQ9rR1ZRMQBwI3AnltY5UvAGZm5JzAEnNpWLZKkrdPmaahTgdOBhycuiIgXAttn5s31S5cCx7dYiyRpK7R2GiozTwGIiM0tXgqs7WuvBZ4/hd3/CvDyeruN0yxRkuaaecAS4DbgF1PZsNUxi0kMA/3zjAwBo1PY/uXADb/UiiRp7jiEapigsZkKiwep0m3cLmzmdNUk1gI89tgGRked22rx4kWsX//ETJfRCfZFj33RY19UhoeH2HnnHWDTMzuNzEhYZOa/RMTPI+KgzPwH4CTgW1PYxUaA0dExw6JmP/TYFz32RY99sYkpn74f6H0WEbEyIvarm28APhER3wcWAZ8aZC2SpOZaP7LIzBf1/X5k3+93Avu3/f6SpK3nHdySpCLDQpJUZFhIkooMC0lSkWEhSSoyLCRJRYaFJKnIsJAkFRkWkqQiw0KSVGRYSJKKDAtJUpFhIUkqMiwkSUWGhSSpyLCQJBUZFpKkIsNCklRkWEiSigwLSVKRYSFJKjIsJElFhoUkqciwkCQVGRaSpCLDQpJUZFhIkooMC0lSkWEhSSoyLCRJRYaFJKnIsJAkFRkWkqQiw0KSVGRYSJKK5re584g4ETgbWACcn5kXTFi+L3ARsB3wAPD7mfnTNmuSJE1da0cWEbErcB5wMLAcOC0iXjJhtU8C78/MZUAC72yrHknS9LV5GupwYFVmPpqZG4ArgOMmrDMP2Kn+fSHwZIv1SJKmqc3TUEuBtX3ttcD+E9Z5O/CdiDgf2AAcMJU3WLx40dbUN6uMjOw40yV0hn3RY1/02Bdbp82wGAbG+tpDwOh4IyK2By4BDs/MWyPi7cBlwFFN32D9+icYHR0rrzjLjYzsyLp1j890GZ1gX/TYFz32RWV4eGjaf2S3eRrqQWBJX3sX4OG+9l7Ak5l5a92+CDi0xXokSdPUZlhcAxwWESMRsRA4Fvh23/J7gRdERNTtY4DbWqxHkjRNrYVFZj4EnAVcC9wBrKhPN62MiP0y8zHgjcDlEbEG+CPg5LbqkSRN39DY2DZ5zv9FwH2OWVQ8H9tjX/TYFz32RaVvzGJ34P4pbdtGQZKk2cWwkCQVGRaSpCLDQpJUZFhIkooMC0lSkWEhSSoyLCRJRVMKi4jYLiJ2a6sYSVI3FcMiIl4bEZ+OiB2B/w3cGRF/3H5pkqSuaHJk8V7gs1QTAf4jsBtwUptFSZK6pUlYDGXmXVRPvvtWZj7ecDtJ0izR5Et/NCJOAF5N9VS7I+l7iJEkafZrEhbvAE4DzsrMR6imHXfMQpLmkOJjVTPzRqpTUOPtg1qtSJLUOVsMi4i4PDNPiIi72PRZ2gBk5t6tViZJ6ozJjiw+Wv88YxCFSJK6a4thkZm317++IDO/NP56RMwDzgOua7k2SVJHFMcsgPdFxEFUg9pLgb8B1rValSSpU5pcDfVyYAFwO3AD8LnMPLrVqiRJndIkLMaAXwAL6/W9x0KS5pgmYbEG2AlYBrwSeHNEfL3VqiRJndJkzOLczLys/v3eevzivBZrkiR1TJOb8i6LiH8H7AAMAfOAv2u7MElSdxTDIiLOpZp5FuAZYDvge8BLW6xLktQhTcYs/oBqWvIrgD2ANwJ3t1iTJKljmoTFTzJzLXAPsCwzv4hHFZI0pzQJi6cj4teABA6JiPnAc9otS5LUJU3C4s+pnpR3FfA64AFgVZtFSZK6pcnVUFdRBQURsZxq3GJNu2VJkrqkyX0Wz8rMnwF3tlSLJKmjfJa2JKnIsJAkFTUKi4h4cf3zqIj404h4brtlSZK6pMkd3BfVP88HPgdcDfwP4NgG254InE01xfn5mXnBhOUBXATsDDwCvD4zH5vaP0GS1LYmRxYvA94CvBb4QmaeDLywtFFE7Eo14eDBwHLgtIh4Sd/yIeDrwEcycxnwz8B7pvoPkCS1r0lYDGfmKHAEvfsrFjbY7nBgVWY+mpkbqKYLOa5v+b7Ahsz8dt3+M+ACJEmd0+TS2XsjYiXwYuC6iPgyze6zWAqs7WuvBfbva/868EhEXALsQzWdyJmNqpYkDVSTsDiZ6hTUjZn5VETcAFxW2Aaqo5axvvYQmz5lbz5wKPDbmbk6Ij4EfJxqosJGFi9e1HTVWW9kZMeZLqEz7Ise+6LHvtg6Te7g3hARN2Xm/RFxFDBCNWBd8iBwSF97F+DhvvYjwA8yc3Xd/grVqarG1q9/gtHRsfKKs9zIyI6sW/f4TJfRCfZFj33RY19UhoeHpv1HdnHMor4a6t0R8ZtUV0O9mOpqqJJrgMMiYiQiFlJdPfXtvuU3ASMRsaxuvwa4fSrFS5IGo7WroTLzIeAs4FrgDmBFZt4aESsjYr/MfLLe5+ci4m7gd4B3TO+fIUlqU5Mxi+HMHI2II6iuWIJmV0ORmSuAFRNeO7Lv91vYdNBbktRBTY4s+q+G+vspXA0lSZolmoTFyVRHB6/MzKeBG+rXJElzRDEs6hvqVgIbI2I3quk+Dm67MElSdzSZG+pc4L118xlgO+B7+BxuSZozmpyG+gNgN6p7IPagumnu7hZrkiR1TJOw+ElmrqWajmNZZn4RjyokaU5pEhZPR8SvAQkcEhHzgee0W5YkqUuahMWfA58FrqK6C/sBqhvtJElzRJO5oa6iCgrqqTn2yMw72y5MktQdWwyLiPjUJMvIzLe1U5IkqWsmO7JYP7AqJEmdtsWwyMxzACJiAXBCZn45InYBXg9s8ahDkjT7NBngvgA4uv59lOoZFee3VZAkqXuahMWBmflfATLzJ8DxwKtarUqS1ClNwmJBRGzX124yrbkkaRZp8sX/TeDqiPgi1TO1T6xfkyTNEU3C4l3A6cAxVBMJfhW4qM2iJEnd0uSmvI1UVz95BZQkzVFNxiwkSXOcYSFJKjIsJElFk80N9f7JNszMc3/55UiSumiyAe6R+udvAAFcSXU11DHAmpbrkiR1yGRzQ50JEBGrgH0z8//U7Q8D/3Mw5UmSuqDJmMWS8aCo/RT4D+2UI0nqoiY35a2JiM8DlwFDwJuAW1qtSpLUKU2OLE6hOpr4JNVssw8Cb26vJElS1zS5g/vxiHgfsAfwXeA5mflk65VJkjqjeGQREb8F/JDqOdxLgQci4sC2C5MkdUeT01AfAw4H1mfmg8BJVKekJElzRJOwWJiZ3xtvZOZKfKaFJM0pTcLi6YjYmepZFkREtFuSJKlrmhwhnAdcB+wSEV8Bfhc4rdWqJEmd0uRqqG9ExD3AEcA84NzMvKf1yiRJnVEMi4i4JDPfBNzb99oVmXlcq5VJkjpjsllnLwR2BQ6JiJG+RQuAFzfZeUScCJxdb3N+Zl6whfWOAj6Tmbs3LVySNDiTHVlcAuwFLAP+tu/1Z4CbSzuOiF2pxjteBvwCuCkiru2/sqpe73nAX1JNJSJJ6qAtXg2Vmasz81LgIOC+zPwC8A1gQ2b+sMG+DwdWZeajmbkBuALY3Kmri4Fzply5JGlgmlwN9RbgQOBVwELgPRGxV2Z+uLDdUmBtX3stsH//ChHxNuCfaHCksjmLFy+azmaz0sjIjjNdQmfYFz32RY99sXWahMUxwD4AmflgRLwSuB0ohcUw9b0ZtSFgdLwREXsBxwKHAc+fQs3PWr/+CUZHx8orznIjIzuybt3jM11GJ9gXPfZFj31RGR4emvYf2U1uyluQmU/3tZ+i70t/Eg8CS/rauwAP97WPr5evBlYCSyPihgb7lSQNWJMji3+IiC9TDXiPAX9Is+dZXAN8sL6SagPVUcSzN/Nl5geADwBExIuAv8/MQ6ZUvSRpIJocWZwJ/Bj4BNVVSz8G/ri0UWY+BJwFXAvcAazIzFsjYmVE7DftiiVJAzc0NrZNnvN/EXCfYxYVz8f22Bc99kWPfVHpG7PYHbh/KttOdlPe5Zl5QkTcxaYD1QBk5t5TrFOStI2abMzio/XPMwZRiCSpuyYLi3URsRtw36CKkSR102RhcTfV6adhYHvgcWAj8KvAT9j0slhJ0iw22XQfO2bmTsCXgTdk5q9m5mLgtcC3BlWgJGnmNbl0dr/M/OvxRmZ+HVjeWkWSpM5pEhbDEXHoeCMi/hPN7uCWJM0STe7gfhtweUQ8RTW/0xDwe20WJUnqliaPVb2hvirqpfVLazLzmXbLkiR1SfE0VEQsoprq42NUd/xdUL8mSZojmoxZfAr4v8DzgJ8DOwGfbbMoSVK3NAmLfTLzLODpzPwZ8Aa8GkqS5pQmYbFxQnseXg0lSXNKk7C4PiI+CmwfEa8Gvko17bgkaY5oEhbvBp6gGrc4D1gDvKvNoiRJ3dLkPotzM/O9wIfaLkaS1E1NjiyObr0KSVKnNTmy+FFEfAe4kep0FACZ+fHWqpIkdUqTsHi0/rl732s+y1SS5pAm032cDBAROwMbM/P/tV6VJKlTmkz3ERFxG9UDj9ZHxHX1XFGSpDmiyQD3pcDFwEJgEXAFcEmLNUmSOqbJmMXCzLyor/3piDi1rYIkSd3T5Mji+xFx4HgjIvYC7muvJElS1zQ5snghcF1E3Ak8A+wDPBIRawAyc+8W65MkdUCTsHh361VIkjqtyaWz1w2iEElSdzUZs5AkzXGGhSSpyLCQJBUZFpKkIsNCklRkWEiSigwLSVJRk5vypi0iTgTOBhYA52fmBROWHwOcAwxRTSFycmY+1mZNkqSpa+3IIiJ2Bc4DDgaWA6dFxEv6lu8EXAgclZnLgDXAB9uqR5I0fW2ehjocWJWZj2bmBqqpzY/rW74AOD0zH6rbawCfkyFJHdTmaailwNq+9lpg//FGZq4HrgSIiO2B9wCfbrEeSdI0tRkWw2z6rO4hYHTiShHxXKrQuDMzvzCVN1i8eNFWFTibjIzsONMldIZ90WNf9NgXW6fNsHgQOKSvvQvwcP8KEbEEuBpYBfy3qb7B+vVPMDo6Vl5xlhsZ2ZF16x6f6TI6wb7osS967IvK8PDQtP/IbjMsrgE+GBEjwAbgWOC08YURMQ/4BnB5Zn64xTokSVuptbDIzIci4izgWmA74OLMvDUiVgLvB14A7AvMj4jxge/VmXlKWzVJkqan1fssMnMFsGLCa0fWv67GmwIlaZvgl7UkqciwkCQVGRaSpCLDQpJUZFhIkooMC0lSkWEhSSoyLCRJRYaFJKnIsJAkFRkWkqQiw0KSVGRYSJKKDAtJUpFhIUkqMiwkSUWGhSSpyLCQJBUZFpKkIsNCklRkWEiSigwLSVKRYSFJKjIsJElFhoUkqciwkCQVGRaSpCLDQpJUZFhIkooMC0lSkWEhSSoyLCRJRYaFJKnIsJAkFRkWkqSi+W3uPCJOBM4GFgDnZ+YFE5YvBy4GdgKuB96cmc+0WZMkaepaO7KIiF2B84CDgeXAaRHxkgmrfQk4IzP3BIaAU9uqR5I0fW0eWRwOrMrMRwEi4grgOODcuv1CYPvMvLle/1LgHODCBvueBzA8PPRLLnnbZV/02Bc99kWPfbFJH8yb6rZthsVSYG1fey2wf2H58xvuewnAzjvvsDX1zSqLFy+a6RI6w77osS967ItNLAF+OJUN2gyLYWCsrz0EjE5h+WRuAw6hCpiNW1GjJM0l86iC4rapbthmWDxI9YU+bhfg4QnLl0yyfDK/AG7cquokaW6a0hHFuDYvnb0GOCwiRiJiIXAs8O3xhZn5L8DPI+Kg+qWTgG+1WI8kaZpaC4vMfAg4C7gWuANYkZm3RsTKiNivXu0NwCci4vvAIuBTbdUjSZq+obGxsfJakqQ5zTu4JUlFhoUkqciwkCQVGRaSpKJWJxL8ZXAywp4GfXEM1ZQpQ8B9wMmZ+djACx2AUl/0rXcU8JnM3H2Q9Q1Sg89FABcBOwOPAK+fq5+LiNiXqi+2Ax4Afj8zfzroOgchInYCbgKOzsz7JyxbzhS/Nzt9ZOFkhD2lvqg/GBcCR2XmMmAN8MHBV9q+hp8LIuJ5wF9SfS5mpQafiyHg68BH6s/FPwPvmYFSW9fwc/FJ4P11XyTwzoEWOSARcQDVjct7bmGVKX9vdjos6JuMMDM3AOOTEQJbnIzw+IFXORiT9gXVX1Kn1/e3QBUWuw24xkEp9cW4i6mOtGazUl/sC2zIzPEbYv8M2OxR2CzQ5HMxj+qvaYCFwJMDrG+QTgVOZzOzYkz3e7Prp6HanIxwWzNpX2TmeuBKgIjYnuqvx08PssABKn0uiIi3Af8E3MzsVuqLXwceiYhLgH2Ae4AzB1feQBU/F8Dbge9ExPnABuCAwZQ2WJl5CkB1BvLfmNb3ZtePLNqcjHBb0+jfGhHPBb4J3JmZXxhQbYM2aV9ExF5U08t8aMB1zYTS52I+cChwYWbuC/wI+PjAqhus0udie+AS4PDMXAL8FXDZQCvshml9b3Y9LEqTDW7NZITbmuK/NSKWADdQnYI6ZXClDVypL46vl68GVgJLI+KGwZU3UKW+eAT4QWaurttf4d/+tT1blPpiL+DJzLy1bl9EFaRzzbS+N7seFk5G2DNpX0TEPOAbwOWZ+SeZOZvncSl9Lj6QmXtm5nLgSODhzDxk87va5k3aF1RXw4xExLK6/Rrg9gHXOCilvrgXeEH0zs0cwzSm6t7WTfd7s9Nh4WSEPQ364r9QDWYeFxF31P9dPHMVt6fh52JOKPVFZj4JvBb4XETcDfwO8I4ZK7hFDfriMeCNwOURsQb4I+Dkmap30Lb2e9OJBCVJRZ0+spAkdYNhIUkqMiwkSUWGhSSpyLCQJBUZFtqmRcR3IuLfz8D7js3E+04mIi6OiMNnug7NTl2fG0oqOWKmC+iK8fmApDZ4n4W2WRHxeaqbrL5Ldaf2DcAtwN7A+4BPAMeNT3UREfePtyPiQOCjwA7ARuCczLxqM+9xANUNSzsATwHvzMxVETEGjFDNWnohsAewGHgcODEzMyJeR/VshdH6Pd6Vmddv6fUJ77vD5vYL/CvVNCYXZOZfRcSbgD+hmhBvJfAZ4GtUk0geBDxNNR/UyZn5xJQ7Wap5GkrbrMwcv/v2VZn5QP37dzPzNzPzyi1tFxE7A58HTqon1zsGuDAidpuw3gKqL95zM3MvqmmfPxkR/f/f/Gfgp5n5ivrZALcBZ9TLPga8NTP3A/6U3jxEW3q932b3W9+R/Xrg3Ig4kur5Dcdl5s/6tn1Fvc9lmfkyqrDYe0v9ITXhaSjNNk0mDHwF1URqX+ubwnmM6gv1X/vWeymwMTO/CZCZt9evPTv1c2ZeERE/iogzqaYDPxT4x3r7vwaujIhvAn8H/EXh9WdNtt/MvCsizgGuAv4wM3PC5ndRHbHcEhFXA3/bN3meNC0eWWi26T/VMsamT8nbrv45D7gnM5eP/wf8FnD1hH09w6ZTORMRe0XE/L72W6imvf4ZsIJqVtchgMw8i+qpbaupTpddP9nrE95ni/ut/Ufgx3Xdm6gfE7qM6ilwG4G/iYi3TlxPmgrDQtu6jVRPCdycdcB+ABFxKL1pmW8G9oiI366XLQd+AOw6YfsExiLiiHq9fYFVbPr/zauBSzPzknr91wDzImJ+PUayMDP/O/BWYO+I+JUtvT7hvTe737qO11FNCLg38LsR8Xv9G0bE0cD/Am7KzA9SPbPh5VvoI6kRB7i1TYuIrwAvA15HdVqmf0D7VVSDxD+nmpZ7GdWD6VfXyz4CPIfqy/8DmfnVzex/P+B8qpk5nwLenpk39g1w/wbwWaqjkCGqU0UvzcxX1F/iH6IaZB4FPp6ZK7b0+oT3PXhz+wVOqP8tr8nMW+qB+q9RzTj8JaoB7iupBuUPozrSegw4NTPvn3IHSzXDQpJU5GkoSVKRYSFJKjIsJElFhoUkqciwkCQVGRaSpCLDQpJUZFhIkor+P9flPsoaj4R5AAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"pt.xlabel('true class axis')\n",
"pt.ylabel('predicted class axis')"
]
},
{
"cell_type": "code",
"execution_count": 48,
"id": "89e6b6c0",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"<ipython-input-48-6223ed64eca5>:3: UserWarning: To output multiple subplots, the figure containing the passed axes is being cleared\n",
" breathing_dataset.hist(ax = axis)\n"
]
},
{
"data": {
"text/plain": [
"array([[<AxesSubplot:title={'center':'Age'}>,\n",
" <AxesSubplot:title={'center':'Gender'}>],\n",
" [<AxesSubplot:title={'center':'Positivity'}>,\n",
" <AxesSubplot:title={'center':' Time'}>]], dtype=object)"
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1440x1800 with 4 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"figures = plt.figure(figsize = (20,25))\n",
"axis = figures.gca()\n",
"breathing_dataset.hist(ax = axis)"
]
},
{
"cell_type": "code",
"execution_count": 49,
"id": "94980da4",
"metadata": {},
"outputs": [],
"source": [
"import pickle\n",
"with open('framingham_classifier_randomforestclassifier', 'wb') as picklefile1:\n",
" pickle.dump(randomforestclassifier,picklefile1)"
]
},
{
"cell_type": "code",
"execution_count": 50,
"id": "296183c0",
"metadata": {},
"outputs": [],
"source": [
"with open('framingham_classifier_randomforestclassifier', 'rb') as training_model1:\n",
" model6 = pickle.load(training_model1)"
]
},
{
"cell_type": "code",
"execution_count": 51,
"id": "2b3420e2",
"metadata": {},
"outputs": [],
"source": [
"from sklearn.preprocessing import MinMaxScaler\n",
"scaler = MinMaxScaler(feature_range=(0,1)) \n",
"\n",
"#assign scaler to column:\n",
"breathing_dataset_scaled = pd.DataFrame(scaler.fit_transform(breathing_dataset), columns=breathing_dataset.columns)"
]
},
{
"cell_type": "code",
"execution_count": 59,
"id": "c04f8a06",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Input Patient Information:\n",
"Patient's age: >>> 52\n",
"Patient's gender. male=0, female=1: >>> 1\n",
"Patient's breathing Time: >>> 18\n",
"\n",
"\n",
"Result:\n",
"The patient is in danger.\n"
]
}
],
"source": [
"def start_questionnaire():\n",
" my_predictors = []\n",
" parameters=['Age', 'Gender','Time']\n",
" \n",
" print('Input Patient Information:')\n",
" \n",
" Age = input(\"Patient's age: >>> \") \n",
" my_predictors.append(Age)\n",
" Gender = input(\"Patient's gender. male=0, female=1: >>> \") \n",
" my_predictors.append(Gender)\n",
" Time = input(\"Patient's breathing Time: >>> \") \n",
" my_predictors.append(Time)\n",
" \n",
"\n",
" my_data = dict(zip(parameters, my_predictors))\n",
" my_df = pd.DataFrame(my_data, index=[0])\n",
" scaler = MinMaxScaler(feature_range=(0,1)) \n",
"\n",
" # assign scaler to column:\n",
" my_df_scaled = pd.DataFrame(scaler.fit_transform(my_df), columns=my_df.columns)\n",
" my_y_pred = model6.predict(my_df)\n",
" print('\\n')\n",
" print('Result:')\n",
" if my_y_pred == 1:\n",
" print(\"The patient is in danger.\")\n",
" if my_y_pred == 0:\n",
" print(\"The patient is not in danger.\")\n",
"\n",
"start_questionnaire()"
]
},
{
"cell_type": "code",
"execution_count": 53,
"id": "fd000e4b",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"dtype('O')"
]
},
"execution_count": 53,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"breathing_dataset.dtypes.dtypes"
]
},
{
"cell_type": "code",
"execution_count": 54,
"id": "8a25cd18",
"metadata": {},
"outputs": [],
"source": [
"from sklearn.tree import DecisionTreeClassifier"
]
},
{
"cell_type": "code",
"execution_count": 55,
"id": "39e9b76b",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"DecisionTreeClassifier(max_depth=3, random_state=0)"
]
},
"execution_count": 55,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"clf = DecisionTreeClassifier(criterion='gini', max_depth=3, random_state=0)\n",
"\n",
"clf.fit(X_train, Y_train)"
]
},
{
"cell_type": "code",
"execution_count": 56,
"id": "b1771cd1",
"metadata": {},
"outputs": [],
"source": [
"y_pred_gini = clf.predict(X_test)"
]
},
{
"cell_type": "code",
"execution_count": 57,
"id": "fbe51032",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Model accuracy score with decision tree classifier: 0.6774193548387096\n"
]
}
],
"source": [
"from sklearn.metrics import accuracy_score\n",
"\n",
"print('Model accuracy score with decision tree classifier: ', accuracy_score(Y_test, y_pred_gini))"
]
},
{
"cell_type": "code",
"execution_count": 58,
"id": "be0b08ad",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Model accuracy score with logistic regression classifier: 0.6129032258064516\n"
]
}
],
"source": [
"from sklearn.linear_model import LogisticRegression\n",
"logreg=LogisticRegression()\n",
"logreg.fit(X_train,Y_train)\n",
"y_pred1 =logreg.predict(X_test)\n",
"\n",
"\n",
"from sklearn import metrics\n",
"\n",
"print('Model accuracy score with logistic regression classifier: ', metrics.accuracy_score(Y_test,y_pred1))\n",
"#print(metrics.classification_report(y_test,y_pred)),metrics.confusion_matrix(y_test,y_pred)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "090bf27a",
"metadata": {},
"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.8"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment