程序代写案例-COMP3160-Assignment 1

欢迎使用51辅导,51作业君孵化低价透明的学长辅导平台,服务保持优质,平均费用压低50%以上! 51fudao.top
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# COMP3160: Assignment 1 (Specification Ve
r 2 -- updated: 2021-08-28)\n",
"\n",
"\n",
"For this assignment, you will use the Pima Indians diabetes dataset that comes originally
from the National Institute of Diabetes. It uses real world medical data about female patients
of Pima Indian heritage and contains information about whether these patients had an onset
of diabetes within five years or not. It is a binary classification problem. The data is available
as a single csv file and contains missing values ('0') in some columns. The assignment follows
the workflow of a simple data science project and you will use a K-nearest neighbor classifier
and then compare this classifier with three other classifiers.\n",
"\n",
"The entire assignment is worth 20 marks and consists of 12 tasks. \n",
"\n",
"For each task, marks will be awarded for the output and for the quality of code (the code
does what it should; follows a consistent style, and is easy to understand)."
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np \n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"\n",
"random_state = 42"
]
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {},
"outputs": [],
"source": [
"df = pd.read_csv('pima-indians-diabetes.csv')"
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
"
PregnanciesGlucoseBloodPressureSkinThicknessInsulinBMIDiabetesPedigreeFunctionAgeOutcome
count768.000000768.000000768.000000768.000000768.000000768.000000768.000000768.000000768.000000
mean3.845052120.89453169.10546920.53645879.79947931.9925780.47187633.2408850.348958
std3.36957831.97261819.35580715.952218115.2440027.8841600.33132911.7602320.476951
min0.0000000.0000000.0000000.0000000.0000000.0000000.07800021.0000000.000000
25%1.00000099.00000062.0000000.0000000.00000027.3000000.24375024.0000000.000000
50%3.000000117.00000072.00000023.00000030.50000032.0000000.37250029.0000000.000000
75%6.000000140.25000080.00000032.000000127.25000036.6000000.62625041.0000001.000000
max17.000000199.000000122.00000099.000000846.00000067.1000002.42000081.0000001.000000
\n",
"
"
],
"text/plain": [
" Pregnancies Glucose BloodPressure SkinThickness Insulin
\\\n",
"count 768.000000 768.000000 768.000000 768.000000
768.000000 \n",
"mean 3.845052 120.894531 69.105469 20.536458
79.799479 \n",
"std 3.369578 31.972618 19.355807 15.952218 115.244002
\n",
"min 0.000000 0.000000 0.000000 0.000000 0.000000
\n",
"25% 1.000000 99.000000 62.000000 0.000000 0.000000
\n",
"50% 3.000000 117.000000 72.000000 23.000000
30.500000 \n",
"75% 6.000000 140.250000 80.000000 32.000000
127.250000 \n",
"max 17.000000 199.000000 122.000000 99.000000
846.000000 \n",
"\n",
" BMI DiabetesPedigreeFunction Age Outcome
\n",
"count 768.000000 768.000000 768.000000 768.000000 \n",
"mean 31.992578 0.471876 33.240885 0.348958
\n",
"std 7.884160 0.331329 11.760232 0.476951 \n",
"min 0.000000 0.078000 21.000000 0.000000 \n",
"25% 27.300000 0.243750 24.000000 0.000000 \n",
"50% 32.000000 0.372500 29.000000 0.000000 \n",
"75% 36.600000 0.626250 41.000000 1.000000 \n",
"max 67.100000 2.420000 81.000000 1.000000 "
]
},
"execution_count": 68,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.describe()"
]
},
{
"cell_type": "code",
"execution_count": 69,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
"
PregnanciesGlucoseBloodPressureSkinThicknessInsulinBMIDiabetesPedigreeFunctionAgeOutcome
061487235033.60.627501
11856629026.60.351310
28183640023.30.672321
318966239428.10.167210
40137403516843.12.288331
\n",
"
"
],
"text/plain": [
" Pregnancies Glucose BloodPressure SkinThickness Insulin BMI \\\n",
"0 6 148 72 35 0 33.6
\n",
"1 1 85 66 29 0 26.6
\n",
"2 8 183 64 0 0 23.3
\n",
"3 1 89 66 23 94 28.1
\n",
"4 0 137 40 35 168 43.1
\n",
"\n",
" DiabetesPedigreeFunction Age Outcome \n",
"0 0.627 50 1 \n",
"1 0.351 31 0 \n",
"2 0.672 32 1 \n",
"3 0.167 21 0 \n",
"4 2.288 33 1 "
]
},
"execution_count": 69,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## A. Pre-processing"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Task 1**: Replace all '0' in the data frame apart from those in the Pregnancies and
Outcome columns by NaN, then display the head of the data frame and print out the number
of missing values for each feature. [2 marks]"
]
},
{
"cell_type": "code",
"execution_count": 70,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
"
PregnanciesGlucoseBloodPressureSkinThicknessInsulinBMIDiabetesPedigreeFunctionAgeOutcome
06148.072.035.0NaN33.60.627501
1185.066.029.0NaN26.60.351310
28183.064.0NaNNaN23.30.672321
3189.066.023.094.028.10.167210
40137.040.035.0168.043.12.288331
\n",
"
"
],
"text/plain": [
" Pregnancies Glucose BloodPressure SkinThickness Insulin BMI \\\n",
"0 6 148.0 72.0 35.0 NaN 33.6
\n",
"1 1 85.0 66.0 29.0 NaN 26.6
\n",
"2 8 183.0 64.0 NaN NaN 23.3
\n",
"3 1 89.0 66.0 23.0 94.0 28.1
\n",
"4 0 137.0 40.0 35.0 168.0 43.1
\n",
"\n",
" DiabetesPedigreeFunction Age Outcome \n",
"0 0.627 50 1 \n",
"1 0.351 31 0 \n",
"2 0.672 32 1 \n",
"3 0.167 21 0 \n",
"4 2.288 33 1 "
]
},
"execution_count": 70,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Your code goes here."
]
},
{
"cell_type": "code",
"execution_count": 71,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Number of missing Values per Feature:\n",
"Pregnancies 0\n",
"Glucose 5\n",
"BloodPressure 35\n",
"SkinThickness 227\n",
"Insulin 374\n",
"BMI 11\n",
"DiabetesPedigreeFunction 0\n",
"Age 0\n",
"Outcome 0\n",
"dtype: int64\n"
]
}
],
"source": [
"# Your code goes here."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Task 2**: Import the [SimpleImputer](https://scikit-
learn.org/stable/modules/generated/sklearn.impute.SimpleImputer.html) class from
sklearn.impute, then use the mean as strategy to replace all NaNs, fit and transform the
modfied data frame (using the fit_transform() function) and print again the number of missing
values for each feature. [2 marks]"
]
},
{
"cell_type": "code",
"execution_count": 72,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Number of missing values per feature:\n",
"Pregnancies 0\n",
"Glucose 0\n",
"BloodPressure 0\n",
"SkinThickness 0\n",
"Insulin 0\n",
"BMI 0\n",
"DiabetesPedigreeFunction 0\n",
"Age 0\n",
"Outcome 0\n",
"dtype: int64\n"
]
}
],
"source": [
"# Your code goes here."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## B. Scaling"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Distribution of values before scaling."
]
},
{
"cell_type": "code",
"execution_count": 73,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 73,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png":
"iVBORw0KGgoAAAANSUhEUgAAAzUAAAGbCAYAAAD9Zb5bAAAAOXRFWHRTb2Z0d2FyZ
QBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6
AAAACXBIWXMAAAsTAAALEwEAmpwYAAA1KUlEQVR4nO3dfZwedX3v/9dnswskRlR2EZGAo
Q20FY+lmoNWjwiFXVktqKfe4Dn99aLqz7ZHE6zHtkr1VAV/pbXH0yatLajUyx49aNVTAnVN1mi
EFgXDXQSUsIUVt3KTjURIiGQ3+/39MbPh2ou9zV7LzGxez8djH3t9Z+ea67NzXXPznu9cM5FS
QpIkSZKqqq3oAiRJkiRpPgw1kiRJkirNUCNJkiSp0gw1kiRJkirNUCNJkiSp0tqLLgCgq6srrVy5sug
yJEmSJJXYTTfdNJxSOrp5eClCzcqVK9m6dWvRZUiSJEkqsYj44WTDPf1MkiRJUqUZaiRJkiRVmq
FGkiRJUqUZaiRJkiRVmqFGkiRJUqUZaiRJkiRVmqFGkiRJUqUZaiRJkiRVmqFGkiRJUqUZaiRJkiRV
mqFGkiRJUqUZaiRJkiRVmqFGklQ6w8PDrFmzhp07dxZdiiSpAgw1kqTSqdfrbNu2jXq9XnQpkq
QKMNRIkkpleHiYvr4+Ukr09fXZWyNJmpGhRpJUKvV6nZQSAGNjY/bWSJJmZKiRJJVKf38/IyMj
AIyMjLBp06aCK5IklZ2hRpJUKt3d3XR0dADQ0dFBT09PwRVJksrOUCNJKpVarUZEANDW1katV
iu4IklS2RlqJEml0tXVRW9vLxFBb28vnZ2dRZckSSq59qILkCSpWa1WY3Bw0F4aSdKsGGokSaXT
1dXF+vXriy5DklQRnn4mSZIkqdIMNZIkSZIqzVAjSZIkqdIMNZIkSZIqzVAjSZIkqdIMNZIkSZIqzV
AjSZIkqdIMNZIkSZIqzVAjSZIkqdJmFWoi4vcj4o6IuD0i/k9EHBERR0VEf0Tcnf9+VsP474+IgYi4K
yJetXDlS5IkSTrUzRhqIuI4YC2wOqX0AmAJcD7wPmBzSukkYHPeJiKen//9FOAc4BMRsWRhypc
kSZJ0qJvt6WftwNKIaAeWAT8GXgvU87/Xgdflj18LXJlSejyldC8wAJzWsoolSZIkqcGMoSal9O/A
XwD3AfcDP00pbQKOSSndn49zP/Ds/CnHAT9qmMRQPmyCiHhHRGyNiK07duyY338hSZIk6Z
A1m9PPnkXW+3Ii8FzgaRHxm9M9ZZJh6UkDUro8pbQ6pbT66KOPnm29kiRJkjTBbE4/Oxu4N
6W0I6U0AnwFeBnwYEQcC5D/figffwg4vuH5K8hOV5MkSZKklptNqLkPeGlELIuIAM4Cvg9sAGr
5ODXgqvzxBuD8iDg8Ik4ETgJubG3ZkiRJkpRpn2mElNINEfEl4GZgFLgFuBxYDnwxIt5GFnzemI9
/R0R8EbgzH/+dKaX9C1S/JEmSpENcpPSkr7s85VavXp22bt1adBmSJEmSSiwibkoprW4ePttLOk
uSJElSKRlqJEmSJFWaoUaSJElSpRlqJEmSJFWaoUaSJElSpRlqJEmSJFWaoUaSJElSpRlqJEmSJFW
aoUaSJElSpRlqJEmSJFWaoUaSJElSpRlqJEmSJFWaoUaSJElSpRlqJEmlMzw8zJo1a9i5c2fRpUiSK
sBQI0kqnXq9zrZt26jX60WXIkmqAEONJKlUhoeH6evrI6VEX1+fvTWSpBkZaiRJpVKv10kpATA2
NmZvjSRpRoYaSVKp9Pf3MzIyAsDIyAibNm0quCJJUtkZaiRJpdLd3U1HRwcAHR0d9PT0FFyRJK
nsDDWSpFKp1WpEBABtbW3UarWCK5IklZ2hRpJUKl1dXfT29hIR9Pb20tnZWXRJkqSSay+6AE
mSmtVqNQYHB+2lkSTNiqFGklQ6XV1drF+/vugyJEkV4elnkiRJkirNUCNJkiSp0gw1kiRJkirNUC
NJkiSp0gw1kiRJkirNUCNJkiSp0gw1kiRJkirNUCNJkiSp0gw1kiRJkirNUCNJkiSp0gw1kiRJkirNUC
NJkiSp0gw1kiRJkirNUCNJkiSp0gw1kiRJkirNUCNJkiSp0gw1kqTSGR4eZs2aNezcubPoUiRJFWC
okSSVTr1eZ9u2bdTr9aJLkSRVgKFGklQqw8PD9PX1kVKir6/P3hpJ0owMNZKkUqnX66SUABgb
G7O3RpI0I0ONJKlU+vv7GRkZAWBkZIRNmzYVXJEkqewMNZKkUunu7qajowOAjo4Oenp6Cq
5IklR2hhpJUqnUajUiAoC2tjZqtVrBFUmSys5QI0kqla6uLnp7e4kIent76ezsLLokSVLJtRddgCRJz
Wq1GoODg/bSSJJmxVAjSSqdrq4u1q9fX3QZkqSK8PQzSZIkSZVmqJEkSZJUaYYaSZIkSZVmqJ
EkSZJUaYYaSZIkSZVmqJEkSZJUaYYaSZIkSZVmqJEkSZJUaYYaSZIkSZVmqJEkSZJUaYYaSZIkSZ
VmqJEkSZJUaYYaSZIkSZVmqJEkSZJUaYYaSZIkSZVmqJEkSZJUaYYaSZIkSZVmqJEkSZJUaYYaS
ZIkSZVmqJEkSZJUaYYaSZIkSZVmqJEkSZJUaYYaSZIkSZVmqJEklc7w8DBr1qxh586dRZciSaqA
WYWaiHhmRHwpIn4QEd+PiF+NiKMioj8i7s5/P6th/PdHxEBE3BURr1q48iVJi1G9Xmfbtm3U6/
WiS5EkVcBse2r+CvhaSukXgV8Gvg+8D9icUjoJ2Jy3iYjnA+cDpwDnAJ+IiCWtLlyStDgNDw/T19
dHSom+vj57ayRJM5ox1ETEkcDpwKcBUkr7Ukq7gNcC44fQ6sDr8sevBa5MKT2eUroXGABOa2
3ZkqTFql6vk1ICYGxszN4aSdKMZtNT83PADuDvI+KWiPhURDwNOCaldD9A/vvZ+fjHAT9qeP5
QPmyCiHhHRGyNiK07duyY1z8hSVo8+vv7GRkZAWBkZIRNmzYVXJEkqexmE2ragRcBf5tS+hV
gD/mpZlOISYalJw1I6fKU0uqU0uqjjz56VsVKkha/7u5uOjo6AOjo6KCnp6fgiiRJZTebUDMEDK
WUbsjbXyILOQ9GxLEA+e+HGsY/vuH5K4Aft6ZcSdJiV6vViMiOj7W1tVGr1QquSJJUdjOGmpT
SA8CPIuIX8kFnAXcCG4DxLU0NuCp/vAE4PyIOj4gTgZOAG1tatSRp0erq6qK3t5eIoLe3l87OzqJ
LkiSVXPssx1sDfC4iDgPuAX6bLBB9MSLeBtwHvBEgpXRHRHyRLPiMAu9MKe1veeWSpEWrVqs
xODhoL40kaVZmFWpSSrcCqyf501lTjP9R4KMHX5YkSZIkzc5s71MjSdJTxptvSpLmwlAjSSoVb7
4pSZorQ40kqVS8+aYkaa4MNZKkUvHmm5KkuTLUSJJKxZtvSpLmylAjSSoVb74pSZorQ40kqV
S8+aYkaa5me/NNSZKeMt58U5I0F4YaSVLpdHV1sX79+qLLkCRVhKefSZIkSao0Q40kSZKkSjP
USJIkSao0Q40kSZKkSjPUSJJKZ/v27fT29jIwMFB0KZKkCjDUSJJK55JLLmHPnj185CMfKboUSVIF
GGokSaWyfft2BgcHARgcHLS3RpI0I0ONJKlULrnkkglte2skSTMx1EiSSmW8l2aqtiRJzQw1kqRS
Wb58+bRtSZKaGWokSaUyOjo6bVuSpGaGGklSqbzqVa+a0D7nnHMKqkSSVBWGGklSqdRqN
To6OgDo6OigVqsVXJEkqewMNZKkUunq6uLVr341EcFrXvMaOjs7iy5JklRy7UUXIElSs1qtxuDg
oL00kqRZMdRIkkqnq6uL9evXF12GJKkiPP1MkiRJUqUZaiRJkiRVmqFGklQ6w8PDrFmzhp07dx
ZdiiSpAgw1kqTSqdfrbNu2jXq9XnQpkqQKMNRIkkpleHiYvr4+Ukr09fXZWyNJmpGhRpJUKvV
6nZQSAGNjY/bWSJJmZKiRJJVKf38/IyMjAIyMjLBp06aCK5IklZ2hRpJUKt3d3XR0dADQ0dFBT09
PwRVJksrOUCNJKpVarTZtW5KkZoYaSVKpdHV1cfjhhwNw+OGH09nZWXBFkqSyM9RIkkpl+/
bt7N69G4Ddu3czMDBQcEWSpLIz1EiSSuWSSy6Z0P7IRz5SUCWSpKow1EiSSmVwcHDatiRJzQ
w1kqRSWbly5bRtSZKaGWokSaXyrne9a0L7wgsvLKgSSVJVGGokSaVy3XXXTWh/61vfKqgSSVJ
VGGokSaWycePGCe2vfe1rBVUiSaoKQ40kqVSWLFkybVuSpGaGGklSqezZs2fatiRJzQw1kiRJkir
NUCNJKpVjjz122rYkSc0MNZKkUtm1a9e0bUmSmhlqJEmlcvrpp09ov/KVryyoEklSVRhqJEmSJF
WaoUaSVCrNN9+89tprC6pEklQVhhpJUql0d3fT3t4OQHt7Oz09PQVXJEkqO0ONJKlUarUabW
3Z5mnJkiXUarWCK5IklZ2hRpJUKl1dXfT29hIR9Pb20tnZWXRJkqSSay+6AEmSmtVqNQYHB+2l
kSTNiqFGklQ6XV1drF+/vugyJEkV4elnkiRJkirNUCNJKp3h4WHWrFnDzp07iy5FklQBhhpJUunU
63W2bdtGvV4vuhRJUgUYaiRJpTI8PExfXx8pJfr6+uytkSTNyFAjSSqVer1OSgmAsbExe2skSTMy
1EiSSqW/v5+RkREARkZG2LRpU8EVSZLKzlAjSSqV7u5uOjo6AOjo6KCnp6fgiiRJZWeokSSVSq1
WIyIAaGtr8wackqQZGWokSaXS1dVFb28vEUFvby+dnZ1FlyRJKrn2oguQJKlZrVZjcHDQXhpJ0
qwYaiRJpdPV1cX69euLLkOSVBGefiZJKp3h4WHWrFnjPWokSbNiqJEklU69Xmfbtm3eo0aSNC
uGGklSqQwPD9PX10dKib6+PntrJEkzMtRIkkqlXq+TUgJgbGzM3hpJ0owMNZKkUunv72dkZA
SAkZERNm3aVHBFkqSyM9RIkkqlu7ub9vbs4pzt7e309PQUXJEkqewMNZKkUqnVaoyNjQHZ6
Wfeq0aSNJNZh5qIWBIRt0TENXn7qIjoj4i789/Pahj3/RExEBF3RcSrFqJwSZIkSYK59dRcCHy/of0
+YHNK6SRgc94mIp4PnA+cApwDfCIilrSmXEnSYlev12lryzZPbW1tXihAkjSjWYWaiFgBvAb4VM
Pg1wLjW5o68LqG4VemlB5PKd0LDACntaRaSdKi19/fz+joKACjo6NeKECSNKPZ9tT8JfCHwFjDs
GNSSvcD5L+fnQ8/DvhRw3hD+bAJIuIdEbE1Irbu2LFjrnVLkhap7u5uIgKAiPBCAZKkGc0YaiLi14
GHUko3zXKaMcmw9KQBKV2eUlqdUlp99NFHz3LSkqTF7txzzz1wn5qUEuedd17BFUmSym42
PTUvB86LiEHgSuDXIuJ/Aw9GxLEA+e+H8vGHgOMbnr8C+HHLKpYkLWpXX331hPaGDRsKqk
SSVBUzhpqU0vtTSitSSivJLgDwjZTSbwIbgPHrbNaAq/LHG4DzI+LwiDgROAm4seWVS5IWpeb
v0GzcuLGgSiRJVTGf+9RcCnRHxN1Ad94mpXQH8EXgTuBrwDtTSvvnW6gk6dBwzDHHTNuWJ
KlZ+1xGTiltAbbkj3cCZ00x3keBj86zNknSIejBBx+cti1JUrP59NRIktRyPT09E65+9qpXeQ9nSdL0
DDWSpFKp1WrTtiVJamaokSSVTmNPjSRJMzHUSJJKpV6vMzaW3et5bGyMer1ecEWSpLIz1EiS
SsVLOkuS5spQI0kqFS/pLEmaK0ONJKlUvKSzJGmuDDWSpFLp6emZ0PaSzpKkmRhqJEmlcu65
505on3feeQVVIkmqCkONJKlUrr766gmXdN6wYUPBFUmSys5QI0kqlf7+flJKAKSUnnQ1NEmS
mhlqJEml0t3dTUdHBwAdHR1P+o6NJEnNDDWSpFKp1WoHTj9ra2ujVqsVXJEkqewMNZKkUu
nq6qK3t5eIoLe3l87OzqJLkiSVnKFGklQ65557LsuWLfPKZ5KkWTHUSJJK5+qrr+axxx7zymeSpF
kx1EiSSmV4eJi+vj5SSvT19bFz586iS5IklZyhRpJUKvV6nbGxMQD2799PvV4vuCJJUtkZaiRJpdLf
38/o6CgAo6Oj3qdGkjQjQ40kqVRe8YpXTGiffvrpBVUiSaoKQ40kSZKkSjPUSJJK5Vvf+taE9pYt
W4opRJJUGYYaSVKpLFmyZNq2JEnNDDWSpFLZs2fPtG1JkpoZaiRJkiRVmqFGkiRJUqUZaiRJki
RVmqFGklQqbW1t07YlSWrmlkKSVCrd3d0T2j09PQVVIkmqCkONJKlU3vjGN05ov+lNbyqoEkl
SVRhqJEmlcvXVV09ob9iwoaBKJElVYaiRJJXKpk2bJrQ3btxYUCWSpKow1EiSSuWYY46Zti1JUjN
DjSSpVB544IFp25IkNTPUSJJK5TnPec60bUmSmhlqJEml8uCDD07bliSpmaFGklQqL3nJSya0X/r
SlxZUiSSpKgw1kqRS2b59+4T2XXfdVVAlkqSqMNRIkkrlxz/+8bRtSZKaGWokSaUSEdO2JUlqZq
iRJJVKW1vbtG1Jkpq5pZAklcr+/funbUuS1MxQI0kqFXtqJElz5ZZCklQqY2Nj07YlSWpmqJEkSZJ
UaYYaSZIkSZVmqJEkSZJUaYYaSZIkSZVmqJEklcqSJUumbUuS1MxQI0kqFe9TI0maK0ONJKlUjj
/++GnbkiQ1M9RIkkplxYoVE9qGGknSTAw1kqRSufHGGye0b7jhhoIqkSRVhaFGkiRJUqUZaiRJp
fLsZz97QvuYY44pqBJJUlUYaiRJpfLQQw9NaD/44IMFVSJJqgpDjSSpVMbGxqZtS5LUzFAjSZIkq
dIMNZKkUlm2bNm0bUmSmhlqJEmlsmfPnmnbkiQ1M9RIkkqlvb192rYkSc0MNZKkUhkdHZ22
LUlSM0ONJEmSpEoz1EiSJEmqNEONJEmSpEoz1EiSSuWII46Yti1JUjNDjSSpVH72s59N25YkqZ
mhRpJUKl7SWZI0V4YaSVKpeElnSdJcGWokSaUSEdO2JUlqZqiRJJVKSmnatiRJzQw1kiRJkirNUC
NJkiSp0ma8pExEHA98FngOMAZcnlL6q4g4CvgCsBIYBN6UUno4f877gbcB+4G1KaWNC1K9J
Kl01q1bx8DAQEunuXbt2oN63qpVqw76uZKk6phNT80o8N9TSr8EvBR4Z0Q8H3gfsDmldBKw
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
U5ErkJggg==\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize = (14, 7))\n",
"sns.boxplot(data = df)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Task 3:** Import the [MinMaxScaler](https://scikit-
learn.org/stable/modules/generated/sklearn.preprocessing.MinMaxScaler.html?highlight=mi
nmaxscaler#sklearn.preprocessing.MinMaxScaler) class from sklearn.preprocessing, fit and
transform the data and plot the normalised data (using a seaborn boxplot) in order to display
the distribution of values after scaling (as illustrated below). [2 marks]"
]
},
{
"cell_type": "code",
"execution_count": 74,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 74,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png":
"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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Your code goes here."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Task 4**: Import the [train_test_split](https://scikit-
learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html?highlight=
train_test_split#sklearn.model_selection.train_test_split) function from sklearn.model and split
the data frame into a training set (X_train, y_train) and a test set (X_test, y_test), use 0.2 as test
size and the previously defined random_state parameter (42). [1 mark]"
]
},
{
"cell_type": "code",
"execution_count": 75,
"metadata": {},
"outputs": [],
"source": [
"# Your code goes here."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## C. Train and Evaluate the Model"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Task 5**: Import the [KNeighborsClassifier](https://scikit-
learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html) from
sklearn.neighbors, set n_neighbors to 5, fit the model, make predications (using X_test) and
report the accuracy of the classifier (using the [classification_report](https://scikit-
learn.org/stable/modules/generated/sklearn.metrics.classification_report.html?highlight=clas
sification_report#sklearn.metrics.classification_report) function from sklearn.metrics). [2
marks]"
]
},
{
"cell_type": "code",
"execution_count": 76,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" precision recall f1-score support\n",
"\n",
" Outcome = 0 0.81 0.81 0.81 99\n",
" Outcome = 1 0.65 0.65 0.65 55\n",
"\n",
" accuracy 0.75 154\n",
" macro avg 0.73 0.73 0.73 154\n",
"weighted avg 0.75 0.75 0.75 154\n",
"\n"
]
}
],
"source": [
"# Your code goes here."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Task 6:** Import the [cross_val_score](https://scikit-
learn.org/stable/modules/generated/sklearn.model_selection.cross_val_score.html?highlight
=cross_val_score#sklearn.model_selection.cross_val_score) function from
sklearn.model_selection, use 10-fold cross validation and report the accuracy of the classifier.
Note for cross validation you don't use the train/test split. [2 marks]"
]
},
{
"cell_type": "code",
"execution_count": 77,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Accuracy: 0.75 (+/- 0.11)\n"
]
}
],
"source": [
"# Your code goes here."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Task 7**: Import the [cross_val_predict](https://scikit-
learn.org/stable/modules/generated/sklearn.model_selection.cross_val_predict.html?highlig
ht=cross_val_predict#sklearn.model_selection.cross_val_predict) function from
sklearn.model_selection and compute again precision, recall and F1-score for the classifier.
The output will look similar to the output of Task 5. [2 marks]"
]
},
{
"cell_type": "code",
"execution_count": 78,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" precision recall f1-score support\n",
"\n",
" Outcome = 0 0.80 0.82 0.81 500\n",
" Outcome = 1 0.65 0.62 0.64 268\n",
"\n",
" accuracy 0.75 768\n",
" macro avg 0.73 0.72 0.72 768\n",
"weighted avg 0.75 0.75 0.75 768\n",
"\n"
]
}
],
"source": [
"# Your code goes here."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Task 8**: Generate a confusion matrix using [confusion_matrix](https://scikit-
learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html) and use a
[heatmap](https://seaborn.pydata.org/generated/seaborn.heatmap.html) from the seaborn
library to display the number and percentage of true negatives, false positives, false negatives,
and true positives (as illustrated below). [2 marks]"
]
},
{
"cell_type": "code",
"execution_count": 79,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 79,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png":
"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\n
",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Your code goes here."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Task 9**: Evaluate alternative values for K from 1 to 30 and plot the error rate versus
the K-values (as illustrated below). [2 marks]"
]
},
{
"cell_type": "code",
"execution_count": 80,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'Error Rate')"
]
},
"execution_count": 80,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png":
"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
YAAAAASUVORK5CYII=\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Your code goes here."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Task 10:** Use the logistic regression classifier ([LogisticRegression](https://scikit-
learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html?highlight
=logisticregression#sklearn.linear_model.LogisticRegression), default setting), fit the model,
make predictions, and report the results using a classification report. [1 mark]"
]
},
{
"cell_type": "code",
"execution_count": 81,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" precision recall f1-score support\n",
"\n",
" Outcome = 0 0.80 0.88 0.84 99\n",
" Outcome = 1 0.73 0.60 0.66 55\n",
"\n",
" accuracy 0.78 154\n",
" macro avg 0.77 0.74 0.75 154\n",
"weighted avg 0.78 0.78 0.77 154\n",
"\n"
]
}
],
"source": [
"# Your code goes here."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Task 11:** Use the support vector classifier ([SVC](https://scikit-
learn.org/stable/modules/generated/sklearn.svm.SVC.html), default setting), fit the model,
make predictions, and report the results using a classification report. [1 mark]"
]
},
{
"cell_type": "code",
"execution_count": 82,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" precision recall f1-score support\n",
"\n",
" Outcome = 0 0.79 0.86 0.82 99\n",
" Outcome = 1 0.70 0.58 0.63 55\n",
"\n",
" accuracy 0.76 154\n",
" macro avg 0.74 0.72 0.73 154\n",
"weighted avg 0.75 0.76 0.75 154\n",
"\n"
]
}
],
"source": [
"# Your code goes here."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Task 12:** Use the random forest classifier ([RandomForestClassifier](https://scikit-
learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html?highlig
ht=randomforest), default setting), fit the model, make predictions, and report the results
using a classification report. [1 mark]"
]
},
{
"cell_type": "code",
"execution_count": 83,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" precision recall f1-score support\n",
"\n",
" Outcome = 0 0.81 0.81 0.81 99\n",
" Outcome = 1 0.65 0.65 0.65 55\n",
"\n",
" accuracy 0.75 154\n",
" macro avg 0.73 0.73 0.73 154\n",
"weighted avg 0.75 0.75 0.75 154\n",
"\n"
]
}
],
"source": [
"# Your code goes here."
]
}
],
"metadata": {
"hide_input": false,
"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.10"
}
},
"nbformat": 4,
"nbformat_minor": 2
}

欢迎咨询51作业君
51作业君

Email:51zuoyejun

@gmail.com

添加客服微信: abby12468