Skip to content

Instantly share code, notes, and snippets.

@PatWalters
Created May 19, 2020 01:19
Show Gist options
  • Save PatWalters/5e291673f5ee927f1f969fc761638eb9 to your computer and use it in GitHub Desktop.
Save PatWalters/5e291673f5ee927f1f969fc761638eb9 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"from sklearn.datasets import load_wine\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.neighbors import KNeighborsClassifier\n",
"from sklearn.metrics import precision_score, recall_score\n",
"from scipy.stats import friedmanchisquare\n",
"import scikit_posthocs as sp\n",
"import seaborn as sns\n",
"import numpy as np"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Load the dataset"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"wine_dataset = load_wine()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"I find it easier to deal with data when it's in a Pandas dataframe"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"wine_df = pd.DataFrame(wine_dataset.data,columns=wine_dataset.feature_names)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"wine_df['target'] = wine_dataset['target']"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Define the x and y columns"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"x_cols = wine_df.columns[:len(wine_df.columns)-1]\n",
"y_col= wine_df.columns[-1]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Perform 10 cycles of cross validation"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"pred_list = []\n",
"truth_list = []\n",
"for i in range(0,10):\n",
" train, test = train_test_split(wine_df,test_size=0.30)\n",
" knn = KNeighborsClassifier(n_neighbors=5, weights='distance')\n",
" knn.fit(train[x_cols],train[y_col])\n",
" pred_list.append(knn.predict(test[x_cols]))\n",
" truth_list.append(test[y_col].values)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Generate precision and recall values for the predictions"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"precision_list = []\n",
"recall_list = []\n",
"for t,p in zip(truth_list,pred_list):\n",
" precision_list.append(precision_score(t,p,average=None))\n",
" recall_list.append(recall_score(t,p,average=None))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Put the precision and recall values into a dataframe"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"precision_df = pd.DataFrame(precision_list).melt()\n",
"precision_df.columns = [\"Class\",\"Precision\"]\n",
"recall_df = pd.DataFrame(recall_list).melt()\n",
"recall_df.columns = [\"Class\",\"Recall\"]\n",
"pr_df = precision_df.join(recall_df.Recall)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Evaluate Precison"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x1a245ca810>"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 576x432 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.boxplot(\"Class\",\"Precision\",data=pr_df,notch=True)"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"FriedmanchisquareResult(statistic=16.200000000000017, pvalue=0.00030353913807886407)"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"precision_array = np.array(precision_list).transpose()\n",
"friedmanchisquare(*precision_array)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Perform a post-hoc test using Mann-Whitney"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 576x432 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.set(rc={'figure.figsize':(8,6)},font_scale=1.5)\n",
"heatmap_args = {'linewidths': 0.25, 'linecolor': '0.5', 'clip_on': False, 'square': True, 'cbar_ax_bbox': [0.80, 0.35, 0.04, 0.3]}\n",
"pc = sp.posthoc_mannwhitney(pr_df,val_col=\"Precision\",group_col=\"Class\",p_adjust='holm')\n",
"_ = sp.sign_plot(pc, **heatmap_args)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Evaluate Recall"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x1a2467b190>"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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ANDpdCXG3dzcAAAGg6HUazIyMnDr1i3MmDEDr776KlatWoUWLVpg8uTJOH78uO1DExERVUGiXSYQBOGRjz9okw2TyYSMjAysXLkS3bp1AwA899xzSEhIwJdffonnnnuu3Mf38tKV/SQiqlQqVdGufjVruouchKoCfj9VHtHKgLt70RcvNze3xPj9MwL3H/8nNzc3KBQKhISEFI/J5XJ07NgRP/30U4WOn55ugNX66EJCRJXLZCra1e/u3RyRk1BVwO+n8pPLZY98EyzaZYL7cwWSk5NLjCclJZV4/J/8/f1htVphNpdc89tkMvGeXiIiosckWhnw9/eHr68vdu/eXWJ8z549CAgIQN26dUu9plOnThAEAbGxscVjZrMZhw4dQps2bWyemYiIqCoSdZ2BiRMnIioqCp6enujatSv27t2L2NhYLF26FEDRhMHk5GQ0bNgQOp0OwcHB6NKlCz755BPk5eUhICAA69evR2pqKpYsWSLmp0JEROS0RC0DgwcPRmFhIaKjo7F582b4+flh4cKF6NevHwBg//79iIqKwpo1a9ChQwcAwBdffIHly5fjm2++QVZWFpo3b47o6GgEBQWJ+akQERE5LZlQ1rT+KooTCInsb+HCjwEAkZEfiZyEqgJ+P5Wfw04gJCIiIsfAMkBERCRxLANEREQSxzJAREQkcSwDREREEscyQEREJHEsA0RERBLHMkBERCRxLANEREQSxzJAREQkcSwDREREEscyQEREJHEsA0RERBLHMkBERCRxLANEREQSxzJAREQkcSwDREREEscyQEREJHEsA0RERBLHMkBERCRxLANEREQSxzJAREQkcSwDREREEscyQEREJHEsA0RERBLHMkBERCRxLANEREQSxzJAREQkcSwDREREEscyQEREJHEsA0RERBLHMkBERCRxLANEREQSxzJAREQkcSwDREREEscyQEREJHEsA0RERBLHMkBERCRxLANEREQSpxQ7ABHZ35EjB3H48AG7Hzc5OQkAsHDhx3Y9bmhoF4SEdLbrMYmcCcsAEdmNp6en2BGI6AFYBogkKCSkM98pE1ExzhkgIiKSOJYBIiIiiWMZICIikjiWASIiIoljGSAiIpI40cvAzp07ERYWhlatWqFv377Ytm3bI5//yy+/oEmTJqX+N3fuXDslJiIiqlpEvbUwJiYGERERGDVqFEJD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\n",
"text/plain": [
"<Figure size 576x432 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.boxplot(\"Class\",\"Recall\",data=pr_df,notch=True)"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"FriedmanchisquareResult(statistic=12.200000000000017, pvalue=0.0022428677194857843)"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"recall_array = np.array(recall_list).transpose()\n",
"friedmanchisquare(*recall_array)"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 576x432 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.set(rc={'figure.figsize':(8,6)},font_scale=1.5)\n",
"heatmap_args = {'linewidths': 0.25, 'linecolor': '0.5', 'clip_on': False, 'square': True, 'cbar_ax_bbox': [0.80, 0.35, 0.04, 0.3]}\n",
"pc = sp.posthoc_mannwhitney(pr_df,val_col=\"Recall\",group_col=\"Class\",p_adjust='holm')\n",
"_ = sp.sign_plot(pc, **heatmap_args)"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [],
"source": []
}
],
"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.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment