{"cells":[{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"##### This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load in \n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n#import pydotplus\nimport os\nimport matplotlib.pyplot as plt\n%matplotlib inline\n\nfrom sklearn.model_selection import train_test_split # (SciKit_Learn)\nfrom sklearn.tree import DecisionTreeClassifier\nfrom sklearn.ensemble import AdaBoostClassifier\nfrom sklearn.ensemble import RandomForestClassifier\nfrom sklearn.neighbors import KNeighborsClassifier\nfrom sklearn import tree\nfrom sklearn.externals.six import StringIO\nfrom IPython.display import Image\nfrom sklearn.metrics import confusion_matrix\nfrom sklearn.metrics import classification_report # (Same as confusion matrix)\nfrom numpy.linalg import eig\nfrom sklearn.decomposition import PCA\nfrom sklearn.metrics import accuracy_score , classification_report \nfrom sklearn.metrics import roc_curve\nfrom sklearn.metrics import auc\n\n# Input data files are available in the \"../input/\" directory.\n# For example, running this (by clicking run or pressing Shift+Enter) will list the files in the input directory\n\nimport os\nprint(os.listdir(\"../input\"))\n\n\n# Any results you write to the current directory are saved as output.","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"fa3f59ecfb3d91b3889db5d85b7ebe2001f10168"},"cell_type":"markdown","source":"## Importing the Data"},{"metadata":{"_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","trusted":true},"cell_type":"code","source":"train = pd.read_csv(\"../input/train.csv\")\nsample_submission = pd.read_csv(\"../input/sample_submission.csv\")\ntest = pd.read_csv(\"../input/test.csv\")","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"3549c74fc7a6ee91b4b98daab75e47f9c7f87fb1"},"cell_type":"markdown","source":"## Splitting the data into Test and Validate"},{"metadata":{"trusted":true,"_uuid":"b6909a79d6332462aa3e26cfbc813ed0cf30e5a1"},"cell_type":"code","source":"train_xx , validate_xx = train_test_split(train , test_size = 0.15 , random_state = 100)\ntrain_y =train_xx['label']\nvalidate_y = validate_xx['label']\ntrain_x = train_xx.drop('label', axis = 1)\nvalidate_x = validate_xx.drop('label' , axis = 1)","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"60fdfb7c6d628e64688f6a8ff0830b319600506b"},"cell_type":"markdown","source":"### Applying Decision Tree Algorithm"},{"metadata":{"trusted":true,"_uuid":"e4db5912f1ecd1ae4c2c7a998d2c0ec54dedc9f9"},"cell_type":"code","source":"model_dt = DecisionTreeClassifier(random_state = 100)\nmodel_dt.fit(train_x, train_y)\n\nvalidate_pred_dt =model_dt.predict(validate_x)\naccuracy_score(validate_y, validate_pred_dt)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"29e2af9dfb64c8d40185eeb4d1afdc4fe99519ec"},"cell_type":"markdown","source":"### Applying Random Forest Algorithm"},{"metadata":{"trusted":true,"_uuid":"8deb90d3ea83815c35ff602ac4573de7f02a5c79"},"cell_type":"code","source":"model_rf = RandomForestClassifier(random_state = 400 , n_estimators=400)\nmodel_rf.fit(train_x,train_y)\n\nvalidate_pred_rf = model_rf.predict(validate_x)\naccuracy_score(validate_y , validate_pred_rf)\n","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"96c887d52053886799ff7a7388a1d13aae251fe3"},"cell_type":"markdown","source":"### Applying Adaptive Boost Algorithm"},{"metadata":{"trusted":true,"_uuid":"5eef994c28ac6b91b5cb419c0e98d5eaeff15173"},"cell_type":"code","source":"model_ab = AdaBoostClassifier(n_estimators=200 , random_state = 100)\nmodel_ab.fit(train_x, train_y)\n\nvalidate_pred_ab = model_ab.predict(validate_x)\naccuracy_score(validate_y, validate_pred_ab)","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"2e9a100c58964e124201b2685d4b57334aac785f"},"cell_type":"markdown","source":"### Applying K Nearest Neighbors Algorithm"},{"metadata":{"trusted":true,"_uuid":"5db702b65018195a9928cfcd8a2c2a8bf1d93caa"},"cell_type":"code","source":"from sklearn.neighbors import KNeighborsClassifier\n\nmodel_knn_ = KNeighborsClassifier(n_neighbors=6)\nmodel_knn_.fit(train_x,train_y)\n\nvalidate_pred_knn = model_knn_.predict(validate_x)\naccuracy_score(validate_y , validate_pred_knn)\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"99bc21530460d29452f2d7f49ca1e95f778bff9b"},"cell_type":"code","source":"### using KNN as it is giving Highest Accuracy ( But takes a lot of Time to Predict , so grab\n### a coffee until then )\ntest_pred = model_knn_.predict(test)\npred_df_knn = pd.DataFrame({'ImageId' : test.index.values+1 , 'Label': test_pred})\npred_df_knn.to_csv('submission_1.csv' , index = False)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"37a424254aa563015c76c1eba53faaee5820f1ab"},"cell_type":"code","source":"","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}