{"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":"markdown","source":"# Exploratory data analysis","metadata":{}},{"cell_type":"code","source":"import pandas as pd \nimport numpy as np\nimport matplotlib.pyplot as pt\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.tree import DecisionTreeClassifier\n\n\n# DATA_SET_PATH\nTRAIN_INPUT = '/kaggle/input/digit-recognizer/train.csv'\nTEST_INPUT = '/kaggle/input/digit-recognizer/test.csv'\n\ndata = pd.read_csv(TRAIN_INPUT).to_numpy()\nX, Y = data[:,1:] , data[:,0]\nX.shape, Y.shape\n\nX_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.33, random_state=42)\n\nX_train, X_test, y_train, y_test\n","metadata":{"execution":{"iopub.status.busy":"2022-10-01T14:33:49.443380Z","iopub.execute_input":"2022-10-01T14:33:49.443789Z","iopub.status.idle":"2022-10-01T14:33:53.586762Z","shell.execute_reply.started":"2022-10-01T14:33:49.443757Z","shell.execute_reply":"2022-10-01T14:33:53.585691Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Train the Model","metadata":{}},{"cell_type":"code","source":"model = DecisionTreeClassifier()\nmodel\nmodel.fit(X_train, y_train)\n","metadata":{"execution":{"iopub.status.busy":"2022-10-01T14:33:53.588351Z","iopub.execute_input":"2022-10-01T14:33:53.588767Z","iopub.status.idle":"2022-10-01T14:34:02.784102Z","shell.execute_reply.started":"2022-10-01T14:33:53.588737Z","shell.execute_reply":"2022-10-01T14:34:02.782965Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Validate Accuracy","metadata":{}},{"cell_type":"code","source":"from sklearn.metrics import accuracy_score\n#Predict the response for test dataset\ny_hat = model.predict(X_test)\nprint(accuracy_score(y_test, y_hat))","metadata":{"execution":{"iopub.status.busy":"2022-10-01T14:37:55.856879Z","iopub.execute_input":"2022-10-01T14:37:55.857369Z","iopub.status.idle":"2022-10-01T14:37:55.909073Z","shell.execute_reply.started":"2022-10-01T14:37:55.857330Z","shell.execute_reply":"2022-10-01T14:37:55.908180Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Prepare Submission Data\nsubmission_data = pd.read_csv(TEST_INPUT).to_numpy()\n\npredictions = model.predict(submission_data)\n\noutput = 'ImageId,Label\\n'\n\nfor idx, pred in enumerate(predictions):\n    output += f'{idx+1},{pred}\\n'\nwith open('output.csv','w+') as file:\n    file.write(output)\n\n","metadata":{"execution":{"iopub.status.busy":"2022-10-01T14:48:01.253556Z","iopub.execute_input":"2022-10-01T14:48:01.253953Z","iopub.status.idle":"2022-10-01T14:48:02.927073Z","shell.execute_reply.started":"2022-10-01T14:48:01.253921Z","shell.execute_reply":"2022-10-01T14:48:02.925793Z"},"trusted":true},"execution_count":null,"outputs":[]}]}