blob: 2eab62116412d154447a3898d65630c871c00fe8 [file] [log] [blame]
{
"cells": [
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"from datasketches import *\n",
"import pandas as pd\n",
"import base64"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"deserialize_kll = lambda x : kll_floats_sketch.deserialize(base64.b64decode(x))\n",
"\n",
"df = pd.read_csv(\"1hr.kll.k140.txt\",\n",
" sep=\"\\t\",\n",
" header=None,\n",
" names=['pty','device','kll'],\n",
" dtype={'pty':'category', 'device':'category'},\n",
" converters={'kll':deserialize_kll}\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>pty</th>\n",
" <th>device</th>\n",
" <th>kll</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>mail</td>\n",
" <td>mobile</td>\n",
" <td>### KLL sketch summary:\\n K : 1...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>mail</td>\n",
" <td>desktop</td>\n",
" <td>### KLL sketch summary:\\n K : 1...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>news</td>\n",
" <td>mobile</td>\n",
" <td>### KLL sketch summary:\\n K : 1...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>news</td>\n",
" <td>desktop</td>\n",
" <td>### KLL sketch summary:\\n K : 1...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>sports</td>\n",
" <td>mobile</td>\n",
" <td>### KLL sketch summary:\\n K : 1...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>sports</td>\n",
" <td>desktop</td>\n",
" <td>### KLL sketch summary:\\n K : 1...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>finance</td>\n",
" <td>mobile</td>\n",
" <td>### KLL sketch summary:\\n K : 1...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>finance</td>\n",
" <td>desktop</td>\n",
" <td>### KLL sketch summary:\\n K : 1...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>front-page</td>\n",
" <td>mobile</td>\n",
" <td>### KLL sketch summary:\\n K : 1...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>front-page</td>\n",
" <td>desktop</td>\n",
" <td>### KLL sketch summary:\\n K : 1...</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" pty device kll\n",
"0 mail mobile ### KLL sketch summary:\\n K : 1...\n",
"1 mail desktop ### KLL sketch summary:\\n K : 1...\n",
"2 news mobile ### KLL sketch summary:\\n K : 1...\n",
"3 news desktop ### KLL sketch summary:\\n K : 1...\n",
"4 sports mobile ### KLL sketch summary:\\n K : 1...\n",
"5 sports desktop ### KLL sketch summary:\\n K : 1...\n",
"6 finance mobile ### KLL sketch summary:\\n K : 1...\n",
"7 finance desktop ### KLL sketch summary:\\n K : 1...\n",
"8 front-page mobile ### KLL sketch summary:\\n K : 1...\n",
"9 front-page desktop ### KLL sketch summary:\\n K : 1..."
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"### KLL sketch summary:\n",
" K : 140\n",
" min K : 140\n",
" M : 8\n",
" N : 8651479\n",
" Epsilon : 1.88%\n",
" Epsilon PMF : 2.31%\n",
" Empty : false\n",
" Estimation mode: true\n",
" Levels : 16\n",
" Sorted : false\n",
" Capacity items : 466\n",
" Retained items : 345\n",
" Storage bytes : 1472\n",
" Min value : 0\n",
" Max value : 5.38e+03\n",
"### End sketch summary\n",
"\n"
]
}
],
"source": [
"query_result = kll_floats_sketch(140)\n",
"for sk in df.loc[df['pty'] != 'news'].itertuples(index=False):\n",
" query_result.merge(sk.kll)\n",
"print(query_result)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"#xmin = query_result.get_min_value()\n",
"#xmax = query_result.get_max_value()\n",
"xmin = 0.001\n",
"xmax = query_result.get_quantile(0.95)\n",
"num_splits = 50\n",
"step = (xmax - xmin) / num_splits\n",
"splits = [0.001 + (i*step) for i in range(0, num_splits)]"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"pmf = query_result.get_pmf(splits)\n",
"x = splits.copy()\n",
"x.append(xmax)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"import seaborn as sns\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"sns.set(color_codes=True)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<BarContainer object of 51 artists>"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots()\n",
"plt.bar(x=x, height=pmf, align='edge', width=-50)\n",
"#ax.set_xscale('log')"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"num_splits = 50\n",
"logstep = np.log10(xmax - 1.0) / num_splits\n",
"logsplits = [1.0 + (i*logstep) for i in range(0, num_splits)]"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"pmf = query_result.get_pmf(np.power(logsplits,10))\n",
"logx = logsplits.copy()\n",
"logx.append(xmax)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<BarContainer object of 51 artists>"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots()\n",
"plt.bar(x=x, height=pmf, align='edge', width=-50)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"kll = kll_floats_sketch(140)\n",
"for i in range(0,100000):\n",
" kll.update(np.random.exponential())\n",
"xmin = kll.get_min_value()\n",
"xmax = kll.get_max_value()\n",
"step = (xmax - xmin) / 50\n",
"splits = [xmin + (i*step) for i in range(0,50)]\n",
"x = splits.copy()\n",
"x.append(xmax)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<BarContainer object of 51 artists>"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"pmf = kll.get_pmf(splits)\n",
"plt.bar(x=x,height=pmf,align='edge',width=-.25)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
"x = [i for i in range(-10,11)]"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
"y = np.multiply(x,x)"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f933a602760>]"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(x,y)"
]
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {},
"outputs": [],
"source": [
"kll = kll_floats_sketch(160)"
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {},
"outputs": [],
"source": [
"kll.update(np.random.poisson(lam=2.0,size=2**20))\n",
"kll.update(np.random.poisson(lam=20.0,size=2**22))"
]
},
{
"cell_type": "code",
"execution_count": 75,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<BarContainer object of 61 artists>"
]
},
"execution_count": 75,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"xmin = kll.get_min_value()\n",
"xmax = kll.get_max_value()\n",
"num_steps = 60\n",
"step = (xmax - xmin) / num_steps\n",
"splits = [xmin + (i*step) for i in range(0,num_steps)]\n",
"x = splits.copy()\n",
"x.append(xmax)\n",
"pmf = kll.get_pmf(splits)\n",
"plt.bar(x=x,height=pmf,align='edge',width=-.5)"
]
},
{
"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.8.2"
}
},
"nbformat": 4,
"nbformat_minor": 4
}