{"cells":[{"metadata":{"trusted":false},"cell_type":"code","source":"import pandas as pd\nimport numpy as np\nimport sys\nimport os\nimport tensorflow as tf\nimport json\nimport imp\n\nfrom sklearn.model_selection import train_test_split\n\nfrom tensorflow.keras.models import Sequential\nfrom tensorflow.keras.layers import Dense, Dropout, BatchNormalization, Activation,Embedding\nfrom tensorflow.keras.layers import Conv1D,Conv2D, Reshape, Flatten,MaxPooling2D\n\nsys.path.append(\"/axp/rim/mldsml/dev/adit/Learning/kaggle/MNIST_digit_recognizer\")\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"#import adit_utils as utils\n#imp.reload(utils)","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"train=pd.read_csv(\"/axp/rim/mldsml/dev/adit/Learning/kaggle/MNIST_digit_recognizer/data/train.csv\")\ntest=pd.read_csv(\"/axp/rim/mldsml/dev/adit/Learning/kaggle/MNIST_digit_recognizer/data/test.csv\")","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"print(np.shape(train))\nprint(np.shape(test))","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"train.head()","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"dev,val=train_test_split(train, test_size=0.1, random_state=1)","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"dev_x=dev.drop([\"label\"], axis=1) \nval_x=val.drop([\"label\"], axis=1) \n\nx_dev=np.array(dev_x)\nx_val=np.array(val_x)\n\nx_dev=x_dev/255\nx_val=x_val/255\n\nx_dev=x_dev.reshape(-1,28, 28,1)\nx_val=x_val.reshape(-1,28, 28,1)\n\nx_test=np.array(test)\nx_test=x_test/255\nx_test=x_test.reshape(-1,28, 28,1)","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"y_dev=np.array(dev[\"label\"])\ny_val=np.array(val[\"label\"])","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"y_dev_oh = pd.get_dummies(dev[\"label\"], prefix='digit')\ny_dev_oh=np.array(y_dev_oh)\n\ny_val_oh = pd.get_dummies(val[\"label\"], prefix='digit')\ny_val_oh=np.array(y_val_oh)","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"cnn3=Sequential()\ncnn3.add(Conv2D(32, (3, 3), padding=\"same\", activation=\"relu\"))\ncnn3.add(MaxPooling2D(pool_size=(2, 2)))\ncnn3.add(Convolution2D(32, (3, 3), padding=\"same\", activation=\"relu\"))\ncnn3.add(Flatten())\ncnn3.add(Dense(16))\ncnn3.add(Activation(\"relu\"))\ncnn3.add(Dense(10))\ncnn3.add(Activation(\"softmax\"))\n\ncnn3.compile(optimizer=\"adam\",loss=\"binary_crossentropy\",metrics=[\"accuracy\"])\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"cnn3.summary()","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"cnn3.fit(x=x_dev,y=y_dev_oh,epochs=5,batch_size=64,validation_data=(x_val,y_val_oh))","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"cnn_scores_7x7=cnn.predict(x_test)","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"cnn_scores_5x5=cnn5.predict(x_test)","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"cnn_scores_3x3=cnn3.predict(x_test)","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"cnn_scores=np.maximum(cnn_scores_3x3,cnn_scores_5x5,cnn_scores_7x7)","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"cnn_scores","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"cnn_scores = cnn_scores.argmax(axis=-1)","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"df=pd.DataFrame(cnn_scores,columns=[\"Label\"])","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"df=pd.DataFrame(cnn_scores,columns=[\"Label\"])\ndf.reset_index(drop=True, inplace=True)\n\nnum = [0] * 28000\nfor i in range(1,28001):\n    num[i-1]=i\ndf2=pd.DataFrame(num)\ndf2.columns=[\"ImageId\"]\ndf2.reset_index(drop=True, inplace=True)\nsub=pd.concat([df2,df],axis=1,ignore_index=True)\nsub.columns=[\"ImageId\",\"Label\"]\nsub.to_csv(\"/axp/rim/mldsml/dev/adit/Learning/kaggle/MNIST_digit_recognizer/results/ens_cnn_357_2layers.csv\",index=False)","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"sub.tail(10)","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"","execution_count":null,"outputs":[]}],"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":4,"nbformat_minor":4}