{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "
Please cite us if you use the software
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Example-7 (How to plot via seaborn+pandas)" ] }, { "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 seaborn,pandas" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "!{sys.executable} -m pip -q -q install seaborn;\n", "!{sys.executable} -m pip -q -q install pandas;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Plotting" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "from pandas import *\n", "import seaborn as sns\n", "from pycm import *\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "def plot_confusion_matrix(cm,normalize=False, title='Confusion matrix', annot=False, cmap=\"YlGnBu\"):\n", " if normalize == True:\n", " df = DataFrame(cm.normalized_matrix).T.fillna(0)\n", " else:\n", " df = DataFrame(cm.matrix).T.fillna(0)\n", " ax = sns.heatmap(df, annot=annot, cmap=cmap)\n", " ax.set_title(title)\n", " ax.set(xlabel='Predict', ylabel='Actual')" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "