{"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":"#keras model formation\nfrom keras.models import Sequential\nfrom keras.utils import np_utils\nfrom keras.layers.core import Dense, Activation, Dropout\nfrom keras.layers import Conv2D, MaxPooling2D, Flatten\n\n#validation dataset from train set\nfrom sklearn.model_selection import train_test_split\n\n#Data Analysis\nimport pandas as pd\nimport numpy as np","metadata":{"execution":{"iopub.status.busy":"2022-08-10T02:23:49.080348Z","iopub.execute_input":"2022-08-10T02:23:49.080788Z","iopub.status.idle":"2022-08-10T02:23:56.592269Z","shell.execute_reply.started":"2022-08-10T02:23:49.080755Z","shell.execute_reply":"2022-08-10T02:23:56.590943Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train=pd.read_csv('../input/digit-recognizer/train.csv')\nlabels=train.iloc[:,0].values.astype('int32')\nX_train=(train.iloc[:,1:].values).astype('float32')\nX_test=(pd.read_csv('../input/digit-recognizer/test.csv').values).astype('float32')\n\ny_train=np_utils.to_categorical(labels)\n","metadata":{"execution":{"iopub.status.busy":"2022-08-10T02:23:56.594779Z","iopub.execute_input":"2022-08-10T02:23:56.595549Z","iopub.status.idle":"2022-08-10T02:24:02.522205Z","shell.execute_reply.started":"2022-08-10T02:23:56.595509Z","shell.execute_reply":"2022-08-10T02:24:02.521078Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#-1 in reshape refers to an unknown dimension, which the reshape function will calculate for us\nX_train=X_train.reshape((-1,28,28,1))\nX_test=X_test.reshape((-1,28,28,1))\nX_train, X_val, y_train, y_val = train_test_split(X_train, y_train, test_size = 0.1)","metadata":{"execution":{"iopub.status.busy":"2022-08-10T02:24:02.523757Z","iopub.execute_input":"2022-08-10T02:24:02.524128Z","iopub.status.idle":"2022-08-10T02:24:02.883710Z","shell.execute_reply.started":"2022-08-10T02:24:02.524095Z","shell.execute_reply":"2022-08-10T02:24:02.882577Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#Making model\nmodel = Sequential()\nmodel.add(Conv2D(32,(3,3), activation='relu', input_shape=(28,28,1)))\nmodel.add(Conv2D(32,(3,3), activation='relu', input_shape=(28,28,1)))\nmodel.add(MaxPooling2D((2,2)))\nmodel.add(Dropout(0.25))\n\nmodel.add(Conv2D(64,(3,3), activation='relu'))\nmodel.add(Conv2D(64,(3,3), activation='relu'))\nmodel.add(MaxPooling2D((2,2)))\nmodel.add(Dropout(0.25))\n\nmodel.add(Flatten())\nmodel.add(Dense(256, activation='relu'))\nmodel.add(Dense(10, activation='softmax'))","metadata":{"execution":{"iopub.status.busy":"2022-08-10T02:24:02.886152Z","iopub.execute_input":"2022-08-10T02:24:02.886511Z","iopub.status.idle":"2022-08-10T02:24:03.080798Z","shell.execute_reply.started":"2022-08-10T02:24:02.886479Z","shell.execute_reply":"2022-08-10T02:24:03.079424Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model.compile(optimizer='rmsprop',\n              loss='categorical_crossentropy',\n              metrics=['accuracy'])\nhistory = model.fit(X_train, y_train, epochs=20, batch_size=64, validation_data=(X_val, y_val))\n\nprint(\"훈련데이터 점수 : \", model.evaluate(X_train, y_train))\nprint(\"검증데이터 점수 : \", model.evaluate(X_val, y_val))","metadata":{"execution":{"iopub.status.busy":"2022-08-10T02:29:47.303714Z","iopub.execute_input":"2022-08-10T02:29:47.304205Z","iopub.status.idle":"2022-08-10T02:42:39.604591Z","shell.execute_reply.started":"2022-08-10T02:29:47.304169Z","shell.execute_reply":"2022-08-10T02:42:39.603334Z"},"collapsed":true,"jupyter":{"outputs_hidden":true},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"y_prob = model.predict(X_test, verbose=0) \npredictions = y_prob.argmax(axis=-1)\nsubmissions=pd.DataFrame({\"ImageId\": list(range(1,len(predictions)+1)),\n                         \"Label\": predictions})\nsubmissions.to_csv(\"DR.csv\", index=False, header=True)","metadata":{"execution":{"iopub.status.busy":"2022-08-10T03:04:45.285542Z","iopub.execute_input":"2022-08-10T03:04:45.285937Z","iopub.status.idle":"2022-08-10T03:04:54.140395Z","shell.execute_reply.started":"2022-08-10T03:04:45.285905Z","shell.execute_reply":"2022-08-10T03:04:54.139129Z"},"trusted":true},"execution_count":null,"outputs":[]}]}