{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "import numpy as np\n", "import pandas as pd\n", "\n", "import sys\n", "sys.path.append('/Users/kaonpark/workspace/github.com/likejazz/kaon-learn')\n", "import kaonlearn\n", "from kaonlearn.plots import plot_decision_regions, plot_learning_curve" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pipeline steps:\n", "[('minmaxscaler', MinMaxScaler(copy=True, feature_range=(0, 1))), ('svc', SVC(C=100, cache_size=200, class_weight=None, coef0=0.0,\n", " decision_function_shape=None, degree=3, gamma='auto', kernel='rbf',\n", " max_iter=-1, probability=False, random_state=None, shrinking=True,\n", " tol=0.001, verbose=False))]\n" ] } ], "source": [ "from sklearn.pipeline import Pipeline\n", "from sklearn.pipeline import make_pipeline\n", "from sklearn.preprocessing import MinMaxScaler\n", "from sklearn.svm import SVC\n", "# standard syntax\n", "pipe_long = Pipeline([(\"scaler\", MinMaxScaler()), (\"svm\", SVC(C=100))])\n", "# abbreviated syntax\n", "pipe_short = make_pipeline(MinMaxScaler(), SVC(C=100))\n", "\n", "print(\"Pipeline steps:\\n{}\".format(pipe_short.steps))" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pipeline steps:\n", "[('standardscaler-1', StandardScaler(copy=True, with_mean=True, with_std=True)), ('pca', PCA(copy=True, iterated_power='auto', n_components=2, random_state=None,\n", " svd_solver='auto', tol=0.0, whiten=False)), ('standardscaler-2', StandardScaler(copy=True, with_mean=True, with_std=True))]\n" ] } ], "source": [ "from sklearn.preprocessing import StandardScaler\n", "from sklearn.decomposition import PCA\n", "\n", "pipe = make_pipeline(StandardScaler(), PCA(n_components=2), StandardScaler())\n", "print(\"Pipeline steps:\\n{}\".format(pipe.steps))" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "GridSearchCV(cv=5, error_score='raise',\n", " estimator=Pipeline(steps=[('standardscaler', StandardScaler(copy=True, with_mean=True, with_std=True)), ('polynomialfeatures', PolynomialFeatures(degree=2, include_bias=True, interaction_only=False)), ('ridge', Ridge(alpha=1.0, copy_X=True, fit_intercept=True, max_iter=None,\n", " normalize=False, random_state=None, solver='auto', tol=0.001))]),\n", " fit_params={}, iid=True, n_jobs=-1,\n", " param_grid={'polynomialfeatures__degree': [1, 2, 3], 'ridge__alpha': [0.001, 0.01, 0.1, 1, 10, 100]},\n", " pre_dispatch='2*n_jobs', refit=True, return_train_score=True,\n", " scoring=None, verbose=0)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.datasets import load_boston\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.linear_model import Ridge\n", "from sklearn.model_selection import GridSearchCV\n", "boston = load_boston()\n", "X_train, X_test, y_train, y_test = train_test_split(boston.data, boston.target,\n", " random_state=0)\n", "\n", "from sklearn.preprocessing import PolynomialFeatures\n", "pipe = make_pipeline(\n", " StandardScaler(),\n", " PolynomialFeatures(),\n", " Ridge())\n", "\n", "param_grid = {'polynomialfeatures__degree': [1, 2, 3],\n", " 'ridge__alpha': [0.001, 0.01, 0.1, 1, 10, 100]}\n", "\n", "grid = GridSearchCV(pipe, param_grid=param_grid, cv=5, n_jobs=-1)\n", "grid.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcYAAAFJCAYAAAABhI0kAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl4U2XexvE76UJLS9kExCKLSh1E1nFDURYH1L4CjoBU\nnAKyjOAGsggtUFpAoCyigiyDjkBHKAHUAQVZK8gyiHWAAQZ1dAShhbJZSCk0bfL+gW85vLKUnKRp\n0+/nunJdk9OTc56fU3rn95znJBaXy+USAACQJFl9PQAAAEoSghEAAAOCEQAAA4IRAAADghEAAAOC\nEQAAg0BvHvx8bq43Dw8AuAEhoaFeO3Z/S123XzvH9ZOnhuERXg1GAEDZEGDx9Qg8h6lUAAAM6BgB\nAKYFWPynZSQYAQCm+dNUKsEIADCNjhEAAAM6RgAADOgYAQAw8KeOkds1AAAwoGMEAJjGVCoAAAb+\nNP1IMAIATKNjBADAgMU3AAAYBFgsbj+KYvfu3YqNjZUknTx5UgMGDNBzzz2nmJgYHTp0SJJks9n0\n9NNP65lnnlFaWprbtdAxAgBKtHnz5mnFihUK/fVrs6ZMmaIOHTooOjpa//jHP/Tjjz8qNDRUKSkp\nWr58uS5cuKDu3bvroYceUnBw8A2fj44RAGBagMX9x/XUrl1bM2bMKHz+zTff6NixY+rVq5dWrlyp\n++67T3v27FGzZs0UHBysChUqqHbt2jpw4IBbtRCMAADTvDmV+thjjykw8NIE55EjRxQREaH58+er\nZs2amjdvnux2uypUqFC4T1hYmOx2u1u1EIwAANO82TH+f5UqVVLbtm0lSW3bttXevXsVHh6unJyc\nwn1ycnIuC8obQTACAEzz9uIbo9///vfatGmTJGnnzp2644471LhxY6Wnp+vChQs6e/asfvjhB0VF\nRblVC4tvAACmFeftGsOHD9eoUaOUmpqq8PBwTZs2TRUrVlRsbKy6d+8ul8ul1157TeXKlXPr+BaX\ny+Xy8JgLnc/N9dahAQA3KOTXVZ3e8H6V37n92j6n3Fsk4y1MpQIAYMBUKgDAND4SDgAAA3/6SDiC\nEQBgGh0jAAAGdIwAABjQMQIAYOBPHSO3awAAYEDHCAAwjalUAAAMrAQjAACXWPzoIiPBCAAwzUow\nAgBwiSXAf9ZyEowAANP8aSrVfyIeAAAPoGMEAJjGNUYAAAwsVv+ZgCQYAQCm0TECAGDgT4tvCEYA\ngGncrgEAgIE/TaX6T8QDAOABdIwAANMsVv/pGEtVMG7evFnvzJihvLw8RdWvr8TERIWHhxf+fOXK\nlUpJSSl8ftZuV1ZWltauWaOwsDBNmDhR+/btk9PpVKNGjRQfF6eQkBBflHJdZalWqWzVW5ZqlcpW\nvWZqrVq1qiTp6NGj+lNsrJbabKpcuXKx1+Auqx9dY7S4XC6Xtw5+PjfXY8c6deqUnu7cWQvmz1ed\nOnU0/a23dC4nRyNHjrzi/g6HQ7379FHHjh3VtUsXzZw5U5lHj2rc2LFyuVyKHzlStWvX1ksvvuix\nMXpKWapVKlv1lqVapbJVr9lapYvBOWvWLGVkZuqLtDSPB2NIaKhHj2e0rdUjbr/2wU2bPTgS84oc\n8U6n05vjuK7t27fr7oYNVadOHUnSM127atXq1bparn8wf76qVKlS+AvXvHlz9evXT1arVQEBAfrd\nnXcqMyOj2MZ/I8pSrVLZqrcs1SqVrXrN1pqVlaWNaWmaOXNmsY3ZkywBFrcfJc01p1J//vlnTZw4\nUXv37lVgYKCcTqeioqIUFxenevXqFdcYJUlHjx1TjZtvLnxeo0YN2e125eTkXDZVIUmnT5/WwoUL\nlZqaWrjtwQcfLPzfGRkZ+nDRIo0ePdr7A3dDWapVKlv1lqVapbJVr9laq1evrulvvlls4/U0f5pK\nvWYwjhw5UkOGDFGTJk0Kt+3atUtxcXGX/R9aHFxX6VitAQG/2bZ8+XK1ad1atSIjf/Oz/fv367XB\ngxXTrZtaPeJ+6+9NZalWqWzVW5ZqlcpWvZ6qtbQqiZ2fu64Z8Xl5eZeFoiQ1bdrUqwO6mptr1tSJ\nEycKn2dlZSkiIkLlrzBnvmbtWnXq1Ok321d//rle6N9fA199VX379vXqeM0oS7VKZaveslSrVLbq\n9UStKBmuGYx33nmn4uLitGrVKn355Zf6/PPPFRcXpzvvvLO4xleoRYsW2rNnjw4ePChJWrpsmVq3\nbv2b/c6cOaNDhw79JtDXrVun5ORkzZk9W9HR0cUxZLeVpVqlslVvWapVKlv1mq21tLNaLW4/Sppr\nrkp1uVxav3690tPTZbfbFR4erubNm6tdu3ayWK5fjCdXpUrSl19+qXdmzJDD4VCtWrX0xvjxOnz4\nsJKSkmSz2SRJe/fu1Yi4OH26cuVlr+3QoYPO2u2qXq1a4bamTZsqPj7eo2P0lLJUq1S26i1LtUpl\n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\nxDfe0JkzZ1SpUiUfjtK8m2vW1L/27i18npWVpYiICJUPDb1sv8zMTL06cKDq1aun9+bNU0jIxUsD\nGzZsUPQTTygsLEyS1LlzZ02cNKn4CrhBRam3WrVqqlu3rho3aiRJatOmjZLGjtXhw4eVnZ2tylWq\nqG6dOgoKClLHjh01KTm52OsoiqLU+t133+nb775TB8Msh8vlUlBgoLKzs9UjNlZDBg+WJH2+Zo1u\nvfXW4ivAJH9alXrVjjEyMlITJ07UuXPnFB4erpkzZ2rs2LH68ccfTZ80afYnujcmUffGJBYpFCXp\nnwcO6uHf36nqVS6u5OrUprn+e+S4Tv5i17rtezWgW1sFBQbIYrFoTkIvjX+l8zWPV1Dg1Ootu9Wv\nS2tJUqP6tdTgtlu06etvVTkiTOvfG65PNqTrTyPm+iwUJenJP/VV/Iz5ip8xX69Pn6dRs1IUP2O+\nXkycoqDgcoqfMV+Vqt6kf+3YosUzp8jlcul87jlt+CRV97Ru77Nx36gBL76oxUtsWrzEpq5dn1H8\niOE6ffq0JGn1qlW6/fY7Sn0oSlKLFi20Z88eHTx4UJK0dNkytW7d+rJ9srOz1btPHz3atq0mJycX\nhqIkNWjQQBs2blR+fr5cLpc2bNyoxo0bF2cJN6Qo9bZs2VIZGRnav3+/JCk9PV3Sxb9BX+3cqalT\npig/P19Op1OrVq3SffdefZGeLxWlVovVquTkZB0+ckSSZLPZFFW/vmrUqKEvvvhC48aPv7gS/tw5\npaSk6H+io4u7DLe5nC63HyWNxXWVudH8/HytWLFCTzzxhEJ/fcdz4sQJzZ07VyNHjizSwYOb9b6h\nwfz/2zWa31VXcxN66d6YREkXF+m82K2t8vILdCrbrkGTPtT+HzMUUi5Iya91U6t77lSA1ard3x3S\ngHELdDbn/DXPV71KhOYm9FLdyJvkckmvv7lE6/+xTyP6PKkxA57S3v8cvmz/x16YolPZOVc81ipb\n8b6LPXksU+Nf6qHpyy5enC8oyNfimVP032/3yeV06sH2HfSHp5/12vkfiAy//k4mLLXZtNS2RAEB\nAapWrZqGx8UrMjJS+/ft07ixSVq85PLVemMSRnvtdo1A85Mkl/nyyy/1zowZcjgcqlWrlt4YP16H\nDx9WUlKSbDab5s2bp1mzZ6v+HXdc9rq//OUvCg0N1dSpU/WPHTsUHBysqKgoxcfFqUKFCp4dpAdd\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.heatmap(grid.cv_results_['mean_test_score'].reshape(3, -1), annot=True)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Best parameters: {'polynomialfeatures__degree': 2, 'ridge__alpha': 10}\n" ] } ], "source": [ "print(\"Best parameters: {}\".format(grid.best_params_))" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Test-set score: 0.77\n" ] } ], "source": [ "print(\"Test-set score: {:.2f}\".format(grid.score(X_test, y_test)))" ] } ], "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.1" } }, "nbformat": 4, "nbformat_minor": 2 }