{"cells":[{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"import numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\n# Input data files are available in the \"../input/\" directory.\n# For example, running this (by clicking run or pressing Shift+Enter) will list the files in the input directory\nimport os\nprint(os.listdir(\"../input\"))","execution_count":20,"outputs":[{"output_type":"stream","text":"['labels.csv', 'train', 'test', 'train.csv', 'sample_submission.csv']\n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"# View\nimport matplotlib.pyplot as plt\nfrom PIL import Image, ImageFilter\n%matplotlib inline","execution_count":21,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"from collections import Counter","execution_count":22,"outputs":[]},{"metadata":{"_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","trusted":true},"cell_type":"code","source":"# Load tabular data\ntrain_df = pd.read_csv(\"../input/train.csv\", index_col=0)\nlabels_df = pd.read_csv(\"../input/labels.csv\", index_col=0)\nsample_df = pd.read_csv(\"../input/sample_submission.csv\", index_col=0)","execution_count":23,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# Describe"},{"metadata":{"trusted":true},"cell_type":"code","source":"train_df.describe()","execution_count":24,"outputs":[{"output_type":"execute_result","execution_count":24,"data":{"text/plain":"          attribute_ids\ncount            109237\nunique            50238\ntop     13 405 896 1092\nfreq               1158","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>attribute_ids</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>count</th>\n      <td>109237</td>\n    </tr>\n    <tr>\n      <th>unique</th>\n      <td>50238</td>\n    </tr>\n    <tr>\n      <th>top</th>\n      <td>13 405 896 1092</td>\n    </tr>\n    <tr>\n      <th>freq</th>\n      <td>1158</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"labels_df.describe()","execution_count":25,"outputs":[{"output_type":"execute_result","execution_count":25,"data":{"text/plain":"       attribute_name\ncount            1103\nunique           1103\ntop     culture::avon\nfreq                1","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>attribute_name</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>count</th>\n      <td>1103</td>\n    </tr>\n    <tr>\n      <th>unique</th>\n      <td>1103</td>\n    </tr>\n    <tr>\n      <th>top</th>\n      <td>culture::avon</td>\n    </tr>\n    <tr>\n      <th>freq</th>\n      <td>1</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"sample_df.describe()","execution_count":26,"outputs":[{"output_type":"execute_result","execution_count":26,"data":{"text/plain":"       attribute_ids\ncount           7443\nunique             1\ntop            0 1 2\nfreq            7443","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>attribute_ids</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>count</th>\n      <td>7443</td>\n    </tr>\n    <tr>\n      <th>unique</th>\n      <td>1</td>\n    </tr>\n    <tr>\n      <th>top</th>\n      <td>0 1 2</td>\n    </tr>\n    <tr>\n      <th>freq</th>\n      <td>7443</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"metadata":{},"cell_type":"markdown","source":"# ABC analysis\nhttps://en.wikipedia.org/wiki/ABC_analysis\n\nToo many labels are not appropriate for kernel competition. One of the way is to classify by using only A rank."},{"metadata":{"trusted":true},"cell_type":"code","source":"flatten = lambda x: [z for y in x for z in (flatten(y) if hasattr(y, '__iter__') and not isinstance(y, str) else (y, ))]","execution_count":27,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"attribute_dist = pd.Series(flatten(list(train_df[\"attribute_ids\"].map(lambda x: x.split(\" \"))))).value_counts()\nattribute_dist = pd.DataFrame(attribute_dist, columns=[\"Count\"])\nattribute_dist = attribute_dist.reset_index()\nattribute_dist.columns = [\"attribute_id\", \"Count\"]\nattribute_dist[\"attribute_name\"] = attribute_dist[\"attribute_id\"].map(lambda x: labels_df.loc[int(x)].values[0])\nattribute_dist[\"ratio\"] = attribute_dist[\"Count\"] / attribute_dist[\"Count\"].sum()\nattribute_dist[\"cumsum\"] = attribute_dist[\"ratio\"].cumsum()\nattribute_dist.columns = [\"attribute_id\", \"Count\", \"attribute_name\", \"ratio\", \"cumsum\"]\nattribute_dist = attribute_dist[[\"attribute_id\", \"attribute_name\", \"Count\", \"ratio\", \"cumsum\"]]","execution_count":28,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"\nattribute_dist","execution_count":29,"outputs":[{"output_type":"execute_result","execution_count":29,"data":{"text/plain":"     attribute_id    ...       cumsum\n0             813    ...     0.057614\n1            1092    ...     0.098815\n2             147    ...     0.137826\n3             189    ...     0.167758\n4              13    ...     0.194159\n5             671    ...     0.218448\n6              51    ...     0.240417\n7             194    ...     0.261749\n8            1059    ...     0.280687\n9             121    ...     0.299560\n10            896    ...     0.316741\n11           1046    ...     0.332871\n12             79    ...     0.348398\n13            780    ...     0.363570\n14            156    ...     0.378466\n15            369    ...     0.391206\n16            744    ...     0.402429\n17            477    ...     0.413080\n18            738    ...     0.423654\n19           1034    ...     0.433953\n20            188    ...     0.444051\n21            835    ...     0.452720\n22            903    ...     0.460083\n23            420    ...     0.467434\n24           1099    ...     0.474147\n25            552    ...     0.480437\n26            485    ...     0.486487\n27            776    ...     0.492473\n28            161    ...     0.498387\n29            489    ...     0.504287\n...           ...    ...          ...\n1073          250    ...     0.999867\n1074          198    ...     0.999876\n1075            7    ...     0.999885\n1076          329    ...     0.999893\n1077          271    ...     0.999899\n1078          142    ...     0.999905\n1079          904    ...     0.999911\n1080          108    ...     0.999916\n1081          987    ...     0.999922\n1082          201    ...     0.999928\n1083          389    ...     0.999934\n1084          240    ...     0.999939\n1085           71    ...     0.999945\n1086          312    ...     0.999951\n1087          187    ...     0.999957\n1088          146    ...     0.999960\n1089          805    ...     0.999962\n1090          396    ...     0.999965\n1091          221    ...     0.999968\n1092          104    ...     0.999971\n1093           11    ...     0.999974\n1094          199    ...     0.999977\n1095          328    ...     0.999980\n1096          281    ...     0.999983\n1097          112    ...     0.999986\n1098          230    ...     0.999988\n1099          366    ...     0.999991\n1100          293    ...     0.999994\n1101           81    ...     0.999997\n1102          262    ...     1.000000\n\n[1103 rows x 5 columns]","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>attribute_id</th>\n      <th>attribute_name</th>\n      <th>Count</th>\n      <th>ratio</th>\n      <th>cumsum</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>813</td>\n      <td>tag::men</td>\n      <td>19970</td>\n      <td>0.057614</td>\n      <td>0.057614</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>1092</td>\n      <td>tag::women</td>\n      <td>14281</td>\n      <td>0.041201</td>\n      <td>0.098815</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>147</td>\n      <td>culture::french</td>\n      <td>13522</td>\n      <td>0.039011</td>\n      <td>0.137826</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>189</td>\n      <td>culture::italian</td>\n      <td>10375</td>\n      <td>0.029932</td>\n      <td>0.167758</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>13</td>\n      <td>culture::american</td>\n      <td>9151</td>\n      <td>0.026401</td>\n      <td>0.194159</td>\n    </tr>\n    <tr>\n      <th>5</th>\n      <td>671</td>\n      <td>tag::flowers</td>\n      <td>8419</td>\n      <td>0.024289</td>\n      <td>0.218448</td>\n    </tr>\n    <tr>\n      <th>6</th>\n      <td>51</td>\n      <td>culture::british</td>\n      <td>7615</td>\n      <td>0.021969</td>\n      <td>0.240417</td>\n    </tr>\n    <tr>\n      <th>7</th>\n      <td>194</td>\n      <td>culture::japan</td>\n      <td>7394</td>\n      <td>0.021332</td>\n      <td>0.261749</td>\n    </tr>\n    <tr>\n      <th>8</th>\n      <td>1059</td>\n      <td>tag::utilitarian objects</td>\n      <td>6564</td>\n      <td>0.018937</td>\n      <td>0.280687</td>\n    </tr>\n    <tr>\n      <th>9</th>\n      <td>121</td>\n      <td>culture::egyptian</td>\n      <td>6542</td>\n      <td>0.018874</td>\n      <td>0.299560</td>\n    </tr>\n    <tr>\n      <th>10</th>\n      <td>896</td>\n      <td>tag::portraits</td>\n      <td>5955</td>\n      <td>0.017180</td>\n      <td>0.316741</td>\n    </tr>\n    <tr>\n      <th>11</th>\n      <td>1046</td>\n      <td>tag::trees</td>\n      <td>5591</td>\n      <td>0.016130</td>\n      <td>0.332871</td>\n    </tr>\n    <tr>\n      <th>12</th>\n      <td>79</td>\n      <td>culture::china</td>\n      <td>5382</td>\n      <td>0.015527</td>\n      <td>0.348398</td>\n    </tr>\n    <tr>\n      <th>13</th>\n      <td>780</td>\n      <td>tag::leaves</td>\n      <td>5259</td>\n      <td>0.015172</td>\n      <td>0.363570</td>\n    </tr>\n    <tr>\n      <th>14</th>\n      <td>156</td>\n      <td>culture::german</td>\n      <td>5163</td>\n      <td>0.014895</td>\n      <td>0.378466</td>\n    </tr>\n    <tr>\n      <th>15</th>\n      <td>369</td>\n      <td>culture::turkish or venice</td>\n      <td>4416</td>\n      <td>0.012740</td>\n      <td>0.391206</td>\n    </tr>\n    <tr>\n      <th>16</th>\n      <td>744</td>\n      <td>tag::inscriptions</td>\n      <td>3890</td>\n      <td>0.011223</td>\n      <td>0.402429</td>\n    </tr>\n    <tr>\n      <th>17</th>\n      <td>477</td>\n      <td>tag::birds</td>\n      <td>3692</td>\n      <td>0.010651</td>\n      <td>0.413080</td>\n    </tr>\n    <tr>\n      <th>18</th>\n      <td>738</td>\n      <td>tag::human figures</td>\n      <td>3665</td>\n      <td>0.010574</td>\n      <td>0.423654</td>\n    </tr>\n    <tr>\n      <th>19</th>\n      <td>1034</td>\n      <td>tag::textile fragments</td>\n      <td>3570</td>\n      <td>0.010300</td>\n      <td>0.433953</td>\n    </tr>\n    <tr>\n      <th>20</th>\n      <td>188</td>\n      <td>culture::islamic</td>\n      <td>3500</td>\n      <td>0.010098</td>\n      <td>0.444051</td>\n    </tr>\n    <tr>\n      <th>21</th>\n      <td>835</td>\n      <td>tag::mythical creatures</td>\n      <td>3005</td>\n      <td>0.008669</td>\n      <td>0.452720</td>\n    </tr>\n    <tr>\n      <th>22</th>\n      <td>903</td>\n      <td>tag::profiles</td>\n      <td>2552</td>\n      <td>0.007363</td>\n      <td>0.460083</td>\n    </tr>\n    <tr>\n      <th>23</th>\n      <td>420</td>\n      <td>tag::animals</td>\n      <td>2548</td>\n      <td>0.007351</td>\n      <td>0.467434</td>\n    </tr>\n    <tr>\n      <th>24</th>\n      <td>1099</td>\n      <td>tag::writing systems</td>\n      <td>2327</td>\n      <td>0.006713</td>\n      <td>0.474147</td>\n    </tr>\n    <tr>\n      <th>25</th>\n      <td>552</td>\n      <td>tag::clothing and accessories</td>\n      <td>2180</td>\n      <td>0.006289</td>\n      <td>0.480437</td>\n    </tr>\n    <tr>\n      <th>26</th>\n      <td>485</td>\n      <td>tag::books</td>\n      <td>2097</td>\n      <td>0.006050</td>\n      <td>0.486487</td>\n    </tr>\n    <tr>\n      <th>27</th>\n      <td>776</td>\n      <td>tag::landscapes</td>\n      <td>2075</td>\n      <td>0.005986</td>\n      <td>0.492473</td>\n    </tr>\n    <tr>\n      <th>28</th>\n      <td>161</td>\n      <td>culture::greek</td>\n      <td>2050</td>\n      <td>0.005914</td>\n      <td>0.498387</td>\n    </tr>\n    <tr>\n      <th>29</th>\n      <td>489</td>\n      <td>tag::bowls</td>\n      <td>2045</td>\n      <td>0.005900</td>\n      <td>0.504287</td>\n    </tr>\n    <tr>\n      <th>...</th>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n    </tr>\n    <tr>\n      <th>1073</th>\n      <td>250</td>\n      <td>culture::nailsea</td>\n      <td>3</td>\n      <td>0.000009</td>\n      <td>0.999867</td>\n    </tr>\n    <tr>\n      <th>1074</th>\n      <td>198</td>\n      <td>culture::kazakhstan</td>\n      <td>3</td>\n      <td>0.000009</td>\n      <td>0.999876</td>\n    </tr>\n    <tr>\n      <th>1075</th>\n      <td>7</td>\n      <td>culture::after italian</td>\n      <td>3</td>\n      <td>0.000009</td>\n      <td>0.999885</td>\n    </tr>\n    <tr>\n      <th>1076</th>\n      <td>329</td>\n      <td>culture::smyrna</td>\n      <td>3</td>\n      <td>0.000009</td>\n      <td>0.999893</td>\n    </tr>\n    <tr>\n      <th>1077</th>\n      <td>271</td>\n      <td>culture::northwest china/eastern central asia</td>\n      <td>2</td>\n      <td>0.000006</td>\n      <td>0.999899</td>\n    </tr>\n    <tr>\n      <th>1078</th>\n      <td>142</td>\n      <td>culture::for russian market</td>\n      <td>2</td>\n      <td>0.000006</td>\n      <td>0.999905</td>\n    </tr>\n    <tr>\n      <th>1079</th>\n      <td>904</td>\n      <td>tag::prostitutes</td>\n      <td>2</td>\n      <td>0.000006</td>\n      <td>0.999911</td>\n    </tr>\n    <tr>\n      <th>1080</th>\n      <td>108</td>\n      <td>culture::devonshire</td>\n      <td>2</td>\n      <td>0.000006</td>\n      <td>0.999916</td>\n    </tr>\n    <tr>\n      <th>1081</th>\n      <td>987</td>\n      <td>tag::slavery</td>\n      <td>2</td>\n      <td>0.000006</td>\n      <td>0.999922</td>\n    </tr>\n    <tr>\n      <th>1082</th>\n      <td>201</td>\n      <td>culture::konigsberg</td>\n      <td>2</td>\n      <td>0.000006</td>\n      <td>0.999928</td>\n    </tr>\n    <tr>\n      <th>1083</th>\n      <td>389</td>\n      <td>culture::vulci</td>\n      <td>2</td>\n      <td>0.000006</td>\n      <td>0.999934</td>\n    </tr>\n    <tr>\n      <th>1084</th>\n      <td>240</td>\n      <td>culture::moche-wari</td>\n      <td>2</td>\n      <td>0.000006</td>\n      <td>0.999939</td>\n    </tr>\n    <tr>\n      <th>1085</th>\n      <td>71</td>\n      <td>culture::central highlands</td>\n      <td>2</td>\n      <td>0.000006</td>\n      <td>0.999945</td>\n    </tr>\n    <tr>\n      <th>1086</th>\n      <td>312</td>\n      <td>culture::san sabastian</td>\n      <td>2</td>\n      <td>0.000006</td>\n      <td>0.999951</td>\n    </tr>\n    <tr>\n      <th>1087</th>\n      <td>187</td>\n      <td>culture::isin-larsaold babylonian</td>\n      <td>2</td>\n      <td>0.000006</td>\n      <td>0.999957</td>\n    </tr>\n    <tr>\n      <th>1088</th>\n      <td>146</td>\n      <td>culture::freiburg im breisgau</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>0.999960</td>\n    </tr>\n    <tr>\n      <th>1089</th>\n      <td>805</td>\n      <td>tag::mark antony</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>0.999962</td>\n    </tr>\n    <tr>\n      <th>1090</th>\n      <td>396</td>\n      <td>culture::zoroastrian</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>0.999965</td>\n    </tr>\n    <tr>\n      <th>1091</th>\n      <td>221</td>\n      <td>culture::macedonian</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>0.999968</td>\n    </tr>\n    <tr>\n      <th>1092</th>\n      <td>104</td>\n      <td>culture::dehua</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>0.999971</td>\n    </tr>\n    <tr>\n      <th>1093</th>\n      <td>11</td>\n      <td>culture::algerian</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>0.999974</td>\n    </tr>\n    <tr>\n      <th>1094</th>\n      <td>199</td>\n      <td>culture::kholmogory</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>0.999977</td>\n    </tr>\n    <tr>\n      <th>1095</th>\n      <td>328</td>\n      <td>culture::skyros</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>0.999980</td>\n    </tr>\n    <tr>\n      <th>1096</th>\n      <td>281</td>\n      <td>culture::palermo</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>0.999983</td>\n    </tr>\n    <tr>\n      <th>1097</th>\n      <td>112</td>\n      <td>culture::dyak</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>0.999986</td>\n    </tr>\n    <tr>\n      <th>1098</th>\n      <td>230</td>\n      <td>culture::mennecy or sceaux</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>0.999988</td>\n    </tr>\n    <tr>\n      <th>1099</th>\n      <td>366</td>\n      <td>culture::tsimshian</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>0.999991</td>\n    </tr>\n    <tr>\n      <th>1100</th>\n      <td>293</td>\n      <td>culture::populonia</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>0.999994</td>\n    </tr>\n    <tr>\n      <th>1101</th>\n      <td>81</td>\n      <td>culture::chinese with european decoration</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>0.999997</td>\n    </tr>\n    <tr>\n      <th>1102</th>\n      <td>262</td>\n      <td>culture::nimes</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>1.000000</td>\n    </tr>\n  </tbody>\n</table>\n<p>1103 rows × 5 columns</p>\n</div>"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"plt.figure(figsize=(16, 7))\nplt.plot(attribute_dist[\"cumsum\"])\nplt.xlabel(\"attribute_dist\")\nplt.ylabel(\"cumsum\")","execution_count":30,"outputs":[{"output_type":"execute_result","execution_count":30,"data":{"text/plain":"Text(0, 0.5, 'cumsum')"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"<Figure size 1152x504 with 1 Axes>","image/png":"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\n"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"# Rank A\nrank_A = attribute_dist[attribute_dist[\"cumsum\"] <= 0.7]\n# Rank B\nrank_B = attribute_dist[(attribute_dist[\"cumsum\"] > 0.7) & (attribute_dist[\"cumsum\"] <= 0.9)]\n# Rank C\nrank_C = attribute_dist[attribute_dist[\"cumsum\"] > 0.9]","execution_count":31,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"len(rank_A), len(rank_B), len(rank_C)","execution_count":32,"outputs":[{"output_type":"execute_result","execution_count":32,"data":{"text/plain":"(86, 218, 799)"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"attribute_dist.to_csv(\"attribute_distribution.csv\")\nattribute_dist","execution_count":33,"outputs":[{"output_type":"execute_result","execution_count":33,"data":{"text/plain":"     attribute_id    ...       cumsum\n0             813    ...     0.057614\n1            1092    ...     0.098815\n2             147    ...     0.137826\n3             189    ...     0.167758\n4              13    ...     0.194159\n5             671    ...     0.218448\n6              51    ...     0.240417\n7             194    ...     0.261749\n8            1059    ...     0.280687\n9             121    ...     0.299560\n10            896    ...     0.316741\n11           1046    ...     0.332871\n12             79    ...     0.348398\n13            780    ...     0.363570\n14            156    ...     0.378466\n15            369    ...     0.391206\n16            744    ...     0.402429\n17            477    ...     0.413080\n18            738    ...     0.423654\n19           1034    ...     0.433953\n20            188    ...     0.444051\n21            835    ...     0.452720\n22            903    ...     0.460083\n23            420    ...     0.467434\n24           1099    ...     0.474147\n25            552    ...     0.480437\n26            485    ...     0.486487\n27            776    ...     0.492473\n28            161    ...     0.498387\n29            489    ...     0.504287\n...           ...    ...          ...\n1073          250    ...     0.999867\n1074          198    ...     0.999876\n1075            7    ...     0.999885\n1076          329    ...     0.999893\n1077          271    ...     0.999899\n1078          142    ...     0.999905\n1079          904    ...     0.999911\n1080          108    ...     0.999916\n1081          987    ...     0.999922\n1082          201    ...     0.999928\n1083          389    ...     0.999934\n1084          240    ...     0.999939\n1085           71    ...     0.999945\n1086          312    ...     0.999951\n1087          187    ...     0.999957\n1088          146    ...     0.999960\n1089          805    ...     0.999962\n1090          396    ...     0.999965\n1091          221    ...     0.999968\n1092          104    ...     0.999971\n1093           11    ...     0.999974\n1094          199    ...     0.999977\n1095          328    ...     0.999980\n1096          281    ...     0.999983\n1097          112    ...     0.999986\n1098          230    ...     0.999988\n1099          366    ...     0.999991\n1100          293    ...     0.999994\n1101           81    ...     0.999997\n1102          262    ...     1.000000\n\n[1103 rows x 5 columns]","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>attribute_id</th>\n      <th>attribute_name</th>\n      <th>Count</th>\n      <th>ratio</th>\n      <th>cumsum</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>813</td>\n      <td>tag::men</td>\n      <td>19970</td>\n      <td>0.057614</td>\n      <td>0.057614</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>1092</td>\n      <td>tag::women</td>\n      <td>14281</td>\n      <td>0.041201</td>\n      <td>0.098815</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>147</td>\n      <td>culture::french</td>\n      <td>13522</td>\n      <td>0.039011</td>\n      <td>0.137826</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>189</td>\n      <td>culture::italian</td>\n      <td>10375</td>\n      <td>0.029932</td>\n      <td>0.167758</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>13</td>\n      <td>culture::american</td>\n      <td>9151</td>\n      <td>0.026401</td>\n      <td>0.194159</td>\n    </tr>\n    <tr>\n      <th>5</th>\n      <td>671</td>\n      <td>tag::flowers</td>\n      <td>8419</td>\n      <td>0.024289</td>\n      <td>0.218448</td>\n    </tr>\n    <tr>\n      <th>6</th>\n      <td>51</td>\n      <td>culture::british</td>\n      <td>7615</td>\n      <td>0.021969</td>\n      <td>0.240417</td>\n    </tr>\n    <tr>\n      <th>7</th>\n      <td>194</td>\n      <td>culture::japan</td>\n      <td>7394</td>\n      <td>0.021332</td>\n      <td>0.261749</td>\n    </tr>\n    <tr>\n      <th>8</th>\n      <td>1059</td>\n      <td>tag::utilitarian objects</td>\n      <td>6564</td>\n      <td>0.018937</td>\n      <td>0.280687</td>\n    </tr>\n    <tr>\n      <th>9</th>\n      <td>121</td>\n      <td>culture::egyptian</td>\n      <td>6542</td>\n      <td>0.018874</td>\n      <td>0.299560</td>\n    </tr>\n    <tr>\n      <th>10</th>\n      <td>896</td>\n      <td>tag::portraits</td>\n      <td>5955</td>\n      <td>0.017180</td>\n      <td>0.316741</td>\n    </tr>\n    <tr>\n      <th>11</th>\n      <td>1046</td>\n      <td>tag::trees</td>\n      <td>5591</td>\n      <td>0.016130</td>\n      <td>0.332871</td>\n    </tr>\n    <tr>\n      <th>12</th>\n      <td>79</td>\n      <td>culture::china</td>\n      <td>5382</td>\n      <td>0.015527</td>\n      <td>0.348398</td>\n    </tr>\n    <tr>\n      <th>13</th>\n      <td>780</td>\n      <td>tag::leaves</td>\n      <td>5259</td>\n      <td>0.015172</td>\n      <td>0.363570</td>\n    </tr>\n    <tr>\n      <th>14</th>\n      <td>156</td>\n      <td>culture::german</td>\n      <td>5163</td>\n      <td>0.014895</td>\n      <td>0.378466</td>\n    </tr>\n    <tr>\n      <th>15</th>\n      <td>369</td>\n      <td>culture::turkish or venice</td>\n      <td>4416</td>\n      <td>0.012740</td>\n      <td>0.391206</td>\n    </tr>\n    <tr>\n      <th>16</th>\n      <td>744</td>\n      <td>tag::inscriptions</td>\n      <td>3890</td>\n      <td>0.011223</td>\n      <td>0.402429</td>\n    </tr>\n    <tr>\n      <th>17</th>\n      <td>477</td>\n      <td>tag::birds</td>\n      <td>3692</td>\n      <td>0.010651</td>\n      <td>0.413080</td>\n    </tr>\n    <tr>\n      <th>18</th>\n      <td>738</td>\n      <td>tag::human figures</td>\n      <td>3665</td>\n      <td>0.010574</td>\n      <td>0.423654</td>\n    </tr>\n    <tr>\n      <th>19</th>\n      <td>1034</td>\n      <td>tag::textile fragments</td>\n      <td>3570</td>\n      <td>0.010300</td>\n      <td>0.433953</td>\n    </tr>\n    <tr>\n      <th>20</th>\n      <td>188</td>\n      <td>culture::islamic</td>\n      <td>3500</td>\n      <td>0.010098</td>\n      <td>0.444051</td>\n    </tr>\n    <tr>\n      <th>21</th>\n      <td>835</td>\n      <td>tag::mythical creatures</td>\n      <td>3005</td>\n      <td>0.008669</td>\n      <td>0.452720</td>\n    </tr>\n    <tr>\n      <th>22</th>\n      <td>903</td>\n      <td>tag::profiles</td>\n      <td>2552</td>\n      <td>0.007363</td>\n      <td>0.460083</td>\n    </tr>\n    <tr>\n      <th>23</th>\n      <td>420</td>\n      <td>tag::animals</td>\n      <td>2548</td>\n      <td>0.007351</td>\n      <td>0.467434</td>\n    </tr>\n    <tr>\n      <th>24</th>\n      <td>1099</td>\n      <td>tag::writing systems</td>\n      <td>2327</td>\n      <td>0.006713</td>\n      <td>0.474147</td>\n    </tr>\n    <tr>\n      <th>25</th>\n      <td>552</td>\n      <td>tag::clothing and accessories</td>\n      <td>2180</td>\n      <td>0.006289</td>\n      <td>0.480437</td>\n    </tr>\n    <tr>\n      <th>26</th>\n      <td>485</td>\n      <td>tag::books</td>\n      <td>2097</td>\n      <td>0.006050</td>\n      <td>0.486487</td>\n    </tr>\n    <tr>\n      <th>27</th>\n      <td>776</td>\n      <td>tag::landscapes</td>\n      <td>2075</td>\n      <td>0.005986</td>\n      <td>0.492473</td>\n    </tr>\n    <tr>\n      <th>28</th>\n      <td>161</td>\n      <td>culture::greek</td>\n      <td>2050</td>\n      <td>0.005914</td>\n      <td>0.498387</td>\n    </tr>\n    <tr>\n      <th>29</th>\n      <td>489</td>\n      <td>tag::bowls</td>\n      <td>2045</td>\n      <td>0.005900</td>\n      <td>0.504287</td>\n    </tr>\n    <tr>\n      <th>...</th>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n    </tr>\n    <tr>\n      <th>1073</th>\n      <td>250</td>\n      <td>culture::nailsea</td>\n      <td>3</td>\n      <td>0.000009</td>\n      <td>0.999867</td>\n    </tr>\n    <tr>\n      <th>1074</th>\n      <td>198</td>\n      <td>culture::kazakhstan</td>\n      <td>3</td>\n      <td>0.000009</td>\n      <td>0.999876</td>\n    </tr>\n    <tr>\n      <th>1075</th>\n      <td>7</td>\n      <td>culture::after italian</td>\n      <td>3</td>\n      <td>0.000009</td>\n      <td>0.999885</td>\n    </tr>\n    <tr>\n      <th>1076</th>\n      <td>329</td>\n      <td>culture::smyrna</td>\n      <td>3</td>\n      <td>0.000009</td>\n      <td>0.999893</td>\n    </tr>\n    <tr>\n      <th>1077</th>\n      <td>271</td>\n      <td>culture::northwest china/eastern central asia</td>\n      <td>2</td>\n      <td>0.000006</td>\n      <td>0.999899</td>\n    </tr>\n    <tr>\n      <th>1078</th>\n      <td>142</td>\n      <td>culture::for russian market</td>\n      <td>2</td>\n      <td>0.000006</td>\n      <td>0.999905</td>\n    </tr>\n    <tr>\n      <th>1079</th>\n      <td>904</td>\n      <td>tag::prostitutes</td>\n      <td>2</td>\n      <td>0.000006</td>\n      <td>0.999911</td>\n    </tr>\n    <tr>\n      <th>1080</th>\n      <td>108</td>\n      <td>culture::devonshire</td>\n      <td>2</td>\n      <td>0.000006</td>\n      <td>0.999916</td>\n    </tr>\n    <tr>\n      <th>1081</th>\n      <td>987</td>\n      <td>tag::slavery</td>\n      <td>2</td>\n      <td>0.000006</td>\n      <td>0.999922</td>\n    </tr>\n    <tr>\n      <th>1082</th>\n      <td>201</td>\n      <td>culture::konigsberg</td>\n      <td>2</td>\n      <td>0.000006</td>\n      <td>0.999928</td>\n    </tr>\n    <tr>\n      <th>1083</th>\n      <td>389</td>\n      <td>culture::vulci</td>\n      <td>2</td>\n      <td>0.000006</td>\n      <td>0.999934</td>\n    </tr>\n    <tr>\n      <th>1084</th>\n      <td>240</td>\n      <td>culture::moche-wari</td>\n      <td>2</td>\n      <td>0.000006</td>\n      <td>0.999939</td>\n    </tr>\n    <tr>\n      <th>1085</th>\n      <td>71</td>\n      <td>culture::central highlands</td>\n      <td>2</td>\n      <td>0.000006</td>\n      <td>0.999945</td>\n    </tr>\n    <tr>\n      <th>1086</th>\n      <td>312</td>\n      <td>culture::san sabastian</td>\n      <td>2</td>\n      <td>0.000006</td>\n      <td>0.999951</td>\n    </tr>\n    <tr>\n      <th>1087</th>\n      <td>187</td>\n      <td>culture::isin-larsaold babylonian</td>\n      <td>2</td>\n      <td>0.000006</td>\n      <td>0.999957</td>\n    </tr>\n    <tr>\n      <th>1088</th>\n      <td>146</td>\n      <td>culture::freiburg im breisgau</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>0.999960</td>\n    </tr>\n    <tr>\n      <th>1089</th>\n      <td>805</td>\n      <td>tag::mark antony</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>0.999962</td>\n    </tr>\n    <tr>\n      <th>1090</th>\n      <td>396</td>\n      <td>culture::zoroastrian</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>0.999965</td>\n    </tr>\n    <tr>\n      <th>1091</th>\n      <td>221</td>\n      <td>culture::macedonian</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>0.999968</td>\n    </tr>\n    <tr>\n      <th>1092</th>\n      <td>104</td>\n      <td>culture::dehua</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>0.999971</td>\n    </tr>\n    <tr>\n      <th>1093</th>\n      <td>11</td>\n      <td>culture::algerian</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>0.999974</td>\n    </tr>\n    <tr>\n      <th>1094</th>\n      <td>199</td>\n      <td>culture::kholmogory</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>0.999977</td>\n    </tr>\n    <tr>\n      <th>1095</th>\n      <td>328</td>\n      <td>culture::skyros</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>0.999980</td>\n    </tr>\n    <tr>\n      <th>1096</th>\n      <td>281</td>\n      <td>culture::palermo</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>0.999983</td>\n    </tr>\n    <tr>\n      <th>1097</th>\n      <td>112</td>\n      <td>culture::dyak</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>0.999986</td>\n    </tr>\n    <tr>\n      <th>1098</th>\n      <td>230</td>\n      <td>culture::mennecy or sceaux</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>0.999988</td>\n    </tr>\n    <tr>\n      <th>1099</th>\n      <td>366</td>\n      <td>culture::tsimshian</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>0.999991</td>\n    </tr>\n    <tr>\n      <th>1100</th>\n      <td>293</td>\n      <td>culture::populonia</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>0.999994</td>\n    </tr>\n    <tr>\n      <th>1101</th>\n      <td>81</td>\n      <td>culture::chinese with european decoration</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>0.999997</td>\n    </tr>\n    <tr>\n      <th>1102</th>\n      <td>262</td>\n      <td>culture::nimes</td>\n      <td>1</td>\n      <td>0.000003</td>\n      <td>1.000000</td>\n    </tr>\n  </tbody>\n</table>\n<p>1103 rows × 5 columns</p>\n</div>"},"metadata":{}}]},{"metadata":{},"cell_type":"markdown","source":"# To Be Continued"},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.6.4","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat":4,"nbformat_minor":1}