{"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":"## Импортируем необходимые библиотеки","metadata":{}},{"cell_type":"code","source":"import pandas as pd\nfrom sklearn.svm import SVC\nfrom sklearn.decomposition import PCA\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.ensemble import RandomForestClassifier","metadata":{"execution":{"iopub.status.busy":"2021-10-12T16:19:22.229985Z","iopub.execute_input":"2021-10-12T16:19:22.230299Z","iopub.status.idle":"2021-10-12T16:19:22.237501Z","shell.execute_reply.started":"2021-10-12T16:19:22.230269Z","shell.execute_reply":"2021-10-12T16:19:22.236695Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Загружаем данные","metadata":{}},{"cell_type":"code","source":"train_data = pd.read_csv('../input/digit-recognizer/train.csv')\ntest_data = pd.read_csv('../input/digit-recognizer/test.csv')\n\ntrain_data","metadata":{"execution":{"iopub.status.busy":"2021-10-12T16:19:22.238968Z","iopub.execute_input":"2021-10-12T16:19:22.239899Z","iopub.status.idle":"2021-10-12T16:19:27.174463Z","shell.execute_reply.started":"2021-10-12T16:19:22.239856Z","shell.execute_reply":"2021-10-12T16:19:27.173632Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Разделяем выборку на признаки и метки","metadata":{}},{"cell_type":"code","source":"y = train_data['label']\nX = train_data.drop('label', axis=1)","metadata":{"execution":{"iopub.status.busy":"2021-10-12T16:19:27.177389Z","iopub.execute_input":"2021-10-12T16:19:27.177746Z","iopub.status.idle":"2021-10-12T16:19:27.28207Z","shell.execute_reply.started":"2021-10-12T16:19:27.177712Z","shell.execute_reply":"2021-10-12T16:19:27.281229Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Воспользуемся методом случайного леса\n\nМетод заключается в использовании решающих деревьев.","metadata":{}},{"cell_type":"code","source":"clf = RandomForestClassifier(random_state=3, n_estimators=100)\nclf.fit(X, y)","metadata":{"execution":{"iopub.status.busy":"2021-10-12T16:19:27.283423Z","iopub.execute_input":"2021-10-12T16:19:27.283752Z","iopub.status.idle":"2021-10-12T16:20:03.707572Z","shell.execute_reply.started":"2021-10-12T16:19:27.283719Z","shell.execute_reply":"2021-10-12T16:20:03.70645Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Итоговые вычисления и создание submission.csv","metadata":{}},{"cell_type":"code","source":"y_pred = clf.predict(test_data)\n\npd.DataFrame({\n    \"ImageId\": range(1,len(y_pred)+1),\n    \"Label\": y_pred\n    }).to_csv('submission.csv', index=False, header=True)","metadata":{"execution":{"iopub.status.busy":"2021-10-12T16:20:03.709879Z","iopub.execute_input":"2021-10-12T16:20:03.710243Z","iopub.status.idle":"2021-10-12T16:20:05.328275Z","shell.execute_reply.started":"2021-10-12T16:20:03.710201Z","shell.execute_reply":"2021-10-12T16:20:05.326947Z"},"trusted":true},"execution_count":null,"outputs":[]}]}