{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"import numpy as np\nimport pandas as pd\nimport tensorflow as tf\nfrom tensorflow.keras import layers, models\nfrom tensorflow.keras.layers import Conv2D,MaxPooling2D,Flatten,Dense,Dropout\nimport matplotlib.pyplot as plt\nimport keras\nfrom keras.utils.np_utils import to_categorical","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2021-07-14T14:30:01.687761Z","iopub.execute_input":"2021-07-14T14:30:01.688180Z","iopub.status.idle":"2021-07-14T14:30:07.346713Z","shell.execute_reply.started":"2021-07-14T14:30:01.688098Z","shell.execute_reply":"2021-07-14T14:30:07.345857Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train = pd.read_csv('../input/digit-recognizer/train.csv')\ntest = pd.read_csv('../input/digit-recognizer/test.csv')\ntest1 = test.copy()","metadata":{"execution":{"iopub.status.busy":"2021-07-14T14:30:07.348009Z","iopub.execute_input":"2021-07-14T14:30:07.348278Z","iopub.status.idle":"2021-07-14T14:30:13.184073Z","shell.execute_reply.started":"2021-07-14T14:30:07.348253Z","shell.execute_reply":"2021-07-14T14:30:13.183018Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"x_train=train.drop(['label'],1)\ny_train=train['label']\nx_train=x_train.values.reshape(-1,28,28,1)\ntest=test.values.reshape(-1,28,28,1)\nx_train=x_train/255\ntest=test/255\n\n","metadata":{"execution":{"iopub.status.busy":"2021-07-14T14:30:13.185868Z","iopub.execute_input":"2021-07-14T14:30:13.186134Z","iopub.status.idle":"2021-07-14T14:30:13.515568Z","shell.execute_reply.started":"2021-07-14T14:30:13.186109Z","shell.execute_reply":"2021-07-14T14:30:13.514506Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"plt.imshow(x_train[5], cmap='gray')","metadata":{"execution":{"iopub.status.busy":"2021-07-14T14:30:13.517069Z","iopub.execute_input":"2021-07-14T14:30:13.517344Z","iopub.status.idle":"2021-07-14T14:30:13.685820Z","shell.execute_reply.started":"2021-07-14T14:30:13.517317Z","shell.execute_reply":"2021-07-14T14:30:13.684973Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model=models.Sequential([\n    Conv2D(32, (5,5) , activation='relu' , input_shape=(28,28,1)),\n    MaxPooling2D(pool_size=(2,2)),\n    \n    Conv2D(64,(5,5), activation ='relu'),\n    MaxPooling2D(pool_size=(2,2)),\n    Dropout(0.25),\n    \n    Conv2D(64,(3,3), activation ='relu'),\n    MaxPooling2D(pool_size=(2,2)),\n    Dropout(0.25),\n    \n    Flatten(),\n    Dense(64, activation='relu'),\n    Dense(10, activation='softmax')\n])","metadata":{"execution":{"iopub.status.busy":"2021-07-14T14:30:13.686939Z","iopub.execute_input":"2021-07-14T14:30:13.687225Z","iopub.status.idle":"2021-07-14T14:30:13.818491Z","shell.execute_reply.started":"2021-07-14T14:30:13.687197Z","shell.execute_reply":"2021-07-14T14:30:13.817523Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model.compile(optimizer='adam',loss='sparse_categorical_crossentropy',metrics=['accuracy'])\nmodel.fit(x_train, y_train, epochs=60, batch_size=64)","metadata":{"execution":{"iopub.status.busy":"2021-07-14T14:30:13.819699Z","iopub.execute_input":"2021-07-14T14:30:13.819964Z","iopub.status.idle":"2021-07-14T14:50:46.949388Z","shell.execute_reply.started":"2021-07-14T14:30:13.819940Z","shell.execute_reply":"2021-07-14T14:50:46.948491Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"y_test = model.predict(test)\ny_test = np.argmax(y_test, axis = 1)\nindex_list = []\nfor i in list(test1.index):\n    index_list.append(i+1)\nsubmission_df = pd.DataFrame({\n    \"ImageId\": index_list,\n    \"Label\": y_test\n})\nsubmission_df.to_csv(\"submission_cnn.csv\", index = False)","metadata":{"execution":{"iopub.status.busy":"2021-07-14T14:50:46.950847Z","iopub.execute_input":"2021-07-14T14:50:46.951177Z","iopub.status.idle":"2021-07-14T14:50:51.517384Z","shell.execute_reply.started":"2021-07-14T14:50:46.951150Z","shell.execute_reply":"2021-07-14T14:50:51.516471Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission_df","metadata":{"execution":{"iopub.status.busy":"2021-07-14T14:50:51.518905Z","iopub.execute_input":"2021-07-14T14:50:51.519136Z","iopub.status.idle":"2021-07-14T14:50:51.535673Z","shell.execute_reply.started":"2021-07-14T14:50:51.519114Z","shell.execute_reply":"2021-07-14T14:50:51.534689Z"},"trusted":true},"execution_count":null,"outputs":[]}]}