{"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":"<p style=\"background-color:#6699ff;color:black;font-size:23px;text-align:center;border-radius:10px 10px;font-weight:bold;\">Tabular Playground Series - Nov 2021<span style='font-size:30px; background-color:#005266;'>&#9889;</span> </p>\n<center><img src=\"https://media.giphy.com/media/xT9C25UNTwfZuk85WP/giphy-downsized-large.gif\"></center>","metadata":{}},{"cell_type":"markdown","source":"<a id=\"section-one\"></a>\n\n##  <span style='font-size:22px;'>&#128311;</span>  Introduction\n\n<font size=\"4\">This dataset is synthetic, but based on a real dataset and generated using a CTGAN. The original dataset deals with predicting identifying spam emails via various extracted features from the email. Although the features are anonymized, they have properties relating to real-world features. The dataset has 100 features and the response variable is a binary variable.</font>\n\n<font size=\"4\"><a href=\"https://www.kaggle.com/sisharaneranjana/model-fitting-with-normal-quantile-transformation\">In my first notebook </a>I have fitted linear models, tree based models and boosting models. The highest accuracy was given by linear models. So in this notebook I will try with linear models to improve accuracy more.</font>","metadata":{}},{"cell_type":"markdown","source":"<a id=\"section-two\"></a>\n\n####  <span style='font-size:16px;'>&#127917;</span>  loading.. dataset","metadata":{}},{"cell_type":"code","source":"#importing librariaes\nimport numpy as np\nimport pandas as pd\nimport matplotlib.pyplot as plt\nimport seaborn as sns","metadata":{"execution":{"iopub.status.busy":"2021-11-30T13:51:09.734839Z","iopub.execute_input":"2021-11-30T13:51:09.735198Z","iopub.status.idle":"2021-11-30T13:51:10.649798Z","shell.execute_reply.started":"2021-11-30T13:51:09.735097Z","shell.execute_reply":"2021-11-30T13:51:10.649188Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import os\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n    for filename in filenames:\n        print(os.path.join(dirname, filename))\nimport warnings\nwarnings.filterwarnings(\"ignore\")","metadata":{"execution":{"iopub.status.busy":"2021-11-30T13:51:10.651217Z","iopub.execute_input":"2021-11-30T13:51:10.651555Z","iopub.status.idle":"2021-11-30T13:51:10.660193Z","shell.execute_reply.started":"2021-11-30T13:51:10.651526Z","shell.execute_reply":"2021-11-30T13:51:10.659107Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train = pd.read_csv('/kaggle/input/tabular-playground-series-nov-2021/train.csv')\ntest = pd.read_csv('/kaggle/input/tabular-playground-series-nov-2021/test.csv')\n\nprint(train.shape)\nprint(test.shape)","metadata":{"execution":{"iopub.status.busy":"2021-11-30T13:51:10.663409Z","iopub.execute_input":"2021-11-30T13:51:10.66363Z","iopub.status.idle":"2021-11-30T13:51:39.152784Z","shell.execute_reply.started":"2021-11-30T13:51:10.663602Z","shell.execute_reply":"2021-11-30T13:51:39.151903Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train.head()","metadata":{"execution":{"iopub.status.busy":"2021-11-30T13:51:39.154301Z","iopub.execute_input":"2021-11-30T13:51:39.154818Z","iopub.status.idle":"2021-11-30T13:51:39.189622Z","shell.execute_reply.started":"2021-11-30T13:51:39.15477Z","shell.execute_reply":"2021-11-30T13:51:39.189135Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train.dtypes","metadata":{"execution":{"iopub.status.busy":"2021-11-30T13:51:39.191132Z","iopub.execute_input":"2021-11-30T13:51:39.19147Z","iopub.status.idle":"2021-11-30T13:51:39.198352Z","shell.execute_reply.started":"2021-11-30T13:51:39.191436Z","shell.execute_reply":"2021-11-30T13:51:39.197494Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train=train.drop(['id'],1)\ntest=test.drop(['id'],1)","metadata":{"execution":{"iopub.status.busy":"2021-11-30T13:51:39.199402Z","iopub.execute_input":"2021-11-30T13:51:39.199671Z","iopub.status.idle":"2021-11-30T13:51:39.538265Z","shell.execute_reply.started":"2021-11-30T13:51:39.199645Z","shell.execute_reply":"2021-11-30T13:51:39.537562Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from collections import Counter\nprint(sorted(Counter(train['target']).items()))\nsns.countplot(train['target'],palette='OrRd')","metadata":{"execution":{"iopub.status.busy":"2021-11-30T13:51:39.539349Z","iopub.execute_input":"2021-11-30T13:51:39.539561Z","iopub.status.idle":"2021-11-30T13:51:39.885374Z","shell.execute_reply.started":"2021-11-30T13:51:39.539536Z","shell.execute_reply":"2021-11-30T13:51:39.8846Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sns.heatmap(train.corr())","metadata":{"execution":{"iopub.status.busy":"2021-11-30T13:51:39.886958Z","iopub.execute_input":"2021-11-30T13:51:39.887246Z","iopub.status.idle":"2021-11-30T13:51:56.907242Z","shell.execute_reply.started":"2021-11-30T13:51:39.887208Z","shell.execute_reply":"2021-11-30T13:51:56.906443Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sns.heatmap(train.isnull(),yticklabels=False,cbar=False)","metadata":{"execution":{"iopub.status.busy":"2021-11-30T13:51:56.908387Z","iopub.execute_input":"2021-11-30T13:51:56.908591Z","iopub.status.idle":"2021-11-30T13:53:06.845653Z","shell.execute_reply.started":"2021-11-30T13:51:56.908564Z","shell.execute_reply":"2021-11-30T13:53:06.844818Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_x=train.drop(['target'],1)\ntest_x=test","metadata":{"execution":{"iopub.status.busy":"2021-11-30T13:53:06.846742Z","iopub.execute_input":"2021-11-30T13:53:06.847018Z","iopub.status.idle":"2021-11-30T13:53:06.991679Z","shell.execute_reply.started":"2021-11-30T13:53:06.846983Z","shell.execute_reply":"2021-11-30T13:53:06.990814Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X= train_x\ny= train['target']","metadata":{"execution":{"iopub.status.busy":"2021-11-30T13:53:06.992962Z","iopub.execute_input":"2021-11-30T13:53:06.993259Z","iopub.status.idle":"2021-11-30T13:53:07.009333Z","shell.execute_reply.started":"2021-11-30T13:53:06.99322Z","shell.execute_reply":"2021-11-30T13:53:07.008632Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#dividing the dataset into train and test sets\nfrom sklearn.model_selection import train_test_split\nx_train,x_test,y_train,y_test=train_test_split(X,y,test_size=0.20,random_state=1234)","metadata":{"execution":{"iopub.status.busy":"2021-11-30T13:53:07.011976Z","iopub.execute_input":"2021-11-30T13:53:07.012449Z","iopub.status.idle":"2021-11-30T13:53:07.743137Z","shell.execute_reply.started":"2021-11-30T13:53:07.01239Z","shell.execute_reply":"2021-11-30T13:53:07.742377Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"section-one\"></a>\n\n##  <span style='font-size:22px;'>&#128311;</span>  sampling to reduce training time\n\n","metadata":{}},{"cell_type":"code","source":"x_train2,x_test2,y_train2,y_test2=train_test_split(x_train,y_train,test_size=0.15,random_state=1234)","metadata":{"execution":{"iopub.status.busy":"2021-11-30T13:53:07.744263Z","iopub.execute_input":"2021-11-30T13:53:07.74453Z","iopub.status.idle":"2021-11-30T13:53:08.195682Z","shell.execute_reply.started":"2021-11-30T13:53:07.744497Z","shell.execute_reply":"2021-11-30T13:53:08.195028Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"x_train3,x_test3,y_train3,y_test3=train_test_split(x_train2,y_train2,test_size=0.14,random_state=1234)","metadata":{"execution":{"iopub.status.busy":"2021-11-30T13:53:08.198555Z","iopub.execute_input":"2021-11-30T13:53:08.19881Z","iopub.status.idle":"2021-11-30T13:53:08.555966Z","shell.execute_reply.started":"2021-11-30T13:53:08.198779Z","shell.execute_reply":"2021-11-30T13:53:08.555269Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"x_train4,x_test4,y_train4,y_test4=train_test_split(x_train3,y_train3,test_size=0.15,random_state=1234)","metadata":{"execution":{"iopub.status.busy":"2021-11-30T13:53:08.559115Z","iopub.execute_input":"2021-11-30T13:53:08.559305Z","iopub.status.idle":"2021-11-30T13:53:08.881517Z","shell.execute_reply.started":"2021-11-30T13:53:08.559281Z","shell.execute_reply":"2021-11-30T13:53:08.880546Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"x_train5,x_test5,y_train5,y_test5=train_test_split(x_train4,y_train4,test_size=0.04,random_state=1234)","metadata":{"execution":{"iopub.status.busy":"2021-11-30T13:53:08.882675Z","iopub.execute_input":"2021-11-30T13:53:08.882901Z","iopub.status.idle":"2021-11-30T13:53:09.132601Z","shell.execute_reply.started":"2021-11-30T13:53:08.882873Z","shell.execute_reply":"2021-11-30T13:53:09.131747Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"x_train1,x_test1,y_train1,y_test1=train_test_split(x_train5,y_train5,test_size=0.1,random_state=1234)","metadata":{"execution":{"iopub.status.busy":"2021-11-30T13:53:09.133939Z","iopub.execute_input":"2021-11-30T13:53:09.134157Z","iopub.status.idle":"2021-11-30T13:53:09.380557Z","shell.execute_reply.started":"2021-11-30T13:53:09.13413Z","shell.execute_reply":"2021-11-30T13:53:09.379841Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"print(x_train1.shape)\nprint(x_test.shape)","metadata":{"execution":{"iopub.status.busy":"2021-11-30T13:53:09.381739Z","iopub.execute_input":"2021-11-30T13:53:09.382072Z","iopub.status.idle":"2021-11-30T13:53:09.388011Z","shell.execute_reply.started":"2021-11-30T13:53:09.382032Z","shell.execute_reply":"2021-11-30T13:53:09.387078Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"section-three\"></a>\n\n##  <span style='font-size:22px;'>&#8987;</span> Model fitting","metadata":{}},{"cell_type":"code","source":"from sklearn.linear_model import LogisticRegression\nfrom sklearn.discriminant_analysis import LinearDiscriminantAnalysis\nfrom sklearn.tree import DecisionTreeClassifier \nfrom sklearn.ensemble import RandomForestClassifier\nfrom sklearn.ensemble import GradientBoostingClassifier\nfrom xgboost import XGBClassifier\nfrom sklearn.ensemble import ExtraTreesClassifier\nfrom sklearn.ensemble import BaggingClassifier\nfrom sklearn.ensemble import AdaBoostClassifier\nfrom sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis\n\n#libraries for model evaluation\nfrom sklearn.metrics import accuracy_score\nfrom sklearn.metrics import plot_confusion_matrix\nfrom sklearn.metrics import classification_report","metadata":{"execution":{"iopub.status.busy":"2021-11-30T13:53:09.389193Z","iopub.execute_input":"2021-11-30T13:53:09.389699Z","iopub.status.idle":"2021-11-30T13:53:09.656764Z","shell.execute_reply.started":"2021-11-30T13:53:09.389669Z","shell.execute_reply":"2021-11-30T13:53:09.655942Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from sklearn.linear_model import RidgeClassifier\nrc =RidgeClassifier()\nmodel0=rc.fit(x_train1, y_train1)\nprint(\"train accuracy:\",model0.score(x_train1, y_train1),\"\\n\",\"test accuracy:\",model0.score(x_test,y_test))\nrcpred = rc.predict(x_test)\nprint(\"\\n\")\nprint(\"classification report for logistic regression\")\nprint(classification_report(rcpred,y_test))\nprint(\"\\n\")\nprint(\"confusion matrix for logistic regression\")\ndisplr = plot_confusion_matrix(rc, x_test, y_test,cmap=plt.cm.Blues , values_format='d')","metadata":{"execution":{"iopub.status.busy":"2021-11-30T13:53:09.658111Z","iopub.execute_input":"2021-11-30T13:53:09.658341Z","iopub.status.idle":"2021-11-30T13:53:11.403094Z","shell.execute_reply.started":"2021-11-30T13:53:09.658313Z","shell.execute_reply":"2021-11-30T13:53:11.402174Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#logistic regression\nlr = LogisticRegression(max_iter=10000,penalty='l2')\nmodel1=lr.fit(x_train1, y_train1)\nprint(\"train accuracy:\",model1.score(x_train1, y_train1),\"\\n\",\"test accuracy:\",model1.score(x_test,y_test))\nlrpred = lr.predict(x_test)\nprint(\"\\n\")\nprint(\"classification report for logistic regression\")\nprint(classification_report(lrpred,y_test))\nprint(\"\\n\")\nprint(\"confusion matrix for logistic regression\")\ndisplr = plot_confusion_matrix(lr, x_test, y_test,cmap=plt.cm.Blues , values_format='d')","metadata":{"execution":{"iopub.status.busy":"2021-11-30T13:53:11.404582Z","iopub.execute_input":"2021-11-30T13:53:11.404921Z","iopub.status.idle":"2021-11-30T13:55:48.303712Z","shell.execute_reply.started":"2021-11-30T13:53:11.404878Z","shell.execute_reply":"2021-11-30T13:55:48.30317Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#linear discriminant analysis\nlda = LinearDiscriminantAnalysis()\nmodel2=lda.fit(x_train1, y_train1)\nprint(\"train accuracy:\",model2.score(x_train1, y_train1),\"\\n\",\"test accuracy:\",model2.score(x_test,y_test))\n\nldapred = lda.predict(x_test)\nprint(\"\\n\")\nprint(\"classification report for linear discriminant analysis\")\nprint(classification_report(ldapred,y_test))\nprint(\"\\n\")\nprint(\"confusion matrix for linear discriminant analysis\")\ndisplr = plot_confusion_matrix(lda, x_test, y_test ,cmap=plt.cm.Blues , values_format='d')","metadata":{"execution":{"iopub.status.busy":"2021-11-30T13:55:48.305202Z","iopub.execute_input":"2021-11-30T13:55:48.306014Z","iopub.status.idle":"2021-11-30T13:55:54.344578Z","shell.execute_reply.started":"2021-11-30T13:55:48.305963Z","shell.execute_reply":"2021-11-30T13:55:54.343915Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#quadratic discriminant analysis\nqda = QuadraticDiscriminantAnalysis()\nmodel3=qda.fit(x_train1, y_train1)\nprint(\"train accuracy:\",model3.score(x_train1, y_train1),\"\\n\",\"test accuracy:\",model3.score(x_test,y_test))\n\nqdapred = qda.predict(x_test)\nprint(\"\\n\")\nprint(\"classification report for linear discriminant analysis\")\nprint(classification_report(qdapred,y_test))\nprint(\"\\n\")\nprint(\"confusion matrix for linear discriminant analysis\")\ndisplr = plot_confusion_matrix(qda, x_test, y_test ,cmap=plt.cm.Blues , values_format='d')","metadata":{"execution":{"iopub.status.busy":"2021-11-30T13:55:54.345627Z","iopub.execute_input":"2021-11-30T13:55:54.346221Z","iopub.status.idle":"2021-11-30T13:56:00.034892Z","shell.execute_reply.started":"2021-11-30T13:55:54.346183Z","shell.execute_reply":"2021-11-30T13:56:00.034079Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<center><img src=\"https://media.giphy.com/media/3jmqIaBE8x86xwbSbD/giphy.gif\"></center>","metadata":{}},{"cell_type":"code","source":"# stacking classifier \nfrom sklearn.ensemble import StackingClassifier\nfrom sklearn.pipeline import make_pipeline\nfrom sklearn.preprocessing import StandardScaler\n\nestimators = [('rf',make_pipeline(StandardScaler(),LinearDiscriminantAnalysis()) ),('ext', make_pipeline(StandardScaler(),LogisticRegression(max_iter=10000,penalty='l2')))]\nsc= StackingClassifier( estimators=estimators)\n\nmodel5=sc.fit(x_train1, y_train1)\nprint(\"train accuracy:\",model5.score(x_train1, y_train1),\"\\n\",\"test accuracy:\",model5.score(x_test,y_test))\n\nscpred = sc.predict(x_test)\nprint(\"\\n\")\nprint(\"classification report for voting classifier\")\nprint(classification_report(scpred,y_test))\nprint(\"\\n\")\nprint(\"confusion matrix for voting classifier\")\ndisplr = plot_confusion_matrix(sc, x_test, y_test ,cmap=plt.cm.Blues , values_format='d')","metadata":{"execution":{"iopub.status.busy":"2021-11-30T13:56:00.036965Z","iopub.execute_input":"2021-11-30T13:56:00.037644Z","iopub.status.idle":"2021-11-30T13:56:39.714354Z","shell.execute_reply.started":"2021-11-30T13:56:00.037594Z","shell.execute_reply":"2021-11-30T13:56:39.713559Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from catboost import CatBoostClassifier\n\ncc = CatBoostClassifier(silent=True )\nmodel6=cc.fit(x_train1, y_train1)\nprint(\"train accuracy:\",model6.score(x_train1, y_train1),\"\\n\",\"test accuracy:\",model6.score(x_test,y_test))\n\nccpred = cc.predict(x_test)\nprint(\"\\n\")\nprint(\"classification report for extra tree classifier\")\nprint(classification_report(ccpred,y_test))\nprint(\"\\n\")\nprint(\"confusion matrix for extra tree classifier\")\ndisplr = plot_confusion_matrix(cc, x_test, y_test ,cmap=plt.cm.Blues , values_format='d')","metadata":{"execution":{"iopub.status.busy":"2021-11-30T13:56:39.71566Z","iopub.execute_input":"2021-11-30T13:56:39.716016Z","iopub.status.idle":"2021-11-30T13:57:50.821483Z","shell.execute_reply.started":"2021-11-30T13:56:39.715965Z","shell.execute_reply":"2021-11-30T13:57:50.820603Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"section-five\"></a>\n\n##  <span style='font-size:22px;'>&#9200;</span>  tuning of logistic regression","metadata":{}},{"cell_type":"code","source":"from sklearn.model_selection import GridSearchCV\nLR = LogisticRegression()\nLRparam_grid = {\n    'C': [ 100,250, 400, 500,1000],\n    'penalty': ['l1', 'l2'],\n    'max_iter': [200,400,600],\n    'solver': ['liblinear']\n}\nLR_search = GridSearchCV(LR, param_grid=LRparam_grid, refit = True, verbose = 3, cv=3)\n\n# fitting the model for grid search \nLR_search.fit(x_train1 , y_train1)\nLR_search.best_params_\n# summarize\nprint('Mean Accuracy: %.3f' % LR_search.best_score_)\nprint('Config: %s' % LR_search.best_params_)","metadata":{"execution":{"iopub.status.busy":"2021-11-30T13:57:50.823115Z","iopub.execute_input":"2021-11-30T13:57:50.82351Z","iopub.status.idle":"2021-11-30T14:23:26.276293Z","shell.execute_reply.started":"2021-11-30T13:57:50.823465Z","shell.execute_reply":"2021-11-30T14:23:26.274759Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#logistic regression\nlr = LogisticRegression(max_iter=600,penalty='l1',C=400,solver='liblinear')\nmodel7=lr.fit(x_train1, y_train1)\nprint(\"train accuracy:\",model7.score(x_train1, y_train1),\"\\n\",\"test accuracy:\",model7.score(x_test,y_test))\nlrpred = lr.predict(x_test)\nprint(\"\\n\")\nprint(\"classification report for logistic regression\")\nprint(classification_report(lrpred,y_test))\nprint(\"\\n\")\nprint(\"confusion matrix for logistic regression\")\ndisplr = plot_confusion_matrix(lr, x_test, y_test,cmap=plt.cm.Blues , values_format='d')","metadata":{"execution":{"iopub.status.busy":"2021-11-30T14:23:26.278119Z","iopub.status.idle":"2021-11-30T14:23:26.278637Z","shell.execute_reply.started":"2021-11-30T14:23:26.278389Z","shell.execute_reply":"2021-11-30T14:23:26.278416Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<font size=\"4\">Let's see stacking classifier with tuned logistic and linear discriminant analysis models.</font>","metadata":{}},{"cell_type":"code","source":"# stacking classifier \nfrom sklearn.ensemble import StackingClassifier\nfrom sklearn.pipeline import make_pipeline\nfrom sklearn.preprocessing import StandardScaler\n\nestimators = [('lda',make_pipeline(StandardScaler(),LinearDiscriminantAnalysis() )),('lr', make_pipeline(StandardScaler(),LogisticRegression(max_iter=600,penalty='l1',C=400, solver='liblinear')))]\nscfinal= StackingClassifier( estimators=estimators)\n\nmodel8=scfinal.fit(x_train1, y_train1)\nprint(\"train accuracy:\",model8.score(x_train1, y_train1),\"\\n\",\"test accuracy:\",model8.score(x_test,y_test))\n\nscpred = scfinal.predict(x_test)\nprint(\"\\n\")\nprint(\"classification report for voting classifier\")\nprint(classification_report(scpred,y_test))\nprint(\"\\n\")\nprint(\"confusion matrix for voting classifier\")\ndisplr = plot_confusion_matrix(scfinal, x_test, y_test ,cmap=plt.cm.Blues , values_format='d')","metadata":{"execution":{"iopub.status.busy":"2021-11-30T14:23:26.280231Z","iopub.status.idle":"2021-11-30T14:23:26.280779Z","shell.execute_reply.started":"2021-11-30T14:23:26.280516Z","shell.execute_reply":"2021-11-30T14:23:26.280542Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"predictions=model8.predict_proba(test)","metadata":{"execution":{"iopub.status.busy":"2021-11-30T14:23:26.282378Z","iopub.status.idle":"2021-11-30T14:23:26.282832Z","shell.execute_reply.started":"2021-11-30T14:23:26.282583Z","shell.execute_reply":"2021-11-30T14:23:26.282606Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_submission = pd.read_csv('/kaggle/input/tabular-playground-series-nov-2021/sample_submission.csv')\ndf_submission['target']=predictions[:,1]\ndf_submission.to_csv('submission.csv',index=False)","metadata":{"execution":{"iopub.status.busy":"2021-11-30T14:23:26.284184Z","iopub.status.idle":"2021-11-30T14:23:26.284757Z","shell.execute_reply.started":"2021-11-30T14:23:26.284495Z","shell.execute_reply":"2021-11-30T14:23:26.28452Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"section-five\"></a>\n\n##  <span style='font-size:22px;'>&#128142;</span>  Results","metadata":{}},{"cell_type":"markdown","source":"<font size=\"4\" color=\"black\"> In this notebook I used a subset of the training sample randomly to fit the models. It gives better results than my<a href=\"https://www.kaggle.com/sisharaneranjana/model-fitting-with-normal-quantile-transformation\"> previous notebook.</a> In that also <span style=\"color:red;\">linear models and catboost classifiers</span> had the best performance and tree based models tend to overfitting. Here logistic regression model and the linear discriminant analysis was tuned using a grid search. The highest accuracy achieved is <span style=\"color:red;\">74.01%</span>which is a increase of 3% than previous effort.</font>","metadata":{}},{"cell_type":"markdown","source":"\n<center><img src=\"https://media.giphy.com/media/j1Xyt3DHfJcmk/giphy.gif\"></center>","metadata":{}},{"cell_type":"markdown","source":"<font size=\"4\"><b> Any suggestions,questions or feedback regarding this notebook are highly appreciated. THANK YOU <span style='font-size:22px;'>&#128522;</span> <b></font>","metadata":{}}]}