{ "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", " Pregnancies \n", " Glucose \n", " BloodPressure \n", " SkinThickness \n", " Insulin \n", " BMI \n", " DiabetesPedigreeFunction \n", " Age \n", " Outcome \n", " \n", " \n", " \n", " \n", " count \n", " 768.000000 \n", " 768.000000 \n", " 768.000000 \n", " 768.000000 \n", " 768.000000 \n", " 768.000000 \n", " 768.000000 \n", " 768.000000 \n", " 768.000000 \n", " \n", " \n", " mean \n", " 3.845052 \n", " 120.894531 \n", " 69.105469 \n", " 20.536458 \n", " 79.799479 \n", " 31.992578 \n", " 0.471876 \n", " 33.240885 \n", " 0.348958 \n", " \n", " \n", " std \n", " 3.369578 \n", " 31.972618 \n", " 19.355807 \n", " 15.952218 \n", " 115.244002 \n", " 7.884160 \n", " 0.331329 \n", " 11.760232 \n", " 0.476951 \n", " \n", " \n", " min \n", " 0.000000 \n", " 0.000000 \n", " 0.000000 \n", " 0.000000 \n", " 0.000000 \n", " 0.000000 \n", " 0.078000 \n", " 21.000000 \n", " 0.000000 \n", " \n", " \n", " 25% \n", " 1.000000 \n", " 99.000000 \n", " 62.000000 \n", " 0.000000 \n", " 0.000000 \n", " 27.300000 \n", " 0.243750 \n", " 24.000000 \n", " 0.000000 \n", " \n", " \n", " 50% \n", " 3.000000 \n", " 117.000000 \n", " 72.000000 \n", " 23.000000 \n", " 30.500000 \n", " 32.000000 \n", " 0.372500 \n", " 29.000000 \n", " 0.000000 \n", " \n", " \n", " 75% \n", " 6.000000 \n", " 140.250000 \n", " 80.000000 \n", " 32.000000 \n", " 127.250000 \n", " 36.600000 \n", " 0.626250 \n", " 41.000000 \n", " 1.000000 \n", " \n", " \n", " max \n", " 17.000000 \n", " 199.000000 \n", " 122.000000 \n", " 99.000000 \n", " 846.000000 \n", " 67.100000 \n", " 2.420000 \n", " 81.000000 \n", " 1.000000 \n", " \n", " \n", "
\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", " Pregnancies \n", " Glucose \n", " BloodPressure \n", " SkinThickness \n", " Insulin \n", " BMI \n", " DiabetesPedigreeFunction \n", " Age \n", " Outcome \n", " \n", " \n", " \n", " \n", " 0 \n", " 6 \n", " 148 \n", " 72 \n", " 35 \n", " 0 \n", " 33.6 \n", " 0.627 \n", " 50 \n", " 1 \n", " \n", " \n", " 1 \n", " 1 \n", " 85 \n", " 66 \n", " 29 \n", " 0 \n", " 26.6 \n", " 0.351 \n", " 31 \n", " 0 \n", " \n", " \n", " 2 \n", " 8 \n", " 183 \n", " 64 \n", " 0 \n", " 0 \n", " 23.3 \n", " 0.672 \n", " 32 \n", " 1 \n", " \n", " \n", " 3 \n", " 1 \n", " 89 \n", " 66 \n", " 23 \n", " 94 \n", " 28.1 \n", " 0.167 \n", " 21 \n", " 0 \n", " \n", " \n", " 4 \n", " 0 \n", " 137 \n", " 40 \n", " 35 \n", " 168 \n", " 43.1 \n", " 2.288 \n", " 33 \n", " 1 \n", " \n", " \n", "
\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", " Pregnancies \n", " Glucose \n", " BloodPressure \n", " SkinThickness \n", " Insulin \n", " BMI \n", " DiabetesPedigreeFunction \n", " Age \n", " Outcome \n", " \n", " \n", " \n", " \n", " 0 \n", " 6 \n", " 148.0 \n", " 72.0 \n", " 35.0 \n", " NaN \n", " 33.6 \n", " 0.627 \n", " 50 \n", " 1 \n", " \n", " \n", " 1 \n", " 1 \n", " 85.0 \n", " 66.0 \n", " 29.0 \n", " NaN \n", " 26.6 \n", " 0.351 \n", " 31 \n", " 0 \n", " \n", " \n", " 2 \n", " 8 \n", " 183.0 \n", " 64.0 \n", " NaN \n", " NaN \n", " 23.3 \n", " 0.672 \n", " 32 \n", " 1 \n", " \n", " \n", " 3 \n", " 1 \n", " 89.0 \n", " 66.0 \n", " 23.0 \n", " 94.0 \n", " 28.1 \n", " 0.167 \n", " 21 \n", " 0 \n", " \n", " \n", " 4 \n", " 0 \n", " 137.0 \n", " 40.0 \n", " 35.0 \n", " 168.0 \n", " 43.1 \n", " 2.288 \n", " 33 \n", " 1 \n", " \n", " \n", "
\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": "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 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作业君