{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Chapter 5 - Resampling Methods" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- [Load dataset](#Load-dataset)\n", "- [Cross-Validation](#5.1-Cross-Validation)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# %load ../standard_import.txt\n", "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", "import sklearn.linear_model as skl_lm\n", "from sklearn.metrics import mean_squared_error\n", "from sklearn.model_selection import train_test_split, LeaveOneOut, KFold, cross_val_score\n", "from sklearn.preprocessing import PolynomialFeatures\n", "\n", "%matplotlib inline\n", "plt.style.use('seaborn-white')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Load dataset" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dataset available on http://www-bcf.usc.edu/~gareth/ISL/data.html" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Int64Index: 392 entries, 0 to 396\n", "Data columns (total 9 columns):\n", "mpg 392 non-null float64\n", "cylinders 392 non-null int64\n", "displacement 392 non-null float64\n", "horsepower 392 non-null float64\n", "weight 392 non-null int64\n", "acceleration 392 non-null float64\n", "year 392 non-null int64\n", "origin 392 non-null int64\n", "name 392 non-null object\n", "dtypes: float64(4), int64(4), object(1)\n", "memory usage: 30.6+ KB\n" ] } ], "source": [ "df1 = pd.read_csv('Data/Auto.csv', na_values='?').dropna()\n", "df1.info()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 5.1 Cross-Validation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Figure 5.2 - Validation Set Approach\n", "Using Polynomial feature generation in scikit-learn
\n", "http://scikit-learn.org/dev/modules/preprocessing.html#generating-polynomial-features" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "t_prop = 0.5\n", "p_order = np.arange(1,11)\n", "r_state = np.arange(0,10)\n", "\n", "X, Y = np.meshgrid(p_order, r_state, indexing='ij')\n", "Z = np.zeros((p_order.size,r_state.size))\n", "\n", "regr = skl_lm.LinearRegression()\n", "\n", "# Generate 10 random splits of the dataset\n", "for (i,j),v in np.ndenumerate(Z):\n", " poly = PolynomialFeatures(int(X[i,j]))\n", " X_poly = poly.fit_transform(df1.horsepower.values.reshape(-1,1))\n", " \n", " X_train, X_test, y_train, y_test = train_test_split(X_poly, df1.mpg.ravel(),\n", " test_size=t_prop, random_state=Y[i,j])\n", " \n", " regr.fit(X_train, y_train)\n", " pred = regr.predict(X_test)\n", " Z[i,j]= mean_squared_error(y_test, pred)\n", "\n", "fig, (ax1, ax2) = plt.subplots(1,2, figsize=(10,4))\n", "\n", "# Left plot (first split)\n", "ax1.plot(X.T[0],Z.T[0], '-o')\n", "ax1.set_title('Random split of the data set')\n", "\n", "# Right plot (all splits)\n", "ax2.plot(X,Z)\n", "ax2.set_title('10 random splits of the data set')\n", "\n", "for ax in fig.axes:\n", " ax.set_ylabel('Mean Squared Error')\n", " ax.set_ylim(15,30)\n", " ax.set_xlabel('Degree of Polynomial')\n", " ax.set_xlim(0.5,10.5)\n", " ax.set_xticks(range(2,11,2));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Figure 5.4" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "scrolled": true }, "outputs": [], "source": [ "p_order = np.arange(1,11)\n", "r_state = np.arange(0,10)\n", "\n", "# LeaveOneOut CV\n", "regr = skl_lm.LinearRegression()\n", "loo = LeaveOneOut()\n", "loo.get_n_splits(df1)\n", "scores = list()\n", "\n", "for i in p_order:\n", " poly = PolynomialFeatures(i)\n", " X_poly = poly.fit_transform(df1.horsepower.values.reshape(-1,1))\n", " score = cross_val_score(regr, X_poly, df1.mpg, cv=loo, scoring='neg_mean_squared_error').mean()\n", " scores.append(score)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# k-fold CV\n", "folds = 10\n", "elements = len(df1.index)\n", "\n", "X, Y = np.meshgrid(p_order, r_state, indexing='ij')\n", "Z = np.zeros((p_order.size,r_state.size))\n", "\n", "regr = skl_lm.LinearRegression()\n", "\n", "for (i,j),v in np.ndenumerate(Z):\n", " poly = PolynomialFeatures(X[i,j])\n", " X_poly = poly.fit_transform(df1.horsepower.values.reshape(-1,1))\n", " kf_10 = KFold(n_splits=folds, random_state=Y[i,j])\n", " Z[i,j] = cross_val_score(regr, X_poly, df1.mpg, cv=kf_10, scoring='neg_mean_squared_error').mean() " ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, (ax1, ax2) = plt.subplots(1,2, figsize=(10,4))\n", "\n", "# Note: cross_val_score() method return negative values for the scores.\n", "# https://github.com/scikit-learn/scikit-learn/issues/2439\n", "\n", "# Left plot\n", "ax1.plot(p_order, np.array(scores)*-1, '-o')\n", "ax1.set_title('LOOCV')\n", "\n", "# Right plot\n", "ax2.plot(X,Z*-1)\n", "ax2.set_title('10-fold CV')\n", "\n", "for ax in fig.axes:\n", " ax.set_ylabel('Mean Squared Error')\n", " ax.set_ylim(15,30)\n", " ax.set_xlabel('Degree of Polynomial')\n", " ax.set_xlim(0.5,10.5)\n", " ax.set_xticks(range(2,11,2));" ] } ], "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": 1 }