{"cells":[{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"import numpy as np\nimport pandas as pd\nimport keras\nfrom keras.layers import Dense,Dropout,Conv2D,MaxPooling2D,Flatten\nfrom keras.models import Sequential\nfrom keras.optimizers import SGD","execution_count":null,"outputs":[]},{"metadata":{"_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","trusted":true},"cell_type":"code","source":"train_data=pd.read_csv('../input/train.csv')\ntest_data=pd.read_csv('../input/test.csv')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"461176cd82df3e2e795fe0ae245bfc03a7112d3d"},"cell_type":"code","source":"train_data=train_data.sample(frac=1).reset_index(drop=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"207b61ccc7459b461db226d1a087a98aa9ad9738"},"cell_type":"code","source":"labels=train_data['label']","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"0cfdc3f038ed448ca7646ebe442c53eabffb5922"},"cell_type":"code","source":"train_data=train_data.drop(['label'],axis=1)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"226bfd2ec3dadeaf20341d90ab6f9fc9b5412dc1"},"cell_type":"code","source":"labels.value_counts()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"f27f1e60df62f48b7019e863b00be279795f0608"},"cell_type":"code","source":"labels = keras.utils.to_categorical(labels,len(labels.value_counts()))","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"d97a17181580d68071328293d2974c566ceded69"},"cell_type":"code","source":"train_data=train_data.astype('float32')/255","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"2ba6298ececc59c5b2112dc9bd7fe0f7e0ae531b"},"cell_type":"code","source":"train_X=train_data[:36000]\ntest_X=train_data[36000:]\ntrain_y=labels[:36000]\ntest_y=labels[36000:]","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"d78d3eae092e387f1846c53dcca9a019a0d07247"},"cell_type":"code","source":"train_X=train_X.values.reshape(train_X.shape[0],28,28,1)\ntest_X=test_X.values.reshape(test_X.shape[0],28,28,1)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"2fb9b9a8f7022cdedbb0f76d5dce8189db06db37"},"cell_type":"code","source":"model = Sequential()\nmodel.add(Conv2D(32, kernel_size=(3, 3),\n                 activation='relu',\n                 input_shape=(28,28,1)))\nmodel.add(Conv2D(64, (3, 3), activation='relu'))\nmodel.add(MaxPooling2D(pool_size=(2, 2)))\nmodel.add(Dropout(0.25))\nmodel.add(Flatten())\nmodel.add(Dense(128, activation='relu'))\nmodel.add(Dropout(0.5))\nmodel.add(Dense(10, activation='softmax'))\n\nmodel.compile(loss=keras.losses.categorical_crossentropy,\n              optimizer=keras.optimizers.Adadelta(),\n              metrics=['accuracy'])","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"ca756c88d85dccee7c182ff2933aecc42f7bd411"},"cell_type":"code","source":"model.fit(train_X,train_y,batch_size=32,epochs=35,verbose=1,validation_data=(test_X, test_y))","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"24f3a78e7deb430511ee17a93d0eb53a51e82716"},"cell_type":"code","source":"test_data=test_data.astype('float32')/255","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"0a26b23ced48d1dfb1033650eeba4afa2c1393bd"},"cell_type":"code","source":"test=test_data.values.reshape(len(test_data),28,28,1)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"bbfda4046d2c1caea132787cf7e90ff220dbfdd2"},"cell_type":"code","source":"k=model.predict_classes(test)\nres=pd.DataFrame(data=k)\nres.index+=1\nres['ImageId']=res.index\nres=res.rename(index=str, columns={0: \"Label1\"})\nres['Label']=res['Label1']\nres=res.drop(['Label1'],axis=1)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"0602d68e2f2c55d2db807f12e593d475a6417e6d"},"cell_type":"code","source":"res.to_csv('result.csv', index=False)","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.6.6","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat":4,"nbformat_minor":1}