{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "

Please cite us if you use the software

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Example-2 (How to plot via matplotlib)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "⚠️ This example is deprecated. You can use `plot` method from `version 3.0`" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Environment check" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Checking that the notebook is running on Google Colab or not." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import sys\n", "try:\n", " import google.colab\n", " !{sys.executable} -m pip -q -q install pycm\n", "except:\n", " pass" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Install matplotlib" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "hide_output": true }, "outputs": [], "source": [ "!{sys.executable} -m pip -q -q install matplotlib;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Plotting" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import itertools\n", "from pycm import ConfusionMatrix\n", "\n", "def plot_confusion_matrix(cm,\n", " normalize=False,\n", " title='Confusion matrix',\n", " cmap=plt.cm.Blues):\n", " \"\"\"\n", " This function modified to plots the ConfusionMatrix object.\n", " Normalization can be applied by setting `normalize=True`.\n", " \n", " Code Reference : \n", " http://scikit-learn.org/stable/auto_examples/model_selection/plot_confusion_matrix.html\n", " \n", " \"\"\"\n", "\n", " plt_cm = []\n", " for i in cm.classes :\n", " row=[]\n", " for j in cm.classes:\n", " row.append(cm.table[i][j])\n", " plt_cm.append(row)\n", " plt_cm = np.array(plt_cm)\n", " if normalize:\n", " plt_cm = plt_cm.astype('float') / plt_cm.sum(axis=1)[:, np.newaxis] \n", " plt.imshow(plt_cm, interpolation='nearest', cmap=cmap)\n", " plt.title(title)\n", " plt.colorbar()\n", " tick_marks = np.arange(len(cm.classes))\n", " plt.xticks(tick_marks, cm.classes, rotation=45)\n", " plt.yticks(tick_marks, cm.classes)\n", "\n", " fmt = '.2f' if normalize else 'd'\n", " thresh = plt_cm.max() / 2.\n", " for i, j in itertools.product(range(plt_cm.shape[0]), range(plt_cm.shape[1])):\n", " plt.text(j, i, format(plt_cm[i, j], fmt),\n", " horizontalalignment=\"center\",\n", " color=\"white\" if plt_cm[i, j] > thresh else \"black\")\n", "\n", " plt.tight_layout()\n", " plt.ylabel('Actual')\n", " plt.xlabel('Predict')" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "cm = ConfusionMatrix(matrix={0: {0:13, 1:0, 2:0}, 1:{0:0, 1:10, 2:6}, 2: {0:0, 1:0, 2:9}})" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "\n", "plt.figure()\n", "plot_confusion_matrix(cm,title='cm')\n", "plt.figure()\n", "plot_confusion_matrix(cm,title='cm(Normalized)', normalize=True)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "" ] } ], "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.5.2" } }, "nbformat": 4, "nbformat_minor": 2 }