{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from sklearn import svm\n",
"from sklearn.svm import SVC\n",
"from sklearn import metrics\n",
"from sklearn.model_selection import train_test_split\n",
"\n",
"\n",
"from sklearn.metrics import roc_curve, auc\n",
"from sklearn.metrics import roc_auc_score\n",
"\n",
"\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# Question #1"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" fLength | \n",
" fWidth | \n",
" fSize | \n",
" fConc | \n",
" fConc1 | \n",
" fAsym | \n",
" fM3Long | \n",
" fM3Trans | \n",
" fAlpha | \n",
" fDist | \n",
" class | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 28.7967 | \n",
" 16.0021 | \n",
" 2.6449 | \n",
" 0.3918 | \n",
" 0.1982 | \n",
" 27.7004 | \n",
" 22.0110 | \n",
" -8.2027 | \n",
" 40.0920 | \n",
" 81.8828 | \n",
" g | \n",
"
\n",
" \n",
" 1 | \n",
" 31.6036 | \n",
" 11.7235 | \n",
" 2.5185 | \n",
" 0.5303 | \n",
" 0.3773 | \n",
" 26.2722 | \n",
" 23.8238 | \n",
" -9.9574 | \n",
" 6.3609 | \n",
" 205.2610 | \n",
" g | \n",
"
\n",
" \n",
" 2 | \n",
" 162.0520 | \n",
" 136.0310 | \n",
" 4.0612 | \n",
" 0.0374 | \n",
" 0.0187 | \n",
" 116.7410 | \n",
" -64.8580 | \n",
" -45.2160 | \n",
" 76.9600 | \n",
" 256.7880 | \n",
" g | \n",
"
\n",
" \n",
" 3 | \n",
" 23.8172 | \n",
" 9.5728 | \n",
" 2.3385 | \n",
" 0.6147 | \n",
" 0.3922 | \n",
" 27.2107 | \n",
" -6.4633 | \n",
" -7.1513 | \n",
" 10.4490 | \n",
" 116.7370 | \n",
" g | \n",
"
\n",
" \n",
" 4 | \n",
" 75.1362 | \n",
" 30.9205 | \n",
" 3.1611 | \n",
" 0.3168 | \n",
" 0.1832 | \n",
" -5.5277 | \n",
" 28.5525 | \n",
" 21.8393 | \n",
" 4.6480 | \n",
" 356.4620 | \n",
" g | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" fLength fWidth fSize fConc fConc1 fAsym fM3Long fM3Trans \\\n",
"0 28.7967 16.0021 2.6449 0.3918 0.1982 27.7004 22.0110 -8.2027 \n",
"1 31.6036 11.7235 2.5185 0.5303 0.3773 26.2722 23.8238 -9.9574 \n",
"2 162.0520 136.0310 4.0612 0.0374 0.0187 116.7410 -64.8580 -45.2160 \n",
"3 23.8172 9.5728 2.3385 0.6147 0.3922 27.2107 -6.4633 -7.1513 \n",
"4 75.1362 30.9205 3.1611 0.3168 0.1832 -5.5277 28.5525 21.8393 \n",
"\n",
" fAlpha fDist class \n",
"0 40.0920 81.8828 g \n",
"1 6.3609 205.2610 g \n",
"2 76.9600 256.7880 g \n",
"3 10.4490 116.7370 g \n",
"4 4.6480 356.4620 g "
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"url = 'http://archive.ics.uci.edu/ml/machine-learning-databases/magic/magic04.data'\n",
"names = ['fLength', 'fWidth', 'fSize', 'fConc', 'fConc1', 'fAsym', 'fM3Long', 'fM3Trans', 'fAlpha', 'fDist', 'class']\n",
"gama = pd.read_csv(url, names=names)\n",
"gama.head()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"# Question #2"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"g 12332\n",
"h 6688\n",
"Name: class, dtype: int64"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"gama['class'].value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"# Question # 3"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[,\n",
" ,\n",
" ],\n",
" [,\n",
" ,\n",
" ],\n",
" [,\n",
" ,\n",
" ],\n",
" [, ,\n",
" ]], dtype=object)"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"gama.hist(figsize=(10,10))"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"#Question #4"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" fLength | \n",
" fWidth | \n",
" fSize | \n",
" fConc | \n",
" fConc1 | \n",
" fAsym | \n",
" fM3Long | \n",
" fM3Trans | \n",
" fAlpha | \n",
" fDist | \n",
"
\n",
" \n",
" \n",
" \n",
" count | \n",
" 19020.000000 | \n",
" 19020.000000 | \n",
" 19020.000000 | \n",
" 19020.000000 | \n",
" 19020.000000 | \n",
" 19020.000000 | \n",
" 19020.000000 | \n",
" 19020.000000 | \n",
" 19020.000000 | \n",
" 19020.000000 | \n",
"
\n",
" \n",
" mean | \n",
" 53.250154 | \n",
" 22.180966 | \n",
" 2.825017 | \n",
" 0.380327 | \n",
" 0.214657 | \n",
" -4.331745 | \n",
" 10.545545 | \n",
" 0.249726 | \n",
" 27.645707 | \n",
" 193.818026 | \n",
"
\n",
" \n",
" std | \n",
" 42.364855 | \n",
" 18.346056 | \n",
" 0.472599 | \n",
" 0.182813 | \n",
" 0.110511 | \n",
" 59.206062 | \n",
" 51.000118 | \n",
" 20.827439 | \n",
" 26.103621 | \n",
" 74.731787 | \n",
"
\n",
" \n",
" min | \n",
" 4.283500 | \n",
" 0.000000 | \n",
" 1.941300 | \n",
" 0.013100 | \n",
" 0.000300 | \n",
" -457.916100 | \n",
" -331.780000 | \n",
" -205.894700 | \n",
" 0.000000 | \n",
" 1.282600 | \n",
"
\n",
" \n",
" 25% | \n",
" 24.336000 | \n",
" 11.863800 | \n",
" 2.477100 | \n",
" 0.235800 | \n",
" 0.128475 | \n",
" -20.586550 | \n",
" -12.842775 | \n",
" -10.849375 | \n",
" 5.547925 | \n",
" 142.492250 | \n",
"
\n",
" \n",
" 50% | \n",
" 37.147700 | \n",
" 17.139900 | \n",
" 2.739600 | \n",
" 0.354150 | \n",
" 0.196500 | \n",
" 4.013050 | \n",
" 15.314100 | \n",
" 0.666200 | \n",
" 17.679500 | \n",
" 191.851450 | \n",
"
\n",
" \n",
" 75% | \n",
" 70.122175 | \n",
" 24.739475 | \n",
" 3.101600 | \n",
" 0.503700 | \n",
" 0.285225 | \n",
" 24.063700 | \n",
" 35.837800 | \n",
" 10.946425 | \n",
" 45.883550 | \n",
" 240.563825 | \n",
"
\n",
" \n",
" max | \n",
" 334.177000 | \n",
" 256.382000 | \n",
" 5.323300 | \n",
" 0.893000 | \n",
" 0.675200 | \n",
" 575.240700 | \n",
" 238.321000 | \n",
" 179.851000 | \n",
" 90.000000 | \n",
" 495.561000 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" fLength fWidth fSize fConc fConc1 \\\n",
"count 19020.000000 19020.000000 19020.000000 19020.000000 19020.000000 \n",
"mean 53.250154 22.180966 2.825017 0.380327 0.214657 \n",
"std 42.364855 18.346056 0.472599 0.182813 0.110511 \n",
"min 4.283500 0.000000 1.941300 0.013100 0.000300 \n",
"25% 24.336000 11.863800 2.477100 0.235800 0.128475 \n",
"50% 37.147700 17.139900 2.739600 0.354150 0.196500 \n",
"75% 70.122175 24.739475 3.101600 0.503700 0.285225 \n",
"max 334.177000 256.382000 5.323300 0.893000 0.675200 \n",
"\n",
" fAsym fM3Long fM3Trans fAlpha fDist \n",
"count 19020.000000 19020.000000 19020.000000 19020.000000 19020.000000 \n",
"mean -4.331745 10.545545 0.249726 27.645707 193.818026 \n",
"std 59.206062 51.000118 20.827439 26.103621 74.731787 \n",
"min -457.916100 -331.780000 -205.894700 0.000000 1.282600 \n",
"25% -20.586550 -12.842775 -10.849375 5.547925 142.492250 \n",
"50% 4.013050 15.314100 0.666200 17.679500 191.851450 \n",
"75% 24.063700 35.837800 10.946425 45.883550 240.563825 \n",
"max 575.240700 238.321000 179.851000 90.000000 495.561000 "
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"gama.describe ()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"#Question #5"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"#Converting 'g' to 0 and 'h' to 1 to be able to find area under ROC Curve on a later question.\n",
"gama['class']=pd.Series([0 if val == 'g' else 1 for val in gama['class']])"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0 12332\n",
"1 6688\n",
"Name: class, dtype: int64"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"gama ['class'].value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" fLength | \n",
" fWidth | \n",
" fSize | \n",
" fConc | \n",
" fConc1 | \n",
" fAsym | \n",
" fM3Long | \n",
" fM3Trans | \n",
" fAlpha | \n",
" fDist | \n",
" class | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 28.7967 | \n",
" 16.0021 | \n",
" 2.6449 | \n",
" 0.3918 | \n",
" 0.1982 | \n",
" 27.7004 | \n",
" 22.0110 | \n",
" -8.2027 | \n",
" 40.0920 | \n",
" 81.8828 | \n",
" 0 | \n",
"
\n",
" \n",
" 1 | \n",
" 31.6036 | \n",
" 11.7235 | \n",
" 2.5185 | \n",
" 0.5303 | \n",
" 0.3773 | \n",
" 26.2722 | \n",
" 23.8238 | \n",
" -9.9574 | \n",
" 6.3609 | \n",
" 205.2610 | \n",
" 0 | \n",
"
\n",
" \n",
" 2 | \n",
" 162.0520 | \n",
" 136.0310 | \n",
" 4.0612 | \n",
" 0.0374 | \n",
" 0.0187 | \n",
" 116.7410 | \n",
" -64.8580 | \n",
" -45.2160 | \n",
" 76.9600 | \n",
" 256.7880 | \n",
" 0 | \n",
"
\n",
" \n",
" 3 | \n",
" 23.8172 | \n",
" 9.5728 | \n",
" 2.3385 | \n",
" 0.6147 | \n",
" 0.3922 | \n",
" 27.2107 | \n",
" -6.4633 | \n",
" -7.1513 | \n",
" 10.4490 | \n",
" 116.7370 | \n",
" 0 | \n",
"
\n",
" \n",
" 4 | \n",
" 75.1362 | \n",
" 30.9205 | \n",
" 3.1611 | \n",
" 0.3168 | \n",
" 0.1832 | \n",
" -5.5277 | \n",
" 28.5525 | \n",
" 21.8393 | \n",
" 4.6480 | \n",
" 356.4620 | \n",
" 0 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" fLength fWidth fSize fConc fConc1 fAsym fM3Long fM3Trans \\\n",
"0 28.7967 16.0021 2.6449 0.3918 0.1982 27.7004 22.0110 -8.2027 \n",
"1 31.6036 11.7235 2.5185 0.5303 0.3773 26.2722 23.8238 -9.9574 \n",
"2 162.0520 136.0310 4.0612 0.0374 0.0187 116.7410 -64.8580 -45.2160 \n",
"3 23.8172 9.5728 2.3385 0.6147 0.3922 27.2107 -6.4633 -7.1513 \n",
"4 75.1362 30.9205 3.1611 0.3168 0.1832 -5.5277 28.5525 21.8393 \n",
"\n",
" fAlpha fDist class \n",
"0 40.0920 81.8828 0 \n",
"1 6.3609 205.2610 0 \n",
"2 76.9600 256.7880 0 \n",
"3 10.4490 116.7370 0 \n",
"4 4.6480 356.4620 0 "
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#checking if the coversion of the 'class' variable\n",
"gama.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Question #6\n",
"1. Data Vaildation is used to ensure consistency and integrity.\n",
"2. Data Validation helps to cleans data to mitigate running into issues.\n",
"3. "
]
}
],
"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"
}
},
"nbformat": 4,
"nbformat_minor": 2
}