{"cells":[{"metadata":{},"cell_type":"markdown","source":"## You should be Careful 2 problems!\n\n### 1. different value nums of label for submission\n\n    train\n    > U+306F 1231 3465 133 53 U+304C 275 1652 84 69 ... <br/>\n\n    submission\n    > U+003F 1 1 U+FF2F 2 2<br/>\n\n    Label of train df is consist of 5 values, however, label of submission df needs only 3 values!\n    \n### 2. there is na in labels\n\n    You should fill na!"},{"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\nimport os\nprint(os.listdir(\"../input\"))\n\nimport itertools\nimport codecs\nimport re\nimport datetime\nimport cairocffi as cairo\nimport editdistance\nfrom scipy import ndimage\nimport pylab\nfrom keras import backend as K\nfrom keras.layers.convolutional import Conv2D, MaxPooling2D\nfrom keras.layers import Input, Dense, Activation\nfrom keras.layers import Reshape, Lambda\nfrom keras.layers.merge import add, concatenate\nfrom keras.models import Model\nfrom keras.layers.recurrent import GRU\nfrom keras.optimizers import SGD\nfrom keras.utils.data_utils import get_file\nfrom keras.preprocessing import image\nimport keras.callbacks","execution_count":null,"outputs":[]},{"metadata":{"_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","trusted":true},"cell_type":"code","source":"# https://www.kaggle.com/anokas/kuzushiji-visualisation\ndf_train = pd.read_csv('../input/train.csv')\ndf_unicode = pd.read_csv('../input/unicode_translation.csv')\ndf_submission = pd.read_csv('../input/sample_submission.csv')\ntrain_image_path = \"../input/train_images\"\ntest_image_path = \"../input/test_images\"\nunicode_map = {codepoint: char for codepoint, char in df_unicode.values}","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"df_train.head()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"df_train['labels'].isna().value_counts()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"df_train = df_train.fillna('')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"df_submission.head()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"for i, row in df_submission.iterrows():\n    samples = df_train.iloc[i%df_train.shape[0]]['labels']\n    result = ''\n    tmp = ''\n    j=0\n    for sample in samples.split(' '):\n        if j == 0:\n            tmp += sample + ' '\n            j += 1\n        elif j == 1:\n            tmp += sample + ' '\n            j += 1\n        elif j == 2:\n            tmp += sample + ' '\n            j += 1\n        elif j == 3:\n            j += 1\n        else:\n            result += tmp\n            tmp = ''\n            j = 0\n\n    if len(result) == 0:\n        df_submission.set_value(i, 'labels', '')\n    else:\n        df_submission.set_value(i, 'labels', result[:-1])","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"df_submission.head()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"df_submission.to_csv(\"submission.csv\", index=False)","execution_count":null,"outputs":[]},{"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}