Skip to content

Instantly share code, notes, and snippets.

@yagays
Last active February 9, 2018 02:46
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 yagays/6e3824fb62a1f783aa3ec43ac7c7b585 to your computer and use it in GitHub Desktop.
Save yagays/6e3824fb62a1f783aa3ec43ac7c7b585 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": [
"%matplotlib inline\n",
"import sys, os, time\n",
"\n",
"from collections import defaultdict\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# On master branch"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import category_encoders"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"x = [10, 100, 1000, 10000]"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"elapsed_time_orig = defaultdict(list)\n",
"for num_category in x:\n",
" for i in range(10):\n",
" start = time.time()\n",
" many_category_list = [\"category_{}\".format(i) for i in range(num_category)]\n",
" encoder = category_encoders.OrdinalEncoder()\n",
" encoder.fit(many_category_list)\n",
" encoder.transform(many_category_list)\n",
"\n",
" elapsed_time_orig[num_category].append(time.time() - start)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"y_orig = [np.mean(elapsed_time_orig[i]) for i in x]\n",
"y_orig_error = [np.std(elapsed_time_orig[i]) for i in x]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# On my branch"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"sys.path.append(\"/Users/okuda/dev/github/categorical-encoding/category_encoders\")\n",
"from ordinal import OrdinalEncoder"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"elapsed_time = defaultdict(list)\n",
"for num_category in x:\n",
" for i in range(10):\n",
" start = time.time()\n",
" many_category_list = [\"category_{}\".format(i) for i in range(num_category)]\n",
" encoder = OrdinalEncoder()\n",
" encoder.fit(many_category_list)\n",
" encoder.transform(many_category_list)\n",
"\n",
" elapsed_time[num_category].append(time.time() - start)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"y = [np.mean(elapsed_time[i]) for i in x]\n",
"y_error = [np.std(elapsed_time[i]) for i in x]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Visualization"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x114da7208>"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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s88++zB37lxmzJjB4YeXPLJh3bp1mTlzJs888wy//e1veeONN4DgLq0PP/yQzMxMNm7cyAcffEC1atWYMGECN910Ey+//HJBXJ9//jk1atSgbdu2XHPNNWRnZ/PLX/6SyZMn07JlS9auXVuwv6+++opJkyaxadMm2rZty1VXXaVbRUUSTDWCCpoyZQrnnHMOtWrVonbt2vTv358PPvgAgIMOOohevXoBcMkllzBlypQyt9eyZUs6dOhARkYGhx12GH369MHM6NChAwsXLix2nXnz5nHDDTcwevRosrKyGDduHMOHD6dz58707t2b7du3s3jxYiZPnswll1wCQMeOHenYsWOJcVx00UUF7x99tDthnnfeeWRmZgKwYcMGzjvvPNq3b8/111/P7NmzC8r16dOHunXrkp2dzaGHHsqiRYv4+OOPOfbYYwtuAW3QoEFB+dNOO40aNWrQsGFD9t9/f1asWFHm30pEKlfcagRm1hZ4odCsVsBtwDPh/BbAQuB8d1+3N/sq7Zd7Yfk1gRd+1XNvdlemone6xHLnS40aNQo+Z2RkFExnZGQU2y6/efNmzj//fJ544gkaN24MBPfdv/zyy7RtG+sY7aXHXvhzrVq1Cj7feuutHH/88bzyyissXLiQ3r17F/s9MjMzy7ymUN7yIlL54lYjcPev3b2zu3cGjgC2Aq8AQ4CJ7t4amBhOp5xjjjmGV199la1bt7JlyxZeeeUVjjnmGAAWL15c8Gv6ueee4+ijjwagTp06bNq0qVL2f/nll3PZZZcV7BPg5JNP5uGHH8bdAfj8888BOPbYY3nuuecAmDVrFjNmzChxuy+88ELBe8+exSfMDRs20KRJEyC4LlCWHj16MHnyZL799luAPZqGRCR6iWoa6gN84+6LgLOAUeH8UcDZCYqhUh1++OFceumldOvWje7du/OLX/yCLl26ANC2bVv+9re/0a5dO9atW8dVV10FwKBBg+jXr1/BxeKKWrRoES+99BIjR44suGA8bdo0br31Vnbu3EnHjh057LDDuPXWWwG46qqr2Lx5M+3ateO2227jiCOOKHHb69ato2PHjjz44IPcf//9xZYZPHgwQ4cOpUuXLjH9gs/JyWHEiBH079+fTp06ccEFF1Tsi4ukE3fYWfKNHZXJ8n89xnUnZiOBz9z9ETNb7+71wvkGrMufLknXrl296H3v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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x114c2d550>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.xscale(\"log\")\n",
"plt.errorbar(x, y, yerr=y_error, label=\"optimized branch\")\n",
"plt.errorbar(x, y_orig, yerr=y_orig_error, label=\"master branch\")\n",
"plt.title(\"Benchmark\")\n",
"plt.xlabel(\"# of categories\")\n",
"plt.ylabel(\"time (s)\")\n",
"plt.legend()"
]
}
],
"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.3"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment