{ "cells": [ { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Classifiers: performance estimation" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np\n", "from sklearn import datasets\n", "from sklearn import metrics\n", "\n", "from matplotlib import pylab as plt" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\ngg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "X, y = datasets.make_classification(1000, n_features=2, weights=[0.4,0.6],\n", " n_informative=2, n_redundant=0, \n", " n_clusters_per_class=1, flip_y=0.01,\n", " shuffle=True)\n", " \n", "plt.scatter(X[:,0], X[:,1], c=y, cmap=plt.cm.Paired) " ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "LinearDiscriminantAnalysis(n_components=None, priors=None, shrinkage=None,\n", " solver='svd', store_covariance=False, tol=0.0001)" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA\n", "\n", "model = LDA()\n", "model.fit(X[0:200,:], y[0:200])" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "cm_train = metrics.confusion_matrix(y[0:200], model.predict(X[0:200,:]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### TODO:\n", "In the function below, fill in the code for computing FPF, ERR, etc. (replace \"pass\" with an appropriate return ...). If needed, check the documentation for metrics.confusion_matrix() function. Pay attention at the orientation of the confusion matrix - i.e. whether the rows or columns correspond to the true labels." ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def perf(C, param=\"TPF\"):\n", " \"\"\"\n", " Simple function for computing several performance parameters, based\n", " on a 2x2 confusion matrix (binary classification case).\n", " \n", " Usage:\n", " p = perf(C, param=\"TFP\")\n", " \n", " Parameters:\n", " C: numpy.ndarray\n", " 2x2 confusion matrix with counts, as returned by \n", " sklearn.metrics.confusion_matrix() function\n", " param: string\n", " what parameter to compute. Default: \"TPF\". Possible values:\n", " \"TPF\", \"FPF\", \"Err\", \"Sensitivity\", \"Specificity\", \"NPV\", \"PPV\".\n", " \n", " Return:\n", " float\n", " the value of the parameter of interest.\n", " \"\"\"\n", " if C.shape != (2,2):\n", " raise ValueError(\"The confusion matrix must be a 2x2 matrix.\")\n", " \n", " param = param.lower()\n", " \n", " # advanced coding: use dictionaries instead of \"if-elif-else\"\n", " if param == \"tpf\":\n", " return float(C[1,1]) / float(C[0,1]+C[1,1])\n", " elif param == \"fpf\":\n", " pass\n", " elif param == \"err\":\n", " pass\n", " elif param == \"sensitivity\":\n", " pass\n", " elif param == \"specificity\":\n", " pass\n", " elif param == \"npv\":\n", " pass\n", " elif param == \"ppv\":\n", " pass\n", " else:\n", " raise ValueError(\"Unknown parameter.\")\n", " \n", " return" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "z = model.predict_proba(X[200:1000,:])[:,1] # take the posteriors for only 1 class\n", "fpf, tpf, th = metrics.roc_curve(y[200:1000], z)\n", "plt.plot(fpf, tpf, lw=3, label='ROC')\n", "plt.xlim([-0.05, 1.05])\n", "plt.ylim([-0.05, 1.05])\n", "plt.xlabel('False Positive Fraction')\n", "plt.ylabel('True Positive Fraction')\n", "plt.title('ROC')" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.98918136849171345" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "metrics.roc_auc_score(y[200:1000], z)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Cross-validation" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "from sklearn.model_selection import KFold" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n729mHRrPbAAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "X, y = datasets.make_classification(1000, n_features=2, weights=[0.4,0.6],\n", " n_informative=2, n_redundant=0, \n", " n_clusters_per_class=1, flip_y=0.01,\n", " shuffle=True)\n", " \n", "plt.scatter(X[:,0], X[:,1], c=y, cmap=plt.cm.Paired) \n", "\n", "K = 5\n", "kf = KFold(n_splits=K)" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "('Estimated TPF: ', 0.98645848727777619)\n", "('Std. dev: ', 0.0094852962261928273)\n" ] } ], "source": [ "tpf = np.zeros(5)\n", "i = 0\n", "for train_index, test_index in kf.split(X):\n", " X_train, y_train = X[train_index, :], y[train_index]\n", " X_test, y_test = X[test_index,:], y[test_index]\n", " \n", " model.fit(X_train, y_train)\n", " yp = model.predict(X_test)\n", " \n", " cm = metrics.confusion_matrix(y_test, yp)\n", " tpf[i] = perf(cm, \"TPF\")\n", " i += 1\n", " \n", "print(\"Estimated TPF: \", np.mean(tpf))\n", "print(\"Std. dev: \", np.std(tpf))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### TODO:\n", "Implement the Agresti-Coull CI approximation using a call to statsmodels.stats.proportion.proportion_confint() (see http://www.statsmodels.org/dev/generated/statsmodels.stats.proportion.proportion_confint.html ). You may need to install statsmodels package first." ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def prop_CI(p, n, alpha=0.05, method=\"normal\"):\n", " from scipy import stats\n", " from scipy.stats import norm\n", " \n", " method = method.lower()\n", " \n", " ci_lo = ci_hi = 0.0\n", " \n", " if method == \"normal\":\n", " # normal approximation for binomial CIs\n", " z = norm.ppf(1-alpha/2) # quantile\n", " ci_lo = p - z*np.sqrt(p*(1-p)/n)\n", " ci_hi = p + z*np.sqrt(p*(1-p)/n)\n", " elif method == \"agresti\":\n", " pass\n", " else: \n", " raise ValueError(\"Unknown method.\")\n", " \n", " return ci_lo, ci_hi" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "('For TPF: 95% CI =', (0.98383311729275869, 0.9961668827072413), '(normal approximation)')\n" ] } ], "source": [ "print(\"For TPF: 95% CI =\", prop_CI(0.99, 1000), \"(normal approximation)\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## ROC" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np\n", "from scipy import interp\n", "import matplotlib.pyplot as plt\n", "from itertools import cycle\n", "\n", "from sklearn import svm, datasets\n", "from sklearn.metrics import roc_curve, auc\n", "from sklearn.model_selection import StratifiedKFold" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# import some data to play with\n", "iris = datasets.load_iris()\n", "X = iris.data\n", "y = iris.target\n", "X, y = X[y != 2], y[y != 2]\n", "n_samples, n_features = X.shape\n", "\n", "# Add noisy features\n", "random_state = np.random.RandomState(0)\n", "X = np.c_[X, random_state.randn(n_samples, 200 * n_features)]" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nWZw/f55BgwZx9913c/z4cVq3bk1UVBSvvfaas6U5EHHQZjsdOnQwe+jMz3V2dm2tKK6zt27dSnh4\nOIcOHeLXX3+lVatWhIaGMnjwYNLS8n4/Ll68mJtuuom2bduyceNGq1p9fX3NHwnJycn5fjAsW7Ys\nh9uI3r1707p1a0JCQpg//1qDhq+vL6NGjSIsLIxNmzYRHR3NbbfdRuvWrenevTunTp0CYMGCBbRp\n04awsDD69OnDlStXCr+xBWDpOltEzK6zCyK36+xsg5eRkcHVq1fN98LSdbZdsWWGm+WGsTznoaKm\ns9dmjxnN7T9ur5iI2nh843XlZVfex9jKCEeOHFH+/v4KUN7e3urdd99V6enpzpblEHLOKnXUT6Jg\nshfZycjIUH379lU//PCDUkqpl156Sc2YMSNP/CpVqqhLly6pVq1aqe3btxea/7p161TPnj2VUkql\npKSogIAAtW/fPqWUUo899pj64IMPlFLXFor5999/Vb169dTZs2dVWlqa6tixo9VFdpRSatWqVapZ\ns2aqatWq6q+//rIaJzAwMMfiSefPn1dKGYsIhYSEqPj4eKWUUoBasWKFUkqpq1evqg4dOqizZ88q\npZRavny5euKJJ5RSyhxfKaXGjRunZs2alafM3377TYWFheXZOnTokCfu1q1bcyxCtH79evP9yo9G\njRqpnTt35gi76667VJUqVdTDDz+cY5GgN998U73//vt58nDUIjsAiMhFILsRzA24AIy1r2kqXibc\nNoG4y3E09WvqbClljvr16xMaGkp6ejoLFiwo0NlZ6cI5zn1d2XX2Aw88wAMPPMD69et57bXXzM77\nLCkLrrMBfvzxR1JTUxkwYAC//fabWXuxus4GEKOeEsY176ZZJovj0uihocWHUoolS5bQuXNnmjRp\ngoiwcuVKKlWqhJubI/0xasC1XWdnc+utt3L48GHi4+OpXr16jnNlwXV2Nt7e3tx///2sXr3abBSK\n3XW2yQCsUUplmjaXNwia4uPIkSPcddddDB48mKeeeoqsrCzAmIegDULx4mqusw8ePGgepbNt2zbS\n0tKsrqlQ2l1nJyUlmfs7MjIy+P7773N4b3WW6+ztItLKrqU6mZmbZzJ361zSM9OdLaVUkpmZycyZ\nM2nRogW//PIL1apVY8iQIXp0kZNxJdfZX375JS1atCA8PJxhw4axYsUKq89PaXednZycTK9evczD\n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\nTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Run classifier with cross-validation and plot ROC curves\n", "cv = StratifiedKFold(n_splits=6)\n", "classifier = svm.SVC(kernel='linear', probability=True,\n", " random_state=random_state)\n", "\n", "mean_tpr = 0.0\n", "mean_fpr = np.linspace(0, 1, 100)\n", "\n", "colors = cycle(['cyan', 'indigo', 'seagreen', 'yellow', 'blue', 'darkorange'])\n", "lw = 2\n", "\n", "i = 0\n", "for (train, test), color in zip(cv.split(X, y), colors):\n", " probas_ = classifier.fit(X[train], y[train]).predict_proba(X[test])\n", " # Compute ROC curve and area the curve\n", " fpr, tpr, thresholds = roc_curve(y[test], probas_[:, 1])\n", " mean_tpr += interp(mean_fpr, fpr, tpr)\n", " mean_tpr[0] = 0.0\n", " roc_auc = auc(fpr, tpr)\n", " plt.plot(fpr, tpr, lw=lw, color=color,\n", " label='ROC fold %d (area = %0.2f)' % (i, roc_auc))\n", "\n", " i += 1\n", "plt.plot([0, 1], [0, 1], linestyle='--', lw=lw, color='k',\n", " label='Luck')\n", "\n", "mean_tpr /= cv.get_n_splits(X, y)\n", "mean_tpr[-1] = 1.0\n", "mean_auc = auc(mean_fpr, mean_tpr)\n", "plt.plot(mean_fpr, mean_tpr, color='g', linestyle='--',\n", " label='Mean ROC (area = %0.2f)' % mean_auc, lw=lw)\n", "\n", "plt.xlim([-0.05, 1.05])\n", "plt.ylim([-0.05, 1.05])\n", "plt.xlabel('False Positive Rate')\n", "plt.ylabel('True Positive Rate')\n", "plt.title('Receiver operating characteristic example')\n", "plt.legend(loc=\"lower right\")\n", "plt.show()" ] }, { "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.13" } }, "nbformat": 4, "nbformat_minor": 1 }