Skip to content

Instantly share code, notes, and snippets.

@jchaykow
Created January 31, 2019 20:24
Show Gist options
  • Save jchaykow/b0e970867ca4e9e51808986a81ea1d2d to your computer and use it in GitHub Desktop.
Save jchaykow/b0e970867ca4e9e51808986a81ea1d2d to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Test in tabular"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import pytest"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from fastai.train import ClassificationInterpretation"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"from fastai.tabular import *\n",
"\n",
"pytestmark = pytest.mark.integration\n",
"path = untar_data(URLs.ADULT_SAMPLE)\n",
"\n",
"@pytest.fixture(scope=\"module\")\n",
"def learn():\n",
" df = pd.read_csv(path/'adult.csv')\n",
" procs = [FillMissing, Categorify, Normalize]\n",
" dep_var = 'salary'\n",
" cat_names = ['workclass', 'education', 'marital-status', 'occupation', 'relationship', 'race', 'sex', 'native-country']\n",
" cont_names = ['age', 'fnlwgt', 'education-num']\n",
" test = TabularList.from_df(df.iloc[800:1000].copy(), path=path, cat_names=cat_names, cont_names=cont_names)\n",
" data = (TabularList.from_df(df, path=path, cat_names=cat_names, cont_names=cont_names, procs=procs)\n",
" .split_by_idx(list(range(800,1000)))\n",
" .label_from_df(cols=dep_var)\n",
" .add_test(test)\n",
" .databunch(num_workers=1))\n",
" learn = tabular_learner(data, layers=[200,100], emb_szs={'native-country': 10}, metrics=accuracy)\n",
" learn.fit_one_cycle(2, 1e-2)\n",
" return learn"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"interp = ClassificationInterpretation.from_learner(learn())"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[151, 4],\n",
" [ 30, 15]])"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"interp.confusion_matrix()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"interp.plot_confusion_matrix()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[(1, 0, 30), (0, 1, 4)]"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"interp.most_confused()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Test in vision\n",
"- with additional plot_losses methods"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"from fastai.vision import *"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"@pytest.fixture(scope=\"module\")\n",
"def learn():\n",
" path = untar_data(URLs.MNIST_TINY)\n",
" data = ImageDataBunch.from_folder(path, ds_tfms=(rand_pad(2, 28), []), num_workers=2)\n",
" data.normalize()\n",
" learn = Learner(data, simple_cnn((3,16,16,16,2), bn=True), metrics=[accuracy, error_rate])\n",
" learn.fit_one_cycle(3)\n",
" return learn"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"interp = ClassificationInterpretation.from_learner(learn())"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[337, 9],\n",
" [ 6, 347]])"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"interp.confusion_matrix()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"interp.plot_confusion_matrix()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[('3', '7', 9), ('7', '3', 6)]"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"interp.most_confused()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"losses, idxs = interp.top_losses()"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(tensor([1.3416, 1.1554, 1.1132, 1.0653, 1.0537, 1.0076, 0.9853, 0.9074, 0.9006,\n",
" 0.7946]), tensor([335, 575, 636, 5, 578, 94, 13, 494, 341, 282]))"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"losses[:10], idxs[:10]"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 864x864 with 4 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"interp.plot_top_losses(4)"
]
},
{
"cell_type": "code",
"execution_count": null,
"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.6.7"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment