{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "## Try a bit of sklearn tutorial" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from sklearn.datasets import load_iris\n", "from sklearn.neighbors import KNeighborsClassifier" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Load data and set up **feature** matrix `X` and the **response** vector `y`." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "iris = load_iris()\n", "X = iris.data\n", "y = iris.target" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Instantiate a model. " ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "knn = KNeighborsClassifier(n_neighbors=5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Train it." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',\n", " n_neighbors=5, p=2, weights='uniform')" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "knn.fit(X, y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Make a prediction." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([1, 0, 1])" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "knn.predict([[3,5,4,2], [1,2,2,1], [3,3,3,3]])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Yay!\n", "\n", "Let's do some cross-validation, randomly leaving out records for the training dataset, then predicting the omitted records and seeing what sort of reliability we achieve." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from sklearn.cross_validation import train_test_split" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [], "source": [ "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.1)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',\n", " n_neighbors=5, p=2, weights='uniform')" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "knn.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [], "source": [ "y_pred = knn.predict(X_test)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from sklearn import metrics" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "1.0" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "metrics.accuracy_score(y_test, y_pred)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Nice!" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [], "source": [ "k_range = range(1, 26)\n", "results = []\n", "for k in k_range:\n", " knn = KNeighborsClassifier(n_neighbors=k)\n", " knn.fit(X_train, y_train)\n", " y_pred = knn.predict(X_test)\n", " results.append(metrics.accuracy_score(y_test, y_pred))" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nzGzG/X+Ud+nEzLeqiQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", "plt.plot(results)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ls: cannot access data: No such file or directory\r\n" ] } ], "source": [ "ls data" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.10" } }, "nbformat": 4, "nbformat_minor": 0 }