Created
March 28, 2019 21:34
-
-
Save turingDH/1a47683a4bcabfec63c8d433dcb0a9cb to your computer and use it in GitHub Desktop.
SKLearn Supervised Learning
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<img src=\"https://scikit-learn.org/stable/_static/scikit-learn-logo-small.png\", alt=\"sci kit learn\", width=\"111\", height=\"111\">" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<style>.container {width:95%;}</style>" | |
], | |
"text/plain": [ | |
"<IPython.core.display.HTML object>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"try:\n", | |
" from IPython.core.display import display, HTML\n", | |
" display(HTML(\"<style>.container {width:95%;}</style>\"))\n", | |
" \n", | |
" from IPython.core.interactiveshell import InteractiveShell\n", | |
" InteractiveShell.ast_node_interactivity = \"all\"\n", | |
" \n", | |
" %matplotlib inline\n", | |
"except:\n", | |
" pass\n", | |
"\n", | |
"import matplotlib.pyplot as plt\n", | |
"import numpy as np\n", | |
"import pandas as pd\n", | |
"import pyodbc\n", | |
"import seaborn as sns\n", | |
"sns.set()\n", | |
"\n", | |
"from sklearn import datasets\n", | |
"from sklearn import linear_model" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<hr>\n", | |
"### Unsupervised Learning: uncovering hidden patterns from UNLABELED data. No labels, no supervision.\n", | |
"Uncovering hidden patterns from unlabeled data.\n", | |
"Perhaps: grouping customers into categories (<b>clustering</b>) " | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<hr>\n", | |
"### Supervised Learning: Need labeled data for supervised learning \n", | |
"Predictor variables/features and target variable \n", | |
"\n", | |
"Data frequently in table structure:\n", | |
"Tidy data: where row for each data point, and column for each feature \n", | |
"melt/pivot in pandas; gather/spread in tidyR \n", | |
"\n", | |
"Mission in supervised learning: predict the target var, given the predictor vars \n", | |
"If the target var is discrete, then learning task is <b>classification</b> (type of flower) \n", | |
"If the target var is continuous, the learning task is <b>regression</b> (price of house)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<hr>\n", | |
"<h1 align=\"center\" style=\"color:#005500\">Classification: Iris</h1>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"sklearn.utils.Bunch" | |
] | |
}, | |
"execution_count": 2, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"dict_keys(['data', 'target', 'target_names', 'DESCR', 'feature_names'])\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"(numpy.ndarray, numpy.ndarray)" | |
] | |
}, | |
"execution_count": 2, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Iris data shape: (150, 4) \t Iris target shape: (150,)\n" | |
] | |
} | |
], | |
"source": [ | |
"iris = datasets.load_iris()\n", | |
"type(iris)\n", | |
"print(iris.keys())\n", | |
"type(iris.data), type(iris.target)\n", | |
"\n", | |
"print(f\"Iris data shape: {iris.data.shape} \\t Iris target shape: {iris.target.shape}\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"X = iris.data\n", | |
"y = iris.target\n", | |
"df = pd.DataFrame(X, columns=iris.feature_names)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"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>sepal length (cm)</th>\n", | |
" <th>sepal width (cm)</th>\n", | |
" <th>petal length (cm)</th>\n", | |
" <th>petal width (cm)</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>5.1</td>\n", | |
" <td>3.5</td>\n", | |
" <td>1.4</td>\n", | |
" <td>0.2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>4.9</td>\n", | |
" <td>3.0</td>\n", | |
" <td>1.4</td>\n", | |
" <td>0.2</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" sepal length (cm) sepal width (cm) petal length (cm) petal width (cm)\n", | |
"0 5.1 3.5 1.4 0.2\n", | |
"1 4.9 3.0 1.4 0.2" | |
] | |
}, | |
"execution_count": 4, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"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>sepal length (cm)</th>\n", | |
" <th>sepal width (cm)</th>\n", | |
" <th>petal length (cm)</th>\n", | |
" <th>petal width (cm)</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>148</th>\n", | |
" <td>6.2</td>\n", | |
" <td>3.4</td>\n", | |
" <td>5.4</td>\n", | |
" <td>2.3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>149</th>\n", | |
" <td>5.9</td>\n", | |
" <td>3.0</td>\n", | |
" <td>5.1</td>\n", | |
" <td>1.8</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" sepal length (cm) sepal width (cm) petal length (cm) petal width (cm)\n", | |
"148 6.2 3.4 5.4 2.3\n", | |
"149 5.9 3.0 5.1 1.8" | |
] | |
}, | |
"execution_count": 4, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df.head(2)\n", | |
"df.tail(2)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0xbdfdd30>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"## Histograms on diagonal. Scatter plots on off-diagonal\n", | |
"_ = pd.plotting.scatter_matrix(df, c=y, figsize = [8, 8], s=150, marker='D')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<hr>\n", | |
"#### KNN Classification in sklearn: predict label of any data point by looking at k nearest neighbors and getting them to majority vote\n", | |
"apply .fit() method to classifier\n", | |
"\n", | |
"features and targets must be np array or pd DataFrame\n", | |
"features must be continuous\n", | |
"must not have missing data" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',\n", | |
" metric_params=None, n_jobs=1, n_neighbors=6, p=2,\n", | |
" weights='uniform')" | |
] | |
}, | |
"execution_count": 6, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"from sklearn.neighbors import KNeighborsClassifier\n", | |
"knn = KNeighborsClassifier(n_neighbors=6)\n", | |
"\n", | |
"knn.fit(iris['data'], iris['target'])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(1, 4)" | |
] | |
}, | |
"execution_count": 7, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"array([1])" | |
] | |
}, | |
"execution_count": 7, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"X_new = np.array([1, 4, 5, .5]).reshape(1,-1)\n", | |
"X_new.shape\n", | |
"\n", | |
"prediction = knn.predict(X_new)\n", | |
"prediction" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<hr>\n", | |
"#### Measuring Model Performance: accurracy is common classification metric\n", | |
"Accuracy = fraction of correct predictions. Aiming to measure on new data, as indicator of generalizability.\n", | |
"\n", | |
"AS k increases, the decision boundary smooths. Higher k is less complex model. \n", | |
"Complex models (with a lower k) run risk of being too sensitive to noise, overfitting.\n", | |
"\n", | |
"Model Complexity Curve to learn accuracy on varying values of k" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"from sklearn.model_selection import train_test_split\n", | |
"## stratify ensures appropriate distribution of labels in train/test sets. y are the labels, not 'yes' \n", | |
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.25, random_state=42, stratify=y) " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 42, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',\n", | |
" metric_params=None, n_jobs=1, n_neighbors=7, p=2,\n", | |
" weights='uniform')" | |
] | |
}, | |
"execution_count": 42, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Predictions: [0 0 1 0 1 1 0 0 1 1]\n", | |
"Accuracy: 0.9\n" | |
] | |
} | |
], | |
"source": [ | |
"knn = KNeighborsClassifier(n_neighbors=7)\n", | |
"knn.fit(X_train, y_train)\n", | |
"y_pred = knn.predict(X_test)\n", | |
"print(f\"Predictions: {y_pred}\")\n", | |
"\n", | |
"print(f\"Accuracy: {knn.score(X_test, y_test)}\")" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<hr>\n", | |
"<h1 align=\"center\" style=\"color:#005500\">Classification: MNIST Digits</h1>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"dict_keys(['data', 'target', 'target_names', 'images', 'DESCR'])" | |
] | |
}, | |
"execution_count": 10, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"(1797, 8, 8)" | |
] | |
}, | |
"execution_count": 10, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"digits = datasets.load_digits()\n", | |
"digits.keys()\n", | |
"digits.images.shape" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0xc60e0b8>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"_= plt.imshow(digits.images[999], cmap=plt.cm.gray_r, interpolation='nearest')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 12, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',\n", | |
" metric_params=None, n_jobs=1, n_neighbors=6, p=2,\n", | |
" weights='uniform')" | |
] | |
}, | |
"execution_count": 12, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"0.98\n" | |
] | |
} | |
], | |
"source": [ | |
"X = digits.data\n", | |
"y = digits.target\n", | |
"\n", | |
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.25, random_state=42, stratify=y)\n", | |
"knn = KNeighborsClassifier(n_neighbors=6)\n", | |
"knn.fit(X_train, y_train)\n", | |
"\n", | |
"print(knn.score(X_test, y_test))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 13, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"%%capture\n", | |
"\n", | |
"MAXKNEIGHBOR_PLUSONE = 12 # unlikely more than 11 wouldn't seriously underfit\n", | |
"\n", | |
"## Model Complexity Curve ##\n", | |
"neighbors = np.arange(1, MAXKNEIGHBOR_PLUSONE)\n", | |
"trainAccuracy = np.empty(len(neighbors))\n", | |
"testAccuracy = np.empty(len(neighbors))\n", | |
"\n", | |
"for i, k in enumerate(neighbors):\n", | |
" knn = KNeighborsClassifier(n_neighbors=k)\n", | |
" knn.fit(X_train, y_train)\n", | |
" \n", | |
" trainAccuracy[i] = knn.score(X_train, y_train)\n", | |
" testAccuracy[i] = knn.score(X_test, y_test)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 14, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0xc8b9588>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"_= plt.title(f'KNN: Comparison When Choosing Up To {MAXKNEIGHBOR_PLUSONE - 1} Neighbors')\n", | |
"_= plt.plot(neighbors, testAccuracy, label = 'Testing Accuracy')\n", | |
"_= plt.plot(neighbors, trainAccuracy, label = 'Training Accuracy')\n", | |
"_= plt.legend()\n", | |
"_= plt.xlabel('Number of Neighbors')\n", | |
"_= plt.ylabel('Accuracy')\n", | |
"_= plt.show()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 15, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([0.98444444, 0.98444444, 0.98444444, 0.98222222, 0.98444444,\n", | |
" 0.98 , 0.98 , 0.97777778, 0.97555556, 0.97777778,\n", | |
" 0.97777778])" | |
] | |
}, | |
"execution_count": 15, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"0.9844444444444445" | |
] | |
}, | |
"execution_count": 15, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"array([ True, True, True, False, True, False, False, False, False,\n", | |
" False, False])" | |
] | |
}, | |
"execution_count": 15, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"## Select potential k candidates based on distance to max test accuracy within threshold\n", | |
"testAccuracy\n", | |
"\n", | |
"maxTestAccuracy = testAccuracy.max()\n", | |
"maxTestAccuracy\n", | |
"\n", | |
"potentialKValues = testAccuracy > maxTestAccuracy * .999\n", | |
"potentialKValues" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 16, | |
"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>TestValueSufficient</th>\n", | |
" <th>TrainAccuracyComplement</th>\n", | |
" <th>MiddleOutOrder</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>5</th>\n", | |
" <td>False</td>\n", | |
" <td>0.0103935</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>True</td>\n", | |
" <td>0.0074239</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>6</th>\n", | |
" <td>False</td>\n", | |
" <td>0.00965108</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>False</td>\n", | |
" <td>0.00519673</td>\n", | |
" <td>4</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7</th>\n", | |
" <td>False</td>\n", | |
" <td>0.0118782</td>\n", | |
" <td>4</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>True</td>\n", | |
" <td>0.00445434</td>\n", | |
" <td>6</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>8</th>\n", | |
" <td>False</td>\n", | |
" <td>0.0141054</td>\n", | |
" <td>6</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>True</td>\n", | |
" <td>0.0081663</td>\n", | |
" <td>8</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>9</th>\n", | |
" <td>False</td>\n", | |
" <td>0.0155902</td>\n", | |
" <td>8</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>True</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>10</th>\n", | |
" <td>False</td>\n", | |
" <td>0.0148478</td>\n", | |
" <td>10</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" TestValueSufficient TrainAccuracyComplement MiddleOutOrder\n", | |
"5 False 0.0103935 0\n", | |
"4 True 0.0074239 2\n", | |
"6 False 0.00965108 2\n", | |
"3 False 0.00519673 4\n", | |
"7 False 0.0118782 4\n", | |
"2 True 0.00445434 6\n", | |
"8 False 0.0141054 6\n", | |
"1 True 0.0081663 8\n", | |
"9 False 0.0155902 8\n", | |
"0 True 0 10\n", | |
"10 False 0.0148478 10" | |
] | |
}, | |
"execution_count": 16, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"4" | |
] | |
}, | |
"execution_count": 16, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"## Choose a final k value based on middle out order to avoid [over|under]fitting. \n", | |
"## Training accuracy can break tie\n", | |
"\n", | |
"middleOutOrderForK = [abs((len(potentialKValues) - i) -1 - i) for i, k in enumerate(potentialKValues)]\n", | |
"#middleOutOrderForK\n", | |
"\n", | |
"kValuesDF = pd.DataFrame([potentialKValues, 1 - trainAccuracy, middleOutOrderForK], ).T\n", | |
"kValuesDF.columns = ['TestValueSufficient', 'TrainAccuracyComplement', 'MiddleOutOrder']\n", | |
"\n", | |
"kValuesDF.sort_values(['MiddleOutOrder', 'TrainAccuracyComplement'], inplace=True)\n", | |
"kValuesDF\n", | |
"\n", | |
"specialK = kValuesDF.sort_values(['MiddleOutOrder', 'TrainAccuracyComplement']).query('TestValueSufficient==True').head(1).index.tolist()[0]\n", | |
"specialK" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<hr>\n", | |
"<h1 align=\"center\" style=\"color:#005500\" >Regression: Boston Housing</h1>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 17, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"dict_keys(['data', 'target', 'feature_names', 'DESCR'])" | |
] | |
}, | |
"execution_count": 17, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"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>CRIM</th>\n", | |
" <th>ZN</th>\n", | |
" <th>INDUS</th>\n", | |
" <th>CHAS</th>\n", | |
" <th>NOX</th>\n", | |
" <th>RM</th>\n", | |
" <th>AGE</th>\n", | |
" <th>DIS</th>\n", | |
" <th>RAD</th>\n", | |
" <th>TAX</th>\n", | |
" <th>PTRATIO</th>\n", | |
" <th>B</th>\n", | |
" <th>LSTAT</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>0.00632</td>\n", | |
" <td>18.0</td>\n", | |
" <td>2.31</td>\n", | |
" <td>0.0</td>\n", | |
" <td>0.538</td>\n", | |
" <td>6.575</td>\n", | |
" <td>65.2</td>\n", | |
" <td>4.0900</td>\n", | |
" <td>1.0</td>\n", | |
" <td>296.0</td>\n", | |
" <td>15.3</td>\n", | |
" <td>396.9</td>\n", | |
" <td>4.98</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>0.02731</td>\n", | |
" <td>0.0</td>\n", | |
" <td>7.07</td>\n", | |
" <td>0.0</td>\n", | |
" <td>0.469</td>\n", | |
" <td>6.421</td>\n", | |
" <td>78.9</td>\n", | |
" <td>4.9671</td>\n", | |
" <td>2.0</td>\n", | |
" <td>242.0</td>\n", | |
" <td>17.8</td>\n", | |
" <td>396.9</td>\n", | |
" <td>9.14</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" CRIM ZN INDUS CHAS NOX RM AGE DIS RAD TAX \\\n", | |
"0 0.00632 18.0 2.31 0.0 0.538 6.575 65.2 4.0900 1.0 296.0 \n", | |
"1 0.02731 0.0 7.07 0.0 0.469 6.421 78.9 4.9671 2.0 242.0 \n", | |
"\n", | |
" PTRATIO B LSTAT \n", | |
"0 15.3 396.9 4.98 \n", | |
"1 17.8 396.9 9.14 " | |
] | |
}, | |
"execution_count": 17, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"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>CRIM</th>\n", | |
" <th>ZN</th>\n", | |
" <th>INDUS</th>\n", | |
" <th>CHAS</th>\n", | |
" <th>NOX</th>\n", | |
" <th>RM</th>\n", | |
" <th>AGE</th>\n", | |
" <th>DIS</th>\n", | |
" <th>RAD</th>\n", | |
" <th>TAX</th>\n", | |
" <th>PTRATIO</th>\n", | |
" <th>B</th>\n", | |
" <th>LSTAT</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>504</th>\n", | |
" <td>0.10959</td>\n", | |
" <td>0.0</td>\n", | |
" <td>11.93</td>\n", | |
" <td>0.0</td>\n", | |
" <td>0.573</td>\n", | |
" <td>6.794</td>\n", | |
" <td>89.3</td>\n", | |
" <td>2.3889</td>\n", | |
" <td>1.0</td>\n", | |
" <td>273.0</td>\n", | |
" <td>21.0</td>\n", | |
" <td>393.45</td>\n", | |
" <td>6.48</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>505</th>\n", | |
" <td>0.04741</td>\n", | |
" <td>0.0</td>\n", | |
" <td>11.93</td>\n", | |
" <td>0.0</td>\n", | |
" <td>0.573</td>\n", | |
" <td>6.030</td>\n", | |
" <td>80.8</td>\n", | |
" <td>2.5050</td>\n", | |
" <td>1.0</td>\n", | |
" <td>273.0</td>\n", | |
" <td>21.0</td>\n", | |
" <td>396.90</td>\n", | |
" <td>7.88</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" CRIM ZN INDUS CHAS NOX RM AGE DIS RAD TAX \\\n", | |
"504 0.10959 0.0 11.93 0.0 0.573 6.794 89.3 2.3889 1.0 273.0 \n", | |
"505 0.04741 0.0 11.93 0.0 0.573 6.030 80.8 2.5050 1.0 273.0 \n", | |
"\n", | |
" PTRATIO B LSTAT \n", | |
"504 21.0 393.45 6.48 \n", | |
"505 21.0 396.90 7.88 " | |
] | |
}, | |
"execution_count": 17, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"Boston = datasets.load_boston()\n", | |
"\n", | |
"Boston.keys()\n", | |
"bostonDF = pd.DataFrame(Boston.data, columns=Boston.feature_names)\n", | |
"\n", | |
"bostonDF.head(2)\n", | |
"bostonDF.tail(2)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 18, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0xcced0f0>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"X_rooms = bostonDF['RM'].values.reshape(-1, 1)\n", | |
"y = Boston.target.reshape(-1, 1)\n", | |
"\n", | |
"reg = linear_model.LinearRegression()\n", | |
"_= reg.fit(X_rooms, y)\n", | |
"\n", | |
"predict_space = np.linspace(min(X_rooms), max(X_rooms)).reshape(-1, 1)\n", | |
"\n", | |
"_= plt.scatter(X_rooms, y, alpha = .5)\n", | |
"_= plt.plot(predict_space, reg.predict(predict_space), color='black', linewidth=2)\n", | |
"_= plt.annotate( f\"R^2: {round(reg.score(X_rooms, y), 2)}\", (min(X_rooms) * 1.1, max(y)[0] * .8)) # last arg is tuple of positions.\n", | |
"_= plt.xlabel('Number of Rooms')\n", | |
"_= plt.ylabel('USD Value of House / 1000')\n", | |
"_= plt.show()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 19, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(506, 13)" | |
] | |
}, | |
"execution_count": 19, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"(506, 1)" | |
] | |
}, | |
"execution_count": 19, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Non-Adjusted, Non-Normalized R^2: 0.71\n", | |
"RMSE: 4.64\n", | |
"7 Fold Cross Validation R^2 Mean: 0.45\n" | |
] | |
} | |
], | |
"source": [ | |
"from sklearn.linear_model import LinearRegression\n", | |
"from sklearn.metrics import mean_squared_error\n", | |
"from sklearn.model_selection import cross_val_score\n", | |
"\n", | |
"X = Boston.data\n", | |
"y = Boston.target.reshape(-1, 1)\n", | |
"\n", | |
"X.shape\n", | |
"y.shape\n", | |
"\n", | |
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.3, random_state=42)\n", | |
"\n", | |
"reg_all = LinearRegression()\n", | |
"_= reg_all.fit(X_train, y_train)\n", | |
"\n", | |
"y_pred = reg_all.predict(X_test)\n", | |
"\n", | |
"\n", | |
"print(f\"Non-Adjusted, Non-Normalized R^2: {round(reg_all.score(X_test, y_test), 2)}\")\n", | |
"print(f\"RMSE: {round(np.sqrt(mean_squared_error(y_test, y_pred)), 2)}\")\n", | |
"print(f\"7 Fold Cross Validation R^2 Mean: {round(cross_val_score(linear_model.LinearRegression(), X, y, cv=7).mean(), 2)}\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 20, | |
"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>CRIM</th>\n", | |
" <th>ZN</th>\n", | |
" <th>INDUS</th>\n", | |
" <th>CHAS</th>\n", | |
" <th>NOX</th>\n", | |
" <th>RM</th>\n", | |
" <th>AGE</th>\n", | |
" <th>DIS</th>\n", | |
" <th>RAD</th>\n", | |
" <th>TAX</th>\n", | |
" <th>PTRATIO</th>\n", | |
" <th>B</th>\n", | |
" <th>LSTAT</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>CRIM</th>\n", | |
" <td>1.000000</td>\n", | |
" <td>-0.199458</td>\n", | |
" <td>0.404471</td>\n", | |
" <td>-0.055295</td>\n", | |
" <td>0.417521</td>\n", | |
" <td>-0.219940</td>\n", | |
" <td>0.350784</td>\n", | |
" <td>-0.377904</td>\n", | |
" <td>0.622029</td>\n", | |
" <td>0.579564</td>\n", | |
" <td>0.288250</td>\n", | |
" <td>-0.377365</td>\n", | |
" <td>0.452220</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>ZN</th>\n", | |
" <td>-0.199458</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>-0.533828</td>\n", | |
" <td>-0.042697</td>\n", | |
" <td>-0.516604</td>\n", | |
" <td>0.311991</td>\n", | |
" <td>-0.569537</td>\n", | |
" <td>0.664408</td>\n", | |
" <td>-0.311948</td>\n", | |
" <td>-0.314563</td>\n", | |
" <td>-0.391679</td>\n", | |
" <td>0.175520</td>\n", | |
" <td>-0.412995</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>INDUS</th>\n", | |
" <td>0.404471</td>\n", | |
" <td>-0.533828</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>0.062938</td>\n", | |
" <td>0.763651</td>\n", | |
" <td>-0.391676</td>\n", | |
" <td>0.644779</td>\n", | |
" <td>-0.708027</td>\n", | |
" <td>0.595129</td>\n", | |
" <td>0.720760</td>\n", | |
" <td>0.383248</td>\n", | |
" <td>-0.356977</td>\n", | |
" <td>0.603800</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>CHAS</th>\n", | |
" <td>-0.055295</td>\n", | |
" <td>-0.042697</td>\n", | |
" <td>0.062938</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>0.091203</td>\n", | |
" <td>0.091251</td>\n", | |
" <td>0.086518</td>\n", | |
" <td>-0.099176</td>\n", | |
" <td>-0.007368</td>\n", | |
" <td>-0.035587</td>\n", | |
" <td>-0.121515</td>\n", | |
" <td>0.048788</td>\n", | |
" <td>-0.053929</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>NOX</th>\n", | |
" <td>0.417521</td>\n", | |
" <td>-0.516604</td>\n", | |
" <td>0.763651</td>\n", | |
" <td>0.091203</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>-0.302188</td>\n", | |
" <td>0.731470</td>\n", | |
" <td>-0.769230</td>\n", | |
" <td>0.611441</td>\n", | |
" <td>0.668023</td>\n", | |
" <td>0.188933</td>\n", | |
" <td>-0.380051</td>\n", | |
" <td>0.590879</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>RM</th>\n", | |
" <td>-0.219940</td>\n", | |
" <td>0.311991</td>\n", | |
" <td>-0.391676</td>\n", | |
" <td>0.091251</td>\n", | |
" <td>-0.302188</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>-0.240265</td>\n", | |
" <td>0.205246</td>\n", | |
" <td>-0.209847</td>\n", | |
" <td>-0.292048</td>\n", | |
" <td>-0.355501</td>\n", | |
" <td>0.128069</td>\n", | |
" <td>-0.613808</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>AGE</th>\n", | |
" <td>0.350784</td>\n", | |
" <td>-0.569537</td>\n", | |
" <td>0.644779</td>\n", | |
" <td>0.086518</td>\n", | |
" <td>0.731470</td>\n", | |
" <td>-0.240265</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>-0.747881</td>\n", | |
" <td>0.456022</td>\n", | |
" <td>0.506456</td>\n", | |
" <td>0.261515</td>\n", | |
" <td>-0.273534</td>\n", | |
" <td>0.602339</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>DIS</th>\n", | |
" <td>-0.377904</td>\n", | |
" <td>0.664408</td>\n", | |
" <td>-0.708027</td>\n", | |
" <td>-0.099176</td>\n", | |
" <td>-0.769230</td>\n", | |
" <td>0.205246</td>\n", | |
" <td>-0.747881</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>-0.494588</td>\n", | |
" <td>-0.534432</td>\n", | |
" <td>-0.232471</td>\n", | |
" <td>0.291512</td>\n", | |
" <td>-0.496996</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>RAD</th>\n", | |
" <td>0.622029</td>\n", | |
" <td>-0.311948</td>\n", | |
" <td>0.595129</td>\n", | |
" <td>-0.007368</td>\n", | |
" <td>0.611441</td>\n", | |
" <td>-0.209847</td>\n", | |
" <td>0.456022</td>\n", | |
" <td>-0.494588</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>0.910228</td>\n", | |
" <td>0.464741</td>\n", | |
" <td>-0.444413</td>\n", | |
" <td>0.488676</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>TAX</th>\n", | |
" <td>0.579564</td>\n", | |
" <td>-0.314563</td>\n", | |
" <td>0.720760</td>\n", | |
" <td>-0.035587</td>\n", | |
" <td>0.668023</td>\n", | |
" <td>-0.292048</td>\n", | |
" <td>0.506456</td>\n", | |
" <td>-0.534432</td>\n", | |
" <td>0.910228</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>0.460853</td>\n", | |
" <td>-0.441808</td>\n", | |
" <td>0.543993</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>PTRATIO</th>\n", | |
" <td>0.288250</td>\n", | |
" <td>-0.391679</td>\n", | |
" <td>0.383248</td>\n", | |
" <td>-0.121515</td>\n", | |
" <td>0.188933</td>\n", | |
" <td>-0.355501</td>\n", | |
" <td>0.261515</td>\n", | |
" <td>-0.232471</td>\n", | |
" <td>0.464741</td>\n", | |
" <td>0.460853</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>-0.177383</td>\n", | |
" <td>0.374044</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>B</th>\n", | |
" <td>-0.377365</td>\n", | |
" <td>0.175520</td>\n", | |
" <td>-0.356977</td>\n", | |
" <td>0.048788</td>\n", | |
" <td>-0.380051</td>\n", | |
" <td>0.128069</td>\n", | |
" <td>-0.273534</td>\n", | |
" <td>0.291512</td>\n", | |
" <td>-0.444413</td>\n", | |
" <td>-0.441808</td>\n", | |
" <td>-0.177383</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>-0.366087</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>LSTAT</th>\n", | |
" <td>0.452220</td>\n", | |
" <td>-0.412995</td>\n", | |
" <td>0.603800</td>\n", | |
" <td>-0.053929</td>\n", | |
" <td>0.590879</td>\n", | |
" <td>-0.613808</td>\n", | |
" <td>0.602339</td>\n", | |
" <td>-0.496996</td>\n", | |
" <td>0.488676</td>\n", | |
" <td>0.543993</td>\n", | |
" <td>0.374044</td>\n", | |
" <td>-0.366087</td>\n", | |
" <td>1.000000</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" CRIM ZN INDUS CHAS NOX RM AGE \\\n", | |
"CRIM 1.000000 -0.199458 0.404471 -0.055295 0.417521 -0.219940 0.350784 \n", | |
"ZN -0.199458 1.000000 -0.533828 -0.042697 -0.516604 0.311991 -0.569537 \n", | |
"INDUS 0.404471 -0.533828 1.000000 0.062938 0.763651 -0.391676 0.644779 \n", | |
"CHAS -0.055295 -0.042697 0.062938 1.000000 0.091203 0.091251 0.086518 \n", | |
"NOX 0.417521 -0.516604 0.763651 0.091203 1.000000 -0.302188 0.731470 \n", | |
"RM -0.219940 0.311991 -0.391676 0.091251 -0.302188 1.000000 -0.240265 \n", | |
"AGE 0.350784 -0.569537 0.644779 0.086518 0.731470 -0.240265 1.000000 \n", | |
"DIS -0.377904 0.664408 -0.708027 -0.099176 -0.769230 0.205246 -0.747881 \n", | |
"RAD 0.622029 -0.311948 0.595129 -0.007368 0.611441 -0.209847 0.456022 \n", | |
"TAX 0.579564 -0.314563 0.720760 -0.035587 0.668023 -0.292048 0.506456 \n", | |
"PTRATIO 0.288250 -0.391679 0.383248 -0.121515 0.188933 -0.355501 0.261515 \n", | |
"B -0.377365 0.175520 -0.356977 0.048788 -0.380051 0.128069 -0.273534 \n", | |
"LSTAT 0.452220 -0.412995 0.603800 -0.053929 0.590879 -0.613808 0.602339 \n", | |
"\n", | |
" DIS RAD TAX PTRATIO B LSTAT \n", | |
"CRIM -0.377904 0.622029 0.579564 0.288250 -0.377365 0.452220 \n", | |
"ZN 0.664408 -0.311948 -0.314563 -0.391679 0.175520 -0.412995 \n", | |
"INDUS -0.708027 0.595129 0.720760 0.383248 -0.356977 0.603800 \n", | |
"CHAS -0.099176 -0.007368 -0.035587 -0.121515 0.048788 -0.053929 \n", | |
"NOX -0.769230 0.611441 0.668023 0.188933 -0.380051 0.590879 \n", | |
"RM 0.205246 -0.209847 -0.292048 -0.355501 0.128069 -0.613808 \n", | |
"AGE -0.747881 0.456022 0.506456 0.261515 -0.273534 0.602339 \n", | |
"DIS 1.000000 -0.494588 -0.534432 -0.232471 0.291512 -0.496996 \n", | |
"RAD -0.494588 1.000000 0.910228 0.464741 -0.444413 0.488676 \n", | |
"TAX -0.534432 0.910228 1.000000 0.460853 -0.441808 0.543993 \n", | |
"PTRATIO -0.232471 0.464741 0.460853 1.000000 -0.177383 0.374044 \n", | |
"B 0.291512 -0.444413 -0.441808 -0.177383 1.000000 -0.366087 \n", | |
"LSTAT -0.496996 0.488676 0.543993 0.374044 -0.366087 1.000000 " | |
] | |
}, | |
"execution_count": 20, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0xca31f28>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"_ = sns.heatmap(bostonDF.corr(), cmap='RdYlGn')\n", | |
"bostonDF.corr()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 21, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"## TODO: relearn Bokeh\n", | |
"# from bokeh.io import output_notebook, show\n", | |
"# from bokeh.plotting import figure\n", | |
"# output_notebook()\n", | |
"\n", | |
"# factors = [\"foo 123\", \"bar:0.2\", \"baz-10\"]\n", | |
"# x = [\"foo 123\", \"foo 123\", \"foo 123\", \"bar:0.2\", \"bar:0.2\", \"bar:0.2\", \"baz-10\", \"baz-10\", \"baz-10\"]\n", | |
"# y = [\"foo 123\", \"bar:0.2\", \"baz-10\", \"foo 123\", \"bar:0.2\", \"baz-10\", \"foo 123\", \"bar:0.2\", \"baz-10\"]\n", | |
"# colors = [\n", | |
"# \"#0B486B\", \"#79BD9A\", \"#CFF09E\",\n", | |
"# \"#79BD9A\", \"#0B486B\", \"#79BD9A\",\n", | |
"# \"#CFF09E\", \"#79BD9A\", \"#0B486B\"]\n", | |
"\n", | |
"# hm = figure(title=\"Categorical Heatmap\", tools=\"hover\", toolbar_location=None,\n", | |
"# x_range=factors, y_range=factors)\n", | |
"\n", | |
"# hm.rect(x, y, color=colors, width=1, height=1)\n", | |
"\n", | |
"# show(hm)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<hr>\n", | |
"<h2 align=\"center\" style=\"color:#005500\">Regularization: penalizing large coefficients</h2>\n", | |
"<blockquote>\n", | |
"<h3>Ridge Regression:</h3> loss function = standard OLS + squared value of each coefficient, multiplied by ALPHA...\n", | |
"$\n", | |
"\\begin{align}\n", | |
"OLS Loss Function() + \\alpha * \\sum_{i=1}^n a_i^2\n", | |
"\\end{align}\n", | |
"$\n", | |
"<br>Computes L2 <a href=\"https://www.kaggle.com/residentmario/l1-norms-versus-l2-norms\">norm</a>\n", | |
"</blockquote>\n", | |
"<blockquote>\n", | |
"<h3>Lasso Regression:</h3> loss function = standard OLS + absolute value of each coefficient, multiplied by ALPHA...\n", | |
"$\n", | |
"\\begin{align}\n", | |
"OLS Loss Function() + \\alpha * \\sum_{i=1}^n \\space\\bigl| a_i \\bigr|\n", | |
"\\end{align}\n", | |
"$\n", | |
"<br>Computes L1 <a href=\"https://www.kaggle.com/residentmario/l1-norms-versus-l2-norms\">norm</a>\n", | |
"<br>Shrinks coefficients of less important features to zero. Useful for feature selection. Lasso selects those != 0\n", | |
"</blockquote>\n", | |
"<br>How to choose alpha? Hyperparameter tuning. Similar to choosing k in KNN <br>\n", | |
"Alpha = 0? Results in just OLS. Potential overfitting <br>\n", | |
"Alpha too high? Too Draconian in penalizing large coefficients. Underfitting.\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 22, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0xcced4e0>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"## Lasso ##\n", | |
"from sklearn.linear_model import Lasso\n", | |
"\n", | |
"lasso = Lasso(alpha=.3, normalize=True)\n", | |
"lasso_coef = lasso.fit(Boston.data, Boston.target.reshape(-1, 1)).coef_\n", | |
"#lasso_coef\n", | |
"\n", | |
"_ = plt.rcParams[\"figure.figsize\"] = [10,6]\n", | |
"_ = plt.plot(range(len(bostonDF.columns)), lasso_coef)\n", | |
"_ = plt.title(\"Lasso Regression: Boston Housing feature selection\")\n", | |
"_ = plt.xticks(range(len(bostonDF.columns)), Boston.feature_names)\n", | |
"_ = plt.show()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 23, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"## Ridge Alpha Display Plot func ##\n", | |
"def display_plot(cv_scores, cv_scores_std):\n", | |
" fig = plt.figure()\n", | |
" ax = fig.add_subplot(1, 1, 1)\n", | |
" ax.plot(alpha_space, cv_scores)\n", | |
" \n", | |
" std_error = cv_scores_std / np.sqrt(10)\n", | |
" \n", | |
" ax.fill_between(alpha_space, cv_scores + std_error, cv_scores - std_error, alpha=.4)\n", | |
" ax.set_ylabel('CV Score +- Std. Error')\n", | |
" ax.set_xlabel(f'Alpha')\n", | |
" ax.axhline(np.max(cv_scores), linestyle='--', color='#005500')\n", | |
" ax.set_xlim([alpha_space[0], alpha_space[-1]])\n", | |
" ax.set_xscale('log')\n", | |
" plt.show()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 24, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0xc721f98>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"## Ridge ##\n", | |
"from sklearn.linear_model import Ridge\n", | |
"\n", | |
"alpha_space = np.logspace(-4, 0, 50)\n", | |
"ridge_scores = []\n", | |
"ridge_scores_std = []\n", | |
"\n", | |
"ridge = Ridge(normalize=True)\n", | |
"\n", | |
"for alpha in alpha_space:\n", | |
" ridge.alpha = alpha\n", | |
" ridge_cv_scores = cross_val_score(ridge, X, y, cv=10)\n", | |
" ridge_scores.append(np.mean(ridge_cv_scores))\n", | |
" ridge_scores_std.append(np.std(ridge_cv_scores))\n", | |
"\n", | |
"display_plot(ridge_scores, ridge_scores_std)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<hr>\n", | |
"<h2 align=\"center\" style=\"color:#005500\">Classification: Beyond Accuracy</h2>\n", | |
"\n", | |
"<h3 style=\"margin-left:50px;color:#005521;box-shadow: 2px 3px #005521; display:inline-block;\"><span style=\"text-shadow: 1px 1px\">Confusion</span> Matrix</h3>\n", | |
"<table align=\"left\" style=\"margin-top:0px;display:block;\">\n", | |
" <tr>\n", | |
" <th></th>\n", | |
" <th>Predicted Positive</th>\n", | |
" <th>Predicted Negative</th>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <td style=\"font-weight:bold\">Actual Positive</td>\n", | |
" <td>True Positive</td>\n", | |
" <td>False Negative</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <td style=\"font-weight:bold\">Actual Negative</td>\n", | |
" <td>False Positive</td>\n", | |
" <td>True Negative</td>\n", | |
" </tr>\n", | |
"</table>\n", | |
"\n", | |
"$$\n", | |
"\\begin{align}\n", | |
"accuracy = {tp + tn \\over tp + tn + fp + fn} \\qquad\n", | |
"precision = {tp \\over tp + fp} \\qquad\n", | |
"recall = {tp \\over tp + fn}\n", | |
"\\qquad\\text{F1 Score} = 2 *{precision * recall \\over precision + recall}\n", | |
"\\end{align}\n", | |
"$$\n", | |
"\n", | |
"<ul style=\"float:left; padding-top:20px;\">\n", | |
"<li>accuracy: fraction of correctly classified samples. Not sufficient for imbalanced classes. Can get 99% accuracy by labelling everything spam if only 1% is spam. In case of email classification, spam is the <span style=\"font-weight:bold\"><i>positive class</i></span></li>\n", | |
"<li>precision: number of true positives divided by the total number of positives. AKA the positive predicted value (PPV)</li>\n", | |
"<li>recall: number of true positives divided by the total number of true positives and false negatives. AKA sensitivity, hit rate, true positive rate</li>\n", | |
"<li>F1 score: two times the product of the precision and recall, divided by the sum of the precision and recall. The <a href=\"https://www.investopedia.com/terms/h/harmonicaverage.asp#harmonic-mean-vs-arithmetic-mean-and-geometric-mean\">harmonic mean</a> of precision and recall</li>\n", | |
"</ul>\n", | |
"<div class=\"clearfix\"></div>\n", | |
"\n", | |
"<div><br>\n", | |
"High precision means our classifier has a low false positive rate.<br>\n", | |
"High recall means our classifier predicted most positive items correctly.\n", | |
"</div> \n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 25, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',\n", | |
" metric_params=None, n_jobs=1, n_neighbors=7, p=2,\n", | |
" weights='uniform')" | |
] | |
}, | |
"execution_count": 25, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"[[67 0 0 0 0 0 0 0 0 0]\n", | |
" [ 0 72 0 0 0 0 0 0 0 0]\n", | |
" [ 0 0 66 0 0 0 0 0 0 0]\n", | |
" [ 0 0 0 70 0 0 0 0 1 0]\n", | |
" [ 0 0 0 0 78 0 0 0 0 0]\n", | |
" [ 0 0 0 0 0 81 1 0 0 1]\n", | |
" [ 0 0 0 0 0 0 69 0 0 0]\n", | |
" [ 0 0 0 0 0 0 0 71 0 0]\n", | |
" [ 0 2 0 0 0 0 0 0 63 0]\n", | |
" [ 0 0 0 1 1 1 0 0 0 74]]\n", | |
" precision recall f1-score support\n", | |
"\n", | |
" 0 1.00 1.00 1.00 67\n", | |
" 1 0.97 1.00 0.99 72\n", | |
" 2 1.00 1.00 1.00 66\n", | |
" 3 0.99 0.99 0.99 71\n", | |
" 4 0.99 1.00 0.99 78\n", | |
" 5 0.99 0.98 0.98 83\n", | |
" 6 0.99 1.00 0.99 69\n", | |
" 7 1.00 1.00 1.00 71\n", | |
" 8 0.98 0.97 0.98 65\n", | |
" 9 0.99 0.96 0.97 77\n", | |
"\n", | |
"avg / total 0.99 0.99 0.99 719\n", | |
"\n" | |
] | |
} | |
], | |
"source": [ | |
"from sklearn.metrics import classification_report\n", | |
"from sklearn.metrics import confusion_matrix\n", | |
"\n", | |
"knn = KNeighborsClassifier(n_neighbors=7)\n", | |
"\n", | |
"X = digits.data\n", | |
"y = digits.target\n", | |
"\n", | |
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.4, random_state=42)\n", | |
"\n", | |
"knn.fit(X_train, y_train)\n", | |
"\n", | |
"y_pred = knn.predict(X_test)\n", | |
"\n", | |
"print(confusion_matrix(y_test, y_pred))\n", | |
"print(classification_report(y_test, y_pred))" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<hr>\n", | |
"<h2 align=\"center\" style=\"color:#005500\">KNN Confusion Matrix, Logistic Regression, ROC, AUC: Mtcars</h2>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 26, | |
"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>brand</th>\n", | |
" <th>mpg</th>\n", | |
" <th>cyl</th>\n", | |
" <th>disp</th>\n", | |
" <th>hp</th>\n", | |
" <th>drat</th>\n", | |
" <th>wt</th>\n", | |
" <th>qsec</th>\n", | |
" <th>vs</th>\n", | |
" <th>am</th>\n", | |
" <th>gear</th>\n", | |
" <th>carb</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>Mazda RX4</td>\n", | |
" <td>21.0</td>\n", | |
" <td>6</td>\n", | |
" <td>160.0</td>\n", | |
" <td>110</td>\n", | |
" <td>3.9</td>\n", | |
" <td>2.620</td>\n", | |
" <td>16.46</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" <td>4</td>\n", | |
" <td>4</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>Mazda RX4 Wag</td>\n", | |
" <td>21.0</td>\n", | |
" <td>6</td>\n", | |
" <td>160.0</td>\n", | |
" <td>110</td>\n", | |
" <td>3.9</td>\n", | |
" <td>2.875</td>\n", | |
" <td>17.02</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" <td>4</td>\n", | |
" <td>4</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" brand mpg cyl disp hp drat wt qsec vs am gear \\\n", | |
"0 Mazda RX4 21.0 6 160.0 110 3.9 2.620 16.46 0 1 4 \n", | |
"1 Mazda RX4 Wag 21.0 6 160.0 110 3.9 2.875 17.02 0 1 4 \n", | |
"\n", | |
" carb \n", | |
"0 4 \n", | |
"1 4 " | |
] | |
}, | |
"execution_count": 26, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',\n", | |
" metric_params=None, n_jobs=1, n_neighbors=7, p=2,\n", | |
" weights='uniform')" | |
] | |
}, | |
"execution_count": 26, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"[[3 2]\n", | |
" [2 3]]\n", | |
" precision recall f1-score support\n", | |
"\n", | |
" 0 0.60 0.60 0.60 5\n", | |
" 1 0.60 0.60 0.60 5\n", | |
"\n", | |
"avg / total 0.60 0.60 0.60 10\n", | |
"\n" | |
] | |
} | |
], | |
"source": [ | |
"## Now a binary classifier\n", | |
"\n", | |
"mtcars = pd.read_csv('https://gist.githubusercontent.com/ZeccaLehn/4e06d2575eb9589dbe8c365d61cb056c/raw/64f1660f38ef523b2a1a13be77b002b98665cdfe/mtcars.csv')\n", | |
"mtcars.rename(columns={'Unnamed: 0':'brand'}, inplace=True)\n", | |
"mtcars.head(2)\n", | |
"\n", | |
"y = mtcars['am']\n", | |
"X = mtcars.drop(['brand', 'am'], axis=1)\n", | |
"\n", | |
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.3)\n", | |
"\n", | |
"knn = KNeighborsClassifier(n_neighbors=7)\n", | |
"\n", | |
"knn.fit(X_train, y_train)\n", | |
"\n", | |
"y_pred = knn.predict(X_test)\n", | |
"\n", | |
"print(confusion_matrix(y_test, y_pred))\n", | |
"print(classification_report(y_test, y_pred))" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<hr>\n", | |
"<h3 style=\"margin-left:10px;color:#005521; display:inline-block;\">Logistic Regression</h3><br>\n", | |
"<p>Used in classification problems, not regression problems.</p>\n", | |
"Logreg decision boundary is linear <br>\n", | |
"Logreg outputs probabilities 'p'. Default threshold for p is .5; Same as KNN.\n", | |
"\n", | |
"<div style=\"font-weight:bold;margin-top:30px;\">What happens to true positive rate and false positive rate as you vary threshold?</div>\n", | |
"<ul>\n", | |
" <li>When threshold = 0, the model predicts 1 for all data. So TPR and FPR are equal to 1; </li>\n", | |
" <li>When threshold = 1, the model predicts 0 for all data. So TPR and FPR are equal to 0; </li>\n", | |
" <li>If you vary threshold between 0 and 1, you get a list of tuples of various TP and FP rates. </li>\n", | |
" <li>Plot out the tuples? Get the ROC (Receiver Operator Characteristic) Curve</li>\n", | |
"</ul>\n", | |
"\n", | |
"Note: if you have binary classifier making random guesses, it would be correct ~ 50% of the time, and the ROC curve would be diagonal line where the TPR and FPR are always equal. The AUC would be 0.5" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 27, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\n", | |
" intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\n", | |
" penalty='l2', random_state=None, solver='liblinear', tol=0.0001,\n", | |
" verbose=0, warm_start=False)" | |
] | |
}, | |
"execution_count": 27, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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Se65x9CtWw9atGhF27YdGDLkWebMmcHTTw/kjjvupFOnrmzb9iO9ez9OiRJBDBjw3CX7/0bhk1eqLkzi4hIKvNDQ0GDi4hIuvaEX+OGHLYwYMYytW3/iww8X06xZC4/Von4pfNQnhZP6pfBRnxRO7uiX0NDg7BfduWhuR7nA0aNHGDs2io8++gCALl26ct9993u4KhERkRuHwpdkmj17OuPGjSEx8SxVqjzI+PETc7xQVURERK6cwpdkSkxMJDAwgOjo1+jevSd+fn6eLklEROSGowvuvdjevXsYOvR5UlNTAejXbyCbNm2lZ8/eCl4iIiIFRCNfXujs2QSmTPkHM2ZM4/z589SrV59HHvkzgYGBmhJIRESkgGnky4tkZGSwcOEC6tatyRtvvEr58hWYM+c9unR51NOliYiIeA2NfHmRZ555ikWLPqJYsWK88MIIBgwYRLFixTxdloiIiFdR+LrBpaamZt6luUuXrqSlpREVNZZbb73Nw5WJiIh4J512vEGlpqby1ltv8NBDD3LkyH8B5x2lZ816R8FLRETEgxS+bkBr135F06b1iYp6kXPnkrB2t6dLEhEREReFrxvI77//Rs+e3ejWrQt79/5K79592bRpK40bN/V0aSIiIuKia75uINHRo1i9eiX16jVg3LiJVKlS1dMliYiIyEUUvq5jDoeDLVs28/DDdQEYPXoMnTs/QocOnfHxyXU+TxEREfEgnXa8Tu3YsY327VvRvn04mzdvAqBSpbvp2LGLgpeIiEghppGv68zx48eZMGEM778/D4fDQbt2HalYsaKnyxIREZF8Uvi6jsydO5tx46I5c+Y09913PzExr9CoURNPlyUiIiKXQeHrOnL48CF8fHwYN+4VevXqi7+/v6dLEhERkcuka74Ksf379xEVNYL09HQAnntuCLGxPxEZ2V/BS0RE5Dqlka9CKDExkddfn8q0aa+RkpJCrVq16dChM0FBQQQFBXm6PBEREbkKGvkqRBwOB59+uogGDWozZcpEbrqpNG+9NZv27Tt5ujQRERG5RjTyVYj079+XxYs/JiAggOefH8qgQYM10iUiInKDUfjysPT0dPz8/ABo1ao1SUlJREeP4667Knm4MhERESkIOu14lZKTk+nf/6/s37/vsp6XlpbGnDkzqV+/FvHxJwDo1OkR3n33AwUvERGRG5jC11XYvftn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\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0xc8f67b8>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"#### Logreg using wt and qsec on mtcars. ####\n", | |
"\n", | |
"from sklearn.linear_model import LogisticRegression\n", | |
"from sklearn.metrics import roc_auc_score\n", | |
"from sklearn.metrics import roc_curve\n", | |
"from sklearn.model_selection import cross_val_score\n", | |
"\n", | |
"\n", | |
"logreg = LogisticRegression()\n", | |
"\n", | |
"X_train, X_test, y_train, y_test = train_test_split(X[['wt', 'qsec']], y, test_size=.3, random_state=81)\n", | |
"\n", | |
"logreg.fit(X_train, y_train)\n", | |
"\n", | |
"y_pred = logreg.predict(X_test)\n", | |
"\n", | |
"## method returns array w/ 2 cols. Each contains prob for respective target values. We want prob of labels being 1.\n", | |
"y_pred_prob = logreg.predict_proba(X_test)[:,1] \n", | |
"\n", | |
"# AUC using cross-validation\n", | |
"cv_scores = cross_val_score(logreg, X[['wt', 'qsec']], y, cv=5, scoring='roc_auc')\n", | |
"\n", | |
"fpr, tpr, thresholds = roc_curve(y_test, y_pred_prob)\n", | |
"\n", | |
"\n", | |
"_= plt.plot([0, 1], [0, 1], 'k--')\n", | |
"_= plt.plot(fpr, tpr, label='Logistic Regression')\n", | |
"_= plt.xlabel('False Positive Rate')\n", | |
"_= plt.ylabel('True Positive Rate (AKA Recall)')\n", | |
"_= plt.title('Logistic Regression ROC Curve')\n", | |
"_= plt.annotate('p=0', xy=(1, .97))\n", | |
"_= plt.annotate('p=1', xy=(0, 0.04))\n", | |
"_= plt.annotate(f\"AUC: {roc_auc_score(y_test, y_pred_prob):,.3f}\", xy=(.846, .2), weight='bold')\n", | |
"_= plt.annotate(f\"5 Fold Cross Val AUC: {cv_scores.mean():,.3f}\", xy=(.686, .14), weight='bold')\n", | |
"\n", | |
"_= plt.show()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<hr>\n", | |
"<h2 align=\"center\" style=\"color:#005500\">{'Grid Search Cross Validation': \\[KNN, LogReg, Decision Tree\\]} ... Iris Hyper Parameter Tuning</h2>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 28, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"GridSearchCV(cv=5, error_score='raise',\n", | |
" estimator=KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',\n", | |
" metric_params=None, n_jobs=1, n_neighbors=5, p=2,\n", | |
" weights='uniform'),\n", | |
" fit_params=None, iid=True, n_jobs=1,\n", | |
" param_grid={'n_neighbors': array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,\n", | |
" 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,\n", | |
" 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49])},\n", | |
" pre_dispatch='2*n_jobs', refit=True, return_train_score='warn',\n", | |
" scoring=None, verbose=0)" | |
] | |
}, | |
"execution_count": 28, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"{'n_neighbors': 6}" | |
] | |
}, | |
"execution_count": 28, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"0.98" | |
] | |
}, | |
"execution_count": 28, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"from sklearn.model_selection import GridSearchCV\n", | |
"\n", | |
"X = iris.data\n", | |
"y = iris.target\n", | |
"\n", | |
"knn = KNeighborsClassifier()\n", | |
"\n", | |
"param_grid = {'n_neighbors': np.arange(1, 50)} # hyper parameter would be alpha in Ridge or Lasso Regression\n", | |
"knn_cv = GridSearchCV(knn, param_grid, cv=5)\n", | |
"\n", | |
"knn_cv.fit(X, y) # grid search done in place at this point\n", | |
"\n", | |
"knn_cv.best_params_\n", | |
"knn_cv.best_score_" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 29, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"GridSearchCV(cv=5, error_score='raise',\n", | |
" estimator=LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\n", | |
" intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\n", | |
" penalty='l2', random_state=None, solver='liblinear', tol=0.0001,\n", | |
" verbose=0, warm_start=False),\n", | |
" fit_params=None, iid=True, n_jobs=1,\n", | |
" param_grid={'C': array([1.00000e-05, 8.48343e-05, 7.19686e-04, 6.10540e-03, 5.17947e-02,\n", | |
" 4.39397e-01, 3.72759e+00, 3.16228e+01, 2.68270e+02, 2.27585e+03,\n", | |
" 1.93070e+04, 1.63789e+05, 1.38950e+06, 1.17877e+07, 1.00000e+08])},\n", | |
" pre_dispatch='2*n_jobs', refit=True, return_train_score='warn',\n", | |
" scoring=None, verbose=0)" | |
] | |
}, | |
"execution_count": 29, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Best Hyper Parameter 'C' Value = 268.270\n", | |
"Mean of 5 Fold CV...Best Score = 0.98\n" | |
] | |
} | |
], | |
"source": [ | |
"c_space = np.logspace(-5, 8, 15)\n", | |
"param_grid = {'C': c_space}\n", | |
"\n", | |
"logreg = LogisticRegression()\n", | |
"\n", | |
"logreg_cv = GridSearchCV(logreg, param_grid, cv=5)\n", | |
"\n", | |
"logreg_cv.fit(X, y)\n", | |
"\n", | |
"print(f\"Best Hyper Parameter 'C' Value = {list(logreg_cv.best_params_.values())[0]:,.3f}\")\n", | |
"print(f\"Mean of 5 Fold CV...Best Score = {logreg_cv.best_score_}\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 30, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"RandomizedSearchCV(cv=5, error_score='raise',\n", | |
" estimator=DecisionTreeClassifier(class_weight=None, criterion='gini', max_depth=None,\n", | |
" max_features=None, max_leaf_nodes=None,\n", | |
" min_impurity_decrease=0.0, min_impurity_split=None,\n", | |
" min_samples_leaf=1, min_samples_split=2,\n", | |
" min_weight_fraction_leaf=0.0, presort=False, random_state=None,\n", | |
" splitter='best'),\n", | |
" fit_params=None, iid=True, n_iter=10, n_jobs=1,\n", | |
" param_distributions={'max_depth': [3, None], 'max_features': <scipy.stats._distn_infrastructure.rv_frozen object at 0x000000000C71A390>, 'min_samples_leaf': <scipy.stats._distn_infrastructure.rv_frozen object at 0x000000000CA04E80>, 'criterion': ['gini', 'entropy']},\n", | |
" pre_dispatch='2*n_jobs', random_state=None, refit=True,\n", | |
" return_train_score='warn', scoring=None, verbose=0)" | |
] | |
}, | |
"execution_count": 30, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Best Hyper Parameters = {'criterion': 'gini', 'max_depth': 3, 'max_features': 3, 'min_samples_leaf': 2}\n", | |
"Best Score = 0.960\n" | |
] | |
} | |
], | |
"source": [ | |
"# Randomized Search for multiple hyper parameters of decision tree. Better than GridSearchCV in time and resource use, but will never outperform.\n", | |
"\n", | |
"from scipy.stats import randint\n", | |
"from sklearn.tree import DecisionTreeClassifier\n", | |
"from sklearn.model_selection import RandomizedSearchCV\n", | |
"\n", | |
"param_dist = {\"max_depth\": [3, None],\n", | |
" \"max_features\": randint(1, X.shape[1] + 1),\n", | |
" \"min_samples_leaf\": randint(1, X.shape[1] + 1),\n", | |
" \"criterion\": [\"gini\", \"entropy\"]}\n", | |
"\n", | |
"tree = DecisionTreeClassifier()\n", | |
"\n", | |
"tree_cv = RandomizedSearchCV(tree, param_dist, cv=5)\n", | |
"\n", | |
"tree_cv.fit(X, y)\n", | |
"\n", | |
"print(f\"Best Hyper Parameters = {tree_cv.best_params_}\")\n", | |
"print(f\"Best Score = {tree_cv.best_score_:,.3f}\")" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<hr>\n", | |
"<h4 align=\"center\" style=\"color:#005500\">ElasticNet Regression</h4><br>\n", | |
"elastic net regularized regression: While lasso uses L1 penalty to regularize, ridge uses L2 penalty to regularize; elastic net uses a linear combination of L1 and L2 as penalty term. \n", | |
"l1_ratio = a * L1 + b * L2\n", | |
"\n", | |
"A l1_ratio of 1 equates to the L1 penalty, while anything < 1 is a linear combination." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 108, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"GridSearchCV(cv=5, error_score='raise',\n", | |
" estimator=ElasticNet(alpha=1.0, copy_X=True, fit_intercept=True, l1_ratio=0.5,\n", | |
" max_iter=1000, normalize=False, positive=False, precompute=False,\n", | |
" random_state=None, selection='cyclic', tol=0.0001, warm_start=False),\n", | |
" fit_params=None, iid=True, n_jobs=1,\n", | |
" param_grid={'l1_ratio': array([0.05 , 0.08958, 0.12917, 0.16875, 0.20833, 0.24792, 0.2875 ,\n", | |
" 0.32708, 0.36667, 0.40625, 0.44583, 0.48542, 0.525 , 0.56458,\n", | |
" 0.60417, 0.64375, 0.68333, 0.72292, 0.7625 , 0.80208, 0.84167,\n", | |
" 0.88125, 0.92083, 0.96042, 1. ])},\n", | |
" pre_dispatch='2*n_jobs', refit=True, return_train_score='warn',\n", | |
" scoring=None, verbose=0)" | |
] | |
}, | |
"execution_count": 108, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Tuned ElasticNet L1 Ratio: {'l1_ratio': 0.05}\n", | |
"Tuned ElasticNet R Squared: 0.865\n", | |
"Tuned ElasticNet MSE: 0.094\n" | |
] | |
} | |
], | |
"source": [ | |
"from sklearn.linear_model import ElasticNet\n", | |
"\n", | |
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.25, random_state=2)\n", | |
"\n", | |
"l1_space = np.linspace(0.05, 1, 25)\n", | |
"param_grid = {'l1_ratio': l1_space}\n", | |
"\n", | |
"elastic_net = ElasticNet()\n", | |
"\n", | |
"gm_cv = GridSearchCV(elastic_net, param_grid, cv = 5)\n", | |
"\n", | |
"gm_cv.fit(X_train, y_train)\n", | |
"\n", | |
"y_pred = gm_cv.predict(X_test)\n", | |
"r2 = gm_cv.score(X_test, y_test)\n", | |
"mse = mean_squared_error(y_test, y_pred)\n", | |
"\n", | |
"print(f\"Tuned ElasticNet L1 Ratio: {gm_cv.best_params_}\")\n", | |
"print(f\"Tuned ElasticNet R Squared: {r2:,.3f}\")\n", | |
"print(f\"Tuned ElasticNet MSE: {mse:,.3f}\")" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" Preprocessing Data\n", | |
"Categorical Features? Dummy variables. \n", | |
"sklearn: OneHotEncoder()\n", | |
"pandas: get_dummies()" | |
] | |
} | |
], | |
"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.6.4" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment