{"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)\nimport os\nprint(os.listdir(\"../input\"))","execution_count":null,"outputs":[]},{"metadata":{"_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","trusted":true,"scrolled":true},"cell_type":"code","source":"import numpy\nfrom keras.datasets import mnist\nfrom keras.models import Sequential\nfrom keras.layers import Dense\nfrom keras.layers import Dropout\nfrom keras.layers import Flatten\nfrom keras.layers.convolutional import Conv2D\nfrom keras.layers.convolutional import MaxPooling2D\nfrom keras.utils import np_utils\n\nimport numpy\nfrom keras.datasets import mnist\nfrom keras.models import Sequential\nfrom keras.layers import Dense\nfrom keras.layers import Dropout\nfrom keras.utils import np_utils\ntrain = pd.read_csv('../input/train.csv')\ntest = pd.read_csv('../input/test.csv')\nY = train['label']\ny_train = np_utils.to_categorical(Y)\ntrain.drop('label',axis=1,inplace=True)\nX_train = train/255\nX_test = test/255\nX_train = X_train.values\nX_test = X_test.values\nnum_classes = y_train.shape[1]","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"a2270498669150b133f71cb1bef28b0dca47f5f9"},"cell_type":"code","source":"X_train = X_train.reshape(X_train.shape[0], 28, 28, 1).astype('float32')\nmodel = Sequential()\nmodel.add(Conv2D(32, (5, 5), input_shape=(28, 28, 1), activation='relu'))\nmodel.add(MaxPooling2D(pool_size=(2, 2)))\nmodel.add(Dropout(0.2))\nmodel.add(Flatten())\nmodel.add(Dense(128, activation='relu'))\nmodel.add(Dense(num_classes, activation='softmax'))\n# Compile model\nmodel.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"55d06aef09c7d87ce1f837619a9706019f45abd6"},"cell_type":"code","source":"model.fit(X_train, y_train, epochs=10, batch_size=200, verbose=1)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"scrolled":true,"_uuid":"3f7202d6fe5d26ab357b4321240fed72453c103d"},"cell_type":"code","source":"X_test = X_test.reshape(X_test.shape[0], 28, 28, 1).astype('float32')\nPred = model.predict(X_test)\nPred.shape","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"6bb38a2cbbc5d834ace2b978f36f676bc3eba2f2"},"cell_type":"code","source":"y_pred = Pred.argmax(axis=1)\nImageID = np.arange(len(y_pred))+1\nOut = pd.DataFrame([ImageID,y_pred]).T\nOut.rename(columns = {0:'ImageId', 1:'Label'})\n#Out\nOut.to_csv('MNIST_Prediction.csv', header =  ['ImageId', 'Label' ], index = None) ","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}