Skip to content

Instantly share code, notes, and snippets.

@thoo
Forked from kathyxchen/multiclass_roc.ipynb
Created March 23, 2017 02:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save thoo/af03b785a90410ca0c2e06979480e676 to your computer and use it in GitHub Desktop.
Save thoo/af03b785a90410ca0c2e06979480e676 to your computer and use it in GitHub Desktop.
starting on an example for multiclass one-vs-one and one-vs-rest ROC AUC score approximations, issue#3298
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import numpy as np\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, roc_auc_score\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.preprocessing import label_binarize\n",
"from sklearn.multiclass import OneVsRestClassifier\n",
"from scipy import interp\n",
"\n",
"# Import some data to play with\n",
"iris = datasets.load_iris()\n",
"X = iris.data\n",
"y = iris.target\n",
"\n",
"# Binarize the output\n",
"y = label_binarize(y, classes=[0, 1, 2])\n",
"n_classes = y.shape[1]\n",
"\n",
"# Add noisy features to make the problem harder\n",
"random_state = np.random.RandomState(0)\n",
"n_samples, n_features = X.shape\n",
"X = np.c_[X, random_state.randn(n_samples, 200 * n_features)]\n",
"\n",
"# shuffle and split training and test sets\n",
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.5,\n",
" random_state=0)\n",
"\n",
"# Learn to predict each class against the other\n",
"classifier = OneVsRestClassifier(svm.SVC(kernel='linear', probability=True,\n",
" random_state=random_state))\n",
"y_score = classifier.fit(X_train, y_train).decision_function(X_test)\n",
"\n",
"# Will use y_test where the labels have not been binarized\n",
"# in generating the ROC curves for one-vs-one \n",
"# as well as for the ROC AUC scores in one-vs-rest and one-vs-one.\n",
"_, y_test_not_binarized = np.where(y_test == 1)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nt9/45z8LZD0yZ+X1119n7969TJgwwetQ8jQrqWYDDfBZ5GlEBpzXfUqWLElERAQXXXQRffv25dix\nY6mGWbVqFW3btiUiIoLIyEg6d+7Mpk2bUg2TkJDAkCFDqF69OhEREVxyySUMGzaMuLj88Zzd6dOn\nGT58OF9//TXx8fFZTqheWLduHVdccQWlSpXiyiuvJDo6Ouiwp06d4rnnnuPxxx/PxQizX0xMDG3a\ntKFUqVLUr1+fZcuWBR127969dOnShfLlyxMVFcXUqVNT9R8wYAB169alUKFCvPfee6n69e/fn5kz\nZ3LgwIEcWY6CwpKqybdEhEWLFhEfH8+6detYu3ZtqrPwH374gRtuuIGuXbsSGxvLjh07aNiwIS1a\ntPC9i3fq1CnatGnDpk2b+Oqrr4iPj2fVqlWUL1+eNWvW5FjsZ86cybFpp7Vv3z6SkpKoV69ers3z\nXJw6dYouXbrQp08fDh8+TJ8+fejcuTOnT58OOPynn35KvXr1qFSp0jnNLzk5+XzCzTY9e/akadOm\nxMXFMX78eLp168bBgwcDDnvXXXdRu3Zt/vzzTz7//HNGjhzJt99+6+vfuHFjpkyZQtOmTdONW6xY\nMTp27Jgu2ZqzpKr2cT/O6si6lBHP1v2TD+r9kw+ew5jZ6OOOqi+R8ScLznad5aYaNWrosmXLfN2P\nP/64durUydfdsmVLffjhh9ON16FDB7377rtVVXX69OlaqVIlPXbsWJbn+/PPP2v79u21XLlyWqlS\nJZ0wYYKqqt5zzz06evRo33DLly/XqlWrpor3xRdf1IYNG2rx4sV1/Pjx2q1bt1TTfuSRR3Tw4MGq\nqnrkyBG97777tHLlylq1alUdNWqUJicnB4wpKSlJBw8erBdddJFWqVJFhwwZoidPntTNmzdrqVKl\nNCwsTMPDw7Vt27YBx1+xYoU2b95cy5Ytq1FRUfruu++mW6ZDhw5pp06dtGLFilquXDnt1KmT7t69\n2zeNt99+W2vVqqXh4eFaq1YtnT17tqqqbt26VVu1aqVlypTRihUrao8ePQLG8NVXX6VaX6qqUVFR\numTJkoDD33vvvfrcc8+l+q579+5aqVIlLVu2rLZq1Uo3btzo63fPPffowIEDtWPHjlq6dGldtmyZ\nJiUl6fDhwzUqKkorVaqkAwcO1BMnTgRd3j179gSM5Vxt3rxZixcvromJib7vWrZsqVOnTk03bGJi\nooqIHjz417Glf//+2qdPn3TDXnvttb7f0N+sWbO0TZs2QeMJtr+733t+DA+Fj5VUC6rMWqLJhpZm\nAj3Eda6f87V7926++OIL6tSpA8Dx48dZtWoV3bp1Szfs7bffztKlSwFYtmwZN954IyVKlMjSfBIT\nE2nfvj0dO3YkNjaWrVu30rZt8DpO0r5MP3fuXL744gsOHz5M7969+eKLL0hMTAScktOHH35Ir169\nAOjTpw9FixZl+/btrF27lqVLlzJjxoyA8xk/fjxr1qxh/fr1REdHs2bNGsaPH0+dOnXYuHEjAEeO\nHOHrr79ON+6uXbvo2LEjgwcP5sCBA6xbt47GjRunGy45OZl7772XXbt2sXPnTkqWLMnDDz8MwLFj\nxxg8eDBLlizxlfZTpjF69GhuuOEGDh8+zO7duxk0aFDAZdi4cSMNGzZM9V3Dhg198ae1YcMGLr30\n0lTfdezYkW3btrF//36aNGniW5cp5syZw+jRo0lISKBFixY8/vjjbN26lfXr17N161b27Nnju3+c\n0fIGcvPNNxMZGUm5cuXS/b3llsCtX27cuJFatWpRqlQp33eNGjUKuMyqioikKmGrKj///HPQmNKq\nV69ehpfUTRZ4ndVD6UNBKqmeRWk0Ixmts+z8cc5FjRo1NDw8XMPDw1VEtF27dnrkyBFVVd29e7eK\niP7222/pxvvyyy+1aNGiqqravn17HTFiRJbnOWfOHG3SpEnAfoFKqtWqVUsV7zvvvJNqnJYtW+r7\n77+vqk5J7eKLL1ZV1X379mmxYsV8paaUeV933XUB5127dm398ssvfd1LlizRGjVqqKrqjh07NCws\nTM+cORNw3AkTJuitt96apWXyt3btWi1Xrpyqqh49elQjIyN1/vz5evz48VTD9enTRwcMGJCqVBvI\ns88+qz179kz1Xa9evXTcuHEBh69Tp07QUqyqU9IUEY2Pj/ctS8oVihSlSpXS7du3+7pXrVqlNWvW\nDDg9/+XNLu+//75ec801qb576qmntG/fvgGHb9mypT7yyCN64sQJ/d///qflypXTunXrphsuWEl1\ny5YtWrhw4aDxBNvfsZKq72MlVZNjAj3Ada6fc/Xpp58SHx/Pt99+y6+//up7CCMyMpKwsDBiY2PT\njRMbG0uFChUAKF++fMBhgtm1axe1a9c+53irVq2aqrtnz56+Ju3mzJnDnXfeCcDOnTs5deoUlStX\n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\njSYifPjhh2RnZ7Nnzx6++eYbpk+f7tj/+eef06tXL/r3709qaio//vgj7dq14/e//z3Hjh0DbF9j\n+sMf/sCBAwfYtGmTY4HtwMBAt1ZuuVYFBQU37NwlnTlzhvz8fMcKNtVVVlYWffv25dChQ6SlpfHb\n3/623EUidu/eTXZ29jUvd1iVv4PyjBs3joYNG/Lzzz+zdOlSYmNjS/3jV2TDhg1Ok/Z36dLFsQ5u\nZmYmffv25emnn+aXX37hL3/5C3369HFaP3Xo0KG89dZbVfK8ai1PTz5cnW54aHL4r776SuvVq6ej\nR4/Ws2fPeiSGa+WpOnNHZGSk0wT1Tz31lEZHRzse33333Tp+/PhSx/Xu3VtHjhypqqpvv/22BgUF\n6fnz592+7nfffac9e/bUgIAADQoK0unTp6uq8+TzqqpbtmzR0NBQp3hnzJih7dq104YNG+q0adOc\nJv9XVX3iiSc0Li5OVVV/+eUXHTNmjAYHB2toaKhOnjxZCwsLXcaUn5+vcXFxGhISos2bN9f4+Hi9\nePGiHjp0SBs3bqxeXl5qsVi0R48eLo/ftm2bdunSRf38/DQ8PFwXL15c6jllZmZqdHS0Nm3aVAMC\nAjQ6OtppMvd33nlHW7ZsqRaLRVu2bKnLli1TVdXDhw9r165d1dfXV5s2bapDhw51q54zMjJURMpc\n2OCFF17QsWPHOm2Li4vTsLAwtVqtescdd+i2bdsc+6ZMmaKDBg3SESNGqK+vry5atEgLCwt1+vTp\n+qtf/UqbNGmiQ4YMcbre4MGDNSgoSP38/LRr166anJzsVuzuOnfunNavX18PHz7s2BYTE6MTJ06s\n8Ngff/xR69WrpykpKaqqun79ev3Nb37jVKZ169b6j3/8w/F4x44d2qJFizLPWdbfO2ZCfcfNfE+1\nGrjjjjs4ePDgdS1uXR2NfbPyukffHhdwXcefPHmSjRs3OtZJvXDhAjt37mTq1Kmlyj700ENMmjQJ\ngE8++YT777/frbVUwbb8Wc+ePXnqqadYv349ly5dYv/+/WWWL7lU2IoVK9i4cSOBgYGkpaUxffp0\ncnNz8fHxobCw0DEtJcAjjzxCSEgIR48eJTc3l+joaMLDwxk7dmyp60ybNo1du3Y5lr178MEHmTZt\nGs8//zzJycm0bNmSX375xeXSZSdOnOCBBx5g4cKFDBw4kOzsbE6cOFGqXGFhIY8++ihJSUlcvnyZ\n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\nkEBYWBg9e/Z07N+6dSu9e/cut06MCnh6pFR1ulHJI1ljY2MV0GbNmul7771X5sjMmqyy66wytWjR\nwmn0r6rquHHjnEbU7tixQ7t166Y+Pj7q6+ur0dHRun//fqdjsrOzdcKECRoWFqYWi0VbtWqlCQkJ\nZY46TU5O1h49eqi/v78GBwfrjBkzVFU1Ly9PhwwZolarVdu3b6+vvvqqhoWFlRuvquqSJUvUy8tL\nZ82aVSqu2NhYDQ0NVT8/P+3YsaOuXLnSZUx5eXkaFxenwcHBGhISovHx8Zqfn6+qqseOHVMvLy8t\nKCgoqyp1+/bt2rlzZ7VarRoeHq6JiYmq6jz69/Tp0466jIqK0gULFjjOm5qaql27dlU/Pz/19/fX\n7t2764EDB1TVNiq7efPmjrpduHChyxgWL16sXl5e6uPj47hZLBY9ceJEmXF36tRJd+3apaqqBQUF\nOmbMGLVarRoSEqIzZ850qvMpU6ZoTEyM0/GFhYU6e/ZsjYqKUqvVqq1atdJJkyapqmpubq727dtX\nLRaLRkZGOn5PR44cKTOea5GRkaH9+vXTxo0ba0REhK5YscKxb9u2bWqxWJzKL1++XCMjI12ea9iw\nYerr66t+fn46dOhQ/fnnn53233777frtt9+WGUtZf++Y0b+Om5n7t5jKnvs3KyuLqVOnMnny5Gr7\nhfrrZeb+NaqzzZs3M2/ePFavXu3pUKq99evXs3TpUlasWFFmGTP3b8VMUi3GTKh/9UxSNYy6wyTV\nipnPVK+TqvL+++/f0Nl1DMMwjJrBJNXrcPLkSfr378+gQYMYM2YMFy9e9HRIhmEYhgeZpHoNCgoK\nmDt3Lrfddhtr1qzBarUybtw4x2hGwzAMo24yWeAa9O/fn3Xr1jnuv/7662bye8MwDMO0VK/F4MGD\nCQkJYfXq1axevdokVMMwDAMwo3+duDv6V9U2/VplTUVWk0VGRjrN1GMYRu0VERHhWBaxODP694pa\nkVRF5H7gVWwt70WqOqPE/vpAIvDfQDowRFWPuziPU1ItmsbM1ewuhmEYho1JqlfU+O5fEfEC5gK9\ngLbAMBFpU6LYGCBDVX+NLfm+XN45VZUVK1bQpk0bXn/99RsRdrVXfHq3us7UxRWmLq4wdWG4UuOT\nKtAJ+EFVU1T1ErAC6FuiTF9gsf1+EtCjrJMdP36c6Ohohg0bxk8//cSmTZvq5OQG5g3jClMXV5i6\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x6c3f8d0>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.766909084622\n",
"0.747997095134\n"
]
}
],
"source": [
"# one-vs-rest\n",
"fpr = dict()\n",
"tpr = dict()\n",
"roc_auc = dict()\n",
"for i in range(n_classes):\n",
" fpr[i], tpr[i], _ = roc_curve(y_test[:, i], y_score[:, i])\n",
" roc_auc[i] = auc(fpr[i], tpr[i])\n",
"\n",
"plt.figure()\n",
"lw = 2\n",
"colors = cycle(['aqua', 'darkorange', 'cornflowerblue'])\n",
"for i, color in zip(range(n_classes), colors):\n",
" plt.plot(fpr[i], tpr[i], color=color, lw=lw,\n",
" label='ROC curve of class {0} (area = {1:0.2f})'\n",
" ''.format(i, roc_auc[i]))\n",
"\n",
"plt.plot([0, 1], [0, 1], 'k--', lw=lw)\n",
"plt.xlim([0.0, 1.0])\n",
"plt.ylim([0.0, 1.05])\n",
"plt.xlabel('False Positive Rate')\n",
"plt.ylabel('True Positive Rate')\n",
"plt.title('An extension of Receiver operating characteristic to one-vs-rest multi-class')\n",
"plt.legend(loc=\"lower right\")\n",
"plt.show()\n",
"\n",
"print roc_auc_score(y_test_not_binarized, y_score, multiclass=\"ovr\")\n",
"print roc_auc_score(y_test_not_binarized, y_score, multiclass=\"ovr\", average=\"weighted\")"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# one-vs-one\n",
"score = dict()\n",
"fpr = dict()\n",
"tpr = dict()\n",
"roc_auc = dict()\n",
"\n",
"for pos in range(n_classes):\n",
" for neg in range(pos + 1, n_classes):\n",
" ix = np.in1d(y_test_not_binarized.ravel(), [pos, neg])\n",
" y_true_filtered = y_test_not_binarized[ix.reshape(y_test_not_binarized.shape)]\n",
" y_score_filtered = y_score[ix]\n",
" \n",
" # compute score with `pos` as the positive class\n",
" class_a = y_true_filtered == pos\n",
" # compute score with `neg` as the positive class\n",
" class_b = y_true_filtered == neg\n",
" \n",
" score[(pos, neg)] = roc_auc_score(class_a, y_score_filtered[:, pos])\n",
" score[(neg, pos)] = roc_auc_score(class_b, y_score_filtered[:, neg])\n",
" fpr[(pos, neg)], tpr[(pos, neg)], _ = roc_curve(class_a, y_score_filtered[:, pos])\n",
" roc_auc[(pos, neg)] = auc(fpr[(pos, neg)], tpr[(pos, neg)])\n",
" \n",
" fpr[(neg, pos)], tpr[(neg, pos)], _ = roc_curve(class_b, y_score_filtered[:, neg])\n",
" roc_auc[(neg, pos)] = auc(fpr[(neg, pos)], tpr[(neg, pos)])"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nKjfUq1ePuLg4SpQo4XQoSimllGOcvtXeB2hojDknIhWAaEATT5VvXbhwgfPnz7ufL+1Jk06llFKF\nndO32i8aY84BGGN+84N4lLpmq1evpkGDBgwcONDpUJRSSim/5HSJ5w0iktpxlgC1PIYxxtznTFj5\nT6cFnYjeF+1z+lf2o51TO4pXENsplvjo+OtezxnOMJ3prGAFACk/pfCFfEEQQde9bqWUd9OnT2f8\n+PGcP3+euLg4XC5Xlpbr168f4eHhTJgwIZcj9C9lypRh+/bt1KhRw5Htjx8/nv379/tt/8UrV65k\nxowZ2pdnFrz55pscPXqUl1566ZqWd7qE8a/ANPvvrXTD0xyMK9/JLOnMqqjaUVefqQDJiaRzDWt4\nmIdZwQoCCeQxHmMWs/wm6QyNCnU6BJUNNWrUoFSpUgQHB1OlShX69evH+fPn08yzYcMG2rZtS3Bw\nMC6Xi65du7Jr16408yQlJTFixAgiIiIIDg6mTp06PPnkk8THX/857w8uX77MU089xerVq0lMTMxy\n0umEgQMHUrduXYoUKcKcOXMciyMpKem6k85+/foxZsyYa14+s0d15rS4uDjatGlD6dKlqV+/PmvW\nrMl0/lGjRvHcc8/lUXS54/Tp03Tr1o2goCBq1qzJhx9+6HPeqKgoypQpQ3BwMMHBwRQvXpxGjRq5\np3tei4KDg+nYsaN72oABA5g3bx4nT568pjgdLfE0xmR+Jqhs8/XIy9RHZuojMTO6nkdKLn9mOWcm\nn6F169bMnDmT2rVr51xgqtAREZYtW0br1q05ceIE7du356WXXnI/q33jxo106NCBl156iaVLl5Kc\nnMyUKVNo2bIlP/zwAzVq1CA5OZk2bdoQGhrKypUruemmmzh58iQzZ85k06ZNab5ActKVK1coUqRI\nrqw7vePHj3Px4kX3c6j9WePGjenZsyfPPPOM06EUKr169aJly5YsX76cZcuWcf/997N//36v9e//\n+9//kpiYSNOmTa9pW3l57mfm8ccfp0SJEvz222/88MMPdOrUicaNG3v9nERHpy2sat26NXfddZd7\n2PNalF7x4sWJiopizpw5PPnkk9mO0+kSzxwhIh1FZLeI7BURn59uEblfRFJEpElexpcbYmM7ERMj\n7r+vWlm30z3Hef6p3DF27Fjmz5/PmjVrNOlUOSL1OfIVK1akQ4cObN261T3tmWee4ZFHHmHIkCGU\nLl2asmXLMnHiRG6//XbGjRsHwOzZszl8+DCLFy/mpptuAqB8+fKMGjXKZ9K5Y8cO2rdvT7ly5QgL\nC+Pll18GMpZwrVu3jvDwcPdwzZo1mTx5Mo0aNSIoKIgXXniB7t27p1n38OHDGTFiBACJiYk89thj\nVKlShfDwcEaPHu3e3/QuXbrEiBEjqFq1KtWqVWPkyJEkJyezb98+d3dkLpcrzZelp/Xr19OyZUtc\nLhcRERFeSxsTEhLo3LkzFStWpFy5cnTu3JkjR464p3/wwQfUqlWL4OBgatWq5S5B+umnn4iMjKRs\n2bJUrFiRXr16eY0BYPDgwbRu3ZrixYv7nCdVdHQ0TZo0ISQkhIiICMaPH59m+pw5c6hRowYVKlRg\n0qRJ1KxZk7Vr1wKwefNmWrRogcvlomrVqgwdOpTLly+7lw0ICODAgQOA9b4OGTKEe+65h+DgYJo3\nb87PP//snnfkyJFUqlSJsmXL0rhxY3bu3Mk777zD/PnzmTx5MsHBwXTt2tXrPvg6l9Lr0aMHYWFh\nuFwuIiMj2bnT/fBCoqOjufnmmwkODiY8PJxXX30VgFOnTtG5c2dcLhflypWjVatWXte9b98+tmzZ\nwrhx4yhevDj33XcfDRo04NNPP/U6//LlyzOsa8SIEVSvXp2QkBCaNm3K+vXr3dPGjx9P9+7d6du3\nL2XLlmX27NkYY3j55Ze58cYbqVChAj179uT06dNZ2t+ccP78eRYtWsSkSZMoWbIkLVu2pEuXLlmq\n2vDLL7/wzTff8OCDD6YZ7+uzCdCqVSuWLVt2TbHm+8RTRAKwbtN3AG4GeolIhk4SRSQIGAp8l7cR\n5o74+OzfWg8NLVy30vNCqVKl6N27d57eQlKFw+HDh1m+fLn7B82FCxfYsGED999/f4Z5e/TowapV\nqwBYs2YNHTt2pGTJklnaztmzZ2nXrh1RUVEcO3aM/fv307ZtW5/zpz/XFy5cyPLly0lISKBv374s\nX76cs2fPApCSksInn3xCnz59AHjooYcoVqwYBw4cYMuWLaxatYp///vfXrczadIkNm3aRGxsLNu2\nbWPTpk1MmjSJ2rVrs2PHDgDOnDnD6tWrMyx76NAhoqKiGD58OCdPnmTr1q00btw4w3wpKSk8+uij\nHDp0iIMHD1KqVCmGDBkCWF/kw4cPZ8WKFSQmJrJhwwb3OkaPHk2HDh1ISEjg8OHDDB069GqHOUuC\ngoKYO3cuZ86cYdmyZcyYMYOlS5cCsHPnTp544gk+/PBDjh07xpkzZzh69Kh72SJFivD6668THx/P\nxjdN48cAACAASURBVI0bWbt2bZpHanp738aPH09CQgK1atVi1KhRgFXXcf369ezfv5+EhAQ++ugj\nypUrR//+/enTpw9///vfSUxMZMmSJRniz865FBUVxU8//cSJEydo0qSJ+xwBeOyxx3jnnXdITEzk\nxx9/pE2bNgBMmTKF8PBwTp06xYkTJ3jxxRe9rnvHjh3ccMMNlC5d2j2uUaNG7vMmve3bt7t/pKVq\n1qwZsbGxnD59mt69e9O9e3cuXbrknr506VJ69OhBQkICffr04Y033mDp0qV88803HD16FJfLxRNP\nPJGl/U3viSeewOVyERoa6v6f+trbeQywd+9eihYtSq1atbK0z57mzJnDnXfeSURERJrxffr0oVKl\nSnTs2JHY2Ng00+rVq8e2bduuum5vnG5clIaIFDfGXMzmYs2AfcaYOHsdC4GuwO50800E/gn833UH\n6kciI61fJKmNhvRWes47d+4cY8eOpUOHDrRr187pcFQuysnGd9f6Wbz33nsB60u8bdu27pLM+Ph4\nUlJSvD5mNSwszF3f6tSpU9x6661Z3t4XX3xBWFiYu1SyWLFi2brlOHz4cKpUqQJA9erVadKkCYsX\nL+bBBx9kzZo1lC5dmqZNm/Lrr7/y5ZdfcubMGYoXL06JEiUYMWIEs2bNon///hnWu2DBAqZNm+a+\nNTp27FgGDhzI+PHj3SUxxhivP/rmz59Pu3bt6NGjB2CVjHqrBxoaGkq3bt0A6/bhc889lyZRKlKk\nCNu3b6datWpUqlSJSpUqARAYGEhcXBxHjhyhatWqtGjRIsvHKzN33nmn+/Utt9xCz549WbduHV26\ndOHTTz+lS5cuNG/eHIAJEyYwdepU9/xNmvxxI6969eoMGDCAdevWMWzYMCBj6dV9993Hn//8Z8BK\nMJ566in3viUlJbFz506aNWuWISHLTHbOpUceecT9esyYMbz++uskJSVRpkwZihUrxo4dO2jQoAEh\nISHuZCswMJBjx47x888/U6tWLVq2bOl13WfPniUkJCTNuJCQkDSJuqeEhATKlCmTZlzv3r3dr0eO\nHMnEiRPZs2cPDRo0AKB58+Z07twZsM6dWbNmMW3aNPfnc8yYMURERDBv3jwCAgIy3d/0pk2bxrRp\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x6c3f6a0>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.77371031746\n",
"0.723166666667\n"
]
}
],
"source": [
"plt.figure()\n",
"lw = 2\n",
"for pos in range(n_classes):\n",
" for neg in range(pos + 1, n_classes):\n",
" plt.plot(fpr[(pos, neg)], tpr[(pos, neg)], lw=lw,\n",
" label='ROC curve of class {0} against class {1} (area = {2:0.2f})'\n",
" ''.format(pos, neg, roc_auc[(pos, neg)]))\n",
" plt.plot(fpr[(neg, pos)], tpr[(neg, pos)], lw=lw,\n",
" label='ROC curve of class {0} against class {1} (area = {2:0.2f})'\n",
" ''.format(neg, pos, roc_auc[(neg, pos)]))\n",
"plt.plot([0, 1], [0, 1], 'k--', lw=lw)\n",
"plt.xlim([0.0, 1.0])\n",
"plt.ylim([0.0, 1.05])\n",
"plt.xlabel('False Positive Rate')\n",
"plt.ylabel('True Positive Rate')\n",
"plt.title('An extension of Receiver operating characteristic to one-vs-one multi-class')\n",
"plt.legend(bbox_to_anchor=(1.8, 0.55))\n",
"plt.show()\n",
"\n",
"print roc_auc_score(y_test_not_binarized, y_score, multiclass=\"ovo\")\n",
"print roc_auc_score(y_test_not_binarized, y_score, multiclass=\"ovo\", average=\"weighted\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python [flowers]",
"language": "python",
"name": "Python [flowers]"
},
"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.12"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment