{"cells":[{"metadata":{},"cell_type":"markdown","source":"Based on the following kernel: https://www.kaggle.com/heibankeli/pca-svm1\n\nIf you find it useful, pleause upvote."},{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"import pandas as pd\nimport numpy as np\nfrom sklearn.decomposition import PCA\nfrom sklearn import svm\nfrom sklearn.metrics import confusion_matrix,classification_report\nfrom sklearn.multiclass import OneVsRestClassifier\n\ntrain = pd.read_csv(\"../input/Kannada-MNIST/train.csv\")\ntest  = pd.read_csv(\"../input/Kannada-MNIST/test.csv\")\nsubmission  = pd.read_csv(\"../input/Kannada-MNIST/sample_submission.csv\")\n\n\ntrain_x = train.values[:,1:]\ntrain_y = train.values[:,0]\ntest_x = test.values[:,1:]\ntotaal=np.concatenate((train_x,test_x),axis=0)\ntrain_bwx=np.concatenate( (totaal,256-totaal),axis=1)\nprint(train_bwx.shape)\n\nfor xi in range (65,70,5):  #25 74%  65 99%\n    pca = PCA(n_components=xi/100,whiten=True)\n    trainp = pca.fit_transform(train_bwx) #train_x)\n    #testp = pca.transform(test_bwx) #test_x)\n\n    svc=OneVsRestClassifier(svm.SVC())\n    #svc = svm.SVC(kernel='rbf',C=9)\n    svc.fit(trainp[:len(train_x)], train_y)\n    predt= svc.predict(trainp[:len(train_x)])\n    print(xi,classification_report(train_y, predt) )\n    #print('score',np.mean(predt,train_y))\n    print(confusion_matrix(predt,train_y) )\n        \npreds = svc.predict(trainp[len(train_x):])\nsubmission['label'] = preds\nsubmission.to_csv('submission.csv', index=False)","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":1}