{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# How many responses per contest?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This notebook will analyze the number of responses/captions per contest, both treating all contest equally and throughout time."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"ExecuteTime": {
"end_time": "2017-04-17T16:45:18.366875Z",
"start_time": "2017-04-17T11:45:18.364200-05:00"
}
},
"outputs": [],
"source": [
"import os\n",
"import sys\n",
"from pathlib import Path\n",
"p = Path(\".\").absolute()\n",
"root = p.parent.parent\n",
"sys.path.append(str(root))"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"ExecuteTime": {
"end_time": "2017-04-17T16:45:18.366875Z",
"start_time": "2017-04-17T11:45:18.364200-05:00"
}
},
"outputs": [],
"source": [
"import caption_contest_data as ccd"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'509-round1_summary_LilUCB.csv', 520, 521, 522, 523, 524, '559_summary_KLUCB.csv', 526, 527, 528, 529, 530, '511_summary_LilUCB.csv', '517_summary_LilUCB.csv', 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 552, 553, 554, 555, 557, 558, 551, 556, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, '514_summary_RoundRobin.csv', 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, '512_summary_RoundRobin.csv', 634, 635, 636, '513_summary_RoundRobin.csv', 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, '508-round1_summary_RoundRobin.csv', 665, 666, 667, 668, '508-round1_summary_LilUCB.csv', '515_summary_RoundRobin.csv', 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, '517_summary_RoundRobin.csv', '513_summary_LilUCB.csv', '559_summary_LilUCB.csv', '560_summary_KLUCB_funny.csv', '508-round2_summary_RoundRobin.csv', '514_summary_LilUCB.csv', '509-round2_summary_RoundRobin.csv', '515_summary_LilUCB.csv', '510_summary_LilUCB.csv', '516_summary_LilUCB.csv', '511_summary_RoundRobin.csv', '510_summary_RoundRobin.csv', '512_summary_LilUCB.csv', '518_summary_LilUCB.csv', '560_summary_KLUCB_original.csv', '519_summary_RoundRobin.csv', '559_summary_RandomSamping.csv', '519_summary_LilUCB.csv', '509-round1_summary_RoundRobin.csv', '518_summary_RoundRobin.csv', '516_summary_RoundRobin.csv'}\n"
]
}
],
"source": [
"contests = ccd.summary_ids()\n",
"print(contests)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"193"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(contests)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"summaries = [ccd.summary(c) for c in contests]"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"summary = pd.concat(summaries, sort=False)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" target_id | \n",
" rank | \n",
" funny | \n",
" somewhat_funny | \n",
" unfunny | \n",
" count | \n",
" score | \n",
" precision | \n",
" contest | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 6785.0 | \n",
" 1 | \n",
" 22 | \n",
" 18 | \n",
" 12 | \n",
" 52 | \n",
" 2.192308 | \n",
" 0.109979 | \n",
" 509 | \n",
" I recommend the trout. | \n",
"
\n",
" \n",
" 1 | \n",
" 3197.0 | \n",
" 2 | \n",
" 5 | \n",
" 11 | \n",
" 7 | \n",
" 23 | \n",
" 1.913043 | \n",
" 0.152878 | \n",
" 509 | \n",
" May I recommend the trout? | \n",
"
\n",
" \n",
" 2 | \n",
" 469.0 | \n",
" 3 | \n",
" 5 | \n",
" 9 | \n",
" 8 | \n",
" 22 | \n",
" 1.863636 | \n",
" 0.165085 | \n",
" 509 | \n",
" On second thought, maybe we should just go wit... | \n",
"
\n",
" \n",
" 3 | \n",
" 1800.0 | \n",
" 4 | \n",
" 5 | \n",
" 6 | \n",
" 8 | \n",
" 19 | \n",
" 1.842105 | \n",
" 0.191381 | \n",
" 509 | \n",
" Take my wife, please! | \n",
"
\n",
" \n",
" 4 | \n",
" 2317.0 | \n",
" 5 | \n",
" 5 | \n",
" 5 | \n",
" 9 | \n",
" 19 | \n",
" 1.789474 | \n",
" 0.196146 | \n",
" 509 | \n",
" All that work to die a virgin. | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" target_id rank funny somewhat_funny unfunny count score \\\n",
"0 6785.0 1 22 18 12 52 2.192308 \n",
"1 3197.0 2 5 11 7 23 1.913043 \n",
"2 469.0 3 5 9 8 22 1.863636 \n",
"3 1800.0 4 5 6 8 19 1.842105 \n",
"4 2317.0 5 5 5 9 19 1.789474 \n",
"\n",
" precision contest caption \n",
"0 0.109979 509 I recommend the trout. \n",
"1 0.152878 509 May I recommend the trout? \n",
"2 0.165085 509 On second thought, maybe we should just go wit... \n",
"3 0.191381 509 Take my wife, please! \n",
"4 0.196146 509 All that work to die a virgin. "
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"summary.head()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" count | \n",
" n_unique | \n",
"
\n",
" \n",
" contest | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" 508 | \n",
" 137868 | \n",
" 6778 | \n",
"
\n",
" \n",
" 509 | \n",
" 98241 | \n",
" 7858 | \n",
"
\n",
" \n",
" 510 | \n",
" 82627 | \n",
" 3905 | \n",
"
\n",
" \n",
" 511 | \n",
" 56660 | \n",
" 3325 | \n",
"
\n",
" \n",
" 512 | \n",
" 43120 | \n",
" 4399 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" count n_unique\n",
"contest \n",
"508 137868 6778\n",
"509 98241 7858\n",
"510 82627 3905\n",
"511 56660 3325\n",
"512 43120 4399"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import numpy as np\n",
"counts = summary.pivot_table(index=\"contest\", values=\"count\", aggfunc=np.sum)\n",
"nunique = summary.pivot_table(index=\"contest\", values=\"caption\", aggfunc=lambda x: x.nunique())\n",
"df = pd.merge(counts, nunique, left_index=True, right_index=True)\n",
"df[\"n_unique\"] = df[\"caption\"]\n",
"df.drop(columns=\"caption\", inplace=True)\n",
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Int64Index([508, 509, 510, 511, 512, 513, 514, 515, 516, 517,\n",
" ...\n",
" 676, 677, 678, 679, 680, 681, 682, 683, 684, 685],\n",
" dtype='int64', name='contest', length=176)"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.index.unique()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'119.157775 million human responses'"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\"{} million human responses\".format(df[\"count\"].sum() / 1e6)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'970327 captions'"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\"{} captions\".format(df[\"n_unique\"].sum())"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'176 contests'"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\"{} contests\".format(len(df))"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 0, 'Responses (millions)')"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"