{"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":"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\n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\n# Input data files are available in the read-only \"../input/\" directory\n# For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory\n\nimport os\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n    for filename in filenames:\n        print(os.path.join(dirname, filename))\n\n# You can write up to 20GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using \"Save & Run All\" \n# You can also write temporary files to /kaggle/temp/, but they won't be saved outside of the current session","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2022-07-16T11:41:51.081448Z","iopub.execute_input":"2022-07-16T11:41:51.081873Z","iopub.status.idle":"2022-07-16T11:41:51.091854Z","shell.execute_reply.started":"2022-07-16T11:41:51.081841Z","shell.execute_reply":"2022-07-16T11:41:51.090761Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# **1. Loading modules:-**","metadata":{}},{"cell_type":"code","source":"import numpy as np\nimport pandas as pd\nimport matplotlib.pyplot as plt\nimport seaborn as sns\n\nfrom sklearn.preprocessing import LabelEncoder\nfrom sklearn.impute import KNNImputer\n\nfrom sklearn.linear_model import LogisticRegression\nfrom sklearn.svm import SVC\nfrom sklearn.ensemble import RandomForestClassifier,GradientBoostingClassifier,StackingClassifier\nfrom lightgbm import LGBMClassifier\nfrom xgboost import XGBClassifier\nfrom sklearn.model_selection import cross_val_score\nfrom catboost import CatBoostClassifier","metadata":{"execution":{"iopub.status.busy":"2022-07-16T11:41:51.179480Z","iopub.execute_input":"2022-07-16T11:41:51.180214Z","iopub.status.idle":"2022-07-16T11:41:51.186883Z","shell.execute_reply.started":"2022-07-16T11:41:51.180177Z","shell.execute_reply":"2022-07-16T11:41:51.185735Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# **2. Loading source file:-**","metadata":{}},{"cell_type":"code","source":"train=pd.read_csv('/kaggle/input/spaceship-titanic/train.csv')\n\n#-----------------------------------------------------------------\n\ntest=pd.read_csv('/kaggle/input/spaceship-titanic/test.csv')\n\n#----------------------------------------------------------------\n\nsubmission=pd.read_csv('/kaggle/input/spaceship-titanic/sample_submission.csv')","metadata":{"execution":{"iopub.status.busy":"2022-07-16T11:41:51.189342Z","iopub.execute_input":"2022-07-16T11:41:51.190176Z","iopub.status.idle":"2022-07-16T11:41:51.236311Z","shell.execute_reply.started":"2022-07-16T11:41:51.190130Z","shell.execute_reply":"2022-07-16T11:41:51.235148Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# **3.Dropping unnecessary columns:-**","metadata":{}},{"cell_type":"code","source":"train.drop(['PassengerId','Name'],axis=1,inplace=True)\n#--------------------------------------------------------\ntest.drop(['PassengerId','Name'],axis=1,inplace=True)","metadata":{"execution":{"iopub.status.busy":"2022-07-16T11:41:51.237709Z","iopub.execute_input":"2022-07-16T11:41:51.238155Z","iopub.status.idle":"2022-07-16T11:41:51.248691Z","shell.execute_reply.started":"2022-07-16T11:41:51.238123Z","shell.execute_reply":"2022-07-16T11:41:51.247794Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# **4.Data Cleaning:-**","metadata":{}},{"cell_type":"markdown","source":"**4.2. Treating continuous values:-**","metadata":{}},{"cell_type":"code","source":"reg=['RoomService','FoodCourt','ShoppingMall','Spa','VRDeck','Age']\n\ntrain[reg]=train[reg]+3\nfor i in reg:\n    train[i]=np.log(train[i])\n    \n#--------------------------------------\n\ntest[reg]=test[reg]+3\nfor i in reg:\n    test[i]=np.log(test[i])","metadata":{"execution":{"iopub.status.busy":"2022-07-16T11:41:51.250159Z","iopub.execute_input":"2022-07-16T11:41:51.250692Z","iopub.status.idle":"2022-07-16T11:41:51.266678Z","shell.execute_reply.started":"2022-07-16T11:41:51.250660Z","shell.execute_reply":"2022-07-16T11:41:51.265445Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**4.3. Extracting cabin columns:-**","metadata":{}},{"cell_type":"code","source":"train['Cabin'].fillna('0',inplace=True)\ncabin=list(train['Cabin'])\n\ntrain['cabin_group1']=[i.split('/')[0] if i!='0' else '0' for i in cabin]\ntrain['cabin_group2']=[i.split('/')[2] if i!='0' else '0' for i in cabin]\n      \n\ntrain['Cabin'].replace({'0',np.nan},inplace=True)\ntrain.drop(['Cabin'],axis=1,inplace=True)\n\n#--------------------------------------------------------------------------\n\ntest['Cabin'].fillna('0',inplace=True)\ncabin=list(test['Cabin'])\n\ntest['cabin_group1']=[i.split('/')[0] if i!='0' else '0' for i in cabin]\ntest['cabin_group2']=[i.split('/')[2] if i!='0' else '0' for i in cabin]\n      \n\ntest['Cabin'].replace({'0',np.nan},inplace=True)\ntest.drop(['Cabin'],axis=1,inplace=True)\n","metadata":{"execution":{"iopub.status.busy":"2022-07-16T11:41:51.268915Z","iopub.execute_input":"2022-07-16T11:41:51.269276Z","iopub.status.idle":"2022-07-16T11:41:51.296031Z","shell.execute_reply.started":"2022-07-16T11:41:51.269245Z","shell.execute_reply":"2022-07-16T11:41:51.294950Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Label Encoding**","metadata":{}},{"cell_type":"code","source":"col=['HomePlanet','CryoSleep','Destination','VIP','Transported','cabin_group1','cabin_group2']\n\nencode=LabelEncoder()\nfor i in col:\n    encode.fit(train[i])\n    train[i]=encode.transform(train[i])\n    \n#-----------------------------------------------------\n\ncol=['HomePlanet','CryoSleep','Destination','VIP','cabin_group1','cabin_group2']\nencode=LabelEncoder()\nfor i in col:\n    encode.fit(test[i])\n    test[i]=encode.transform(test[i])","metadata":{"execution":{"iopub.status.busy":"2022-07-16T11:41:51.297924Z","iopub.execute_input":"2022-07-16T11:41:51.298950Z","iopub.status.idle":"2022-07-16T11:41:51.331352Z","shell.execute_reply.started":"2022-07-16T11:41:51.298905Z","shell.execute_reply":"2022-07-16T11:41:51.330497Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**4.4. Imputation:-**","metadata":{}},{"cell_type":"code","source":"impute=KNNImputer(n_neighbors=6)\nimpute.fit(train)\ntrain=pd.DataFrame(impute.transform(train),columns=train.columns)\n\n#----------------------------------------------------------------\n\nimpute=KNNImputer(n_neighbors=6)\nimpute.fit(test)\ntest=pd.DataFrame(impute.transform(test),columns=test.columns)","metadata":{"execution":{"iopub.status.busy":"2022-07-16T11:41:51.332982Z","iopub.execute_input":"2022-07-16T11:41:51.333921Z","iopub.status.idle":"2022-07-16T11:41:52.409585Z","shell.execute_reply.started":"2022-07-16T11:41:51.333885Z","shell.execute_reply":"2022-07-16T11:41:52.408305Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# **5. Modelling**","metadata":{}},{"cell_type":"code","source":"x=train.drop(['Transported'],axis=1)\ny=train['Transported']","metadata":{"execution":{"iopub.status.busy":"2022-07-16T11:41:52.411872Z","iopub.execute_input":"2022-07-16T11:41:52.412669Z","iopub.status.idle":"2022-07-16T11:41:52.419879Z","shell.execute_reply.started":"2022-07-16T11:41:52.412622Z","shell.execute_reply":"2022-07-16T11:41:52.418716Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Algorithm**","metadata":{}},{"cell_type":"code","source":"models=[]\nmodels.append(('Logistic Regression',LogisticRegression()))\nmodels.append(('SVC',SVC()))\nmodels.append(('Random Forest',RandomForestClassifier()))\nmodels.append(('Gradient',GradientBoostingClassifier()))\nmodels.append(('LGBM',LGBMClassifier()))\nmodels.append(('XGB',XGBClassifier()))\n","metadata":{"execution":{"iopub.status.busy":"2022-07-16T11:41:52.421343Z","iopub.execute_input":"2022-07-16T11:41:52.422227Z","iopub.status.idle":"2022-07-16T11:41:52.434664Z","shell.execute_reply.started":"2022-07-16T11:41:52.422189Z","shell.execute_reply":"2022-07-16T11:41:52.433245Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"for name,model in models:\n    score=cross_val_score(model,x,y,scoring='accuracy',cv=10,n_jobs=-1)\n    print(name,np.mean(score))","metadata":{"execution":{"iopub.status.busy":"2022-07-16T11:41:52.436360Z","iopub.execute_input":"2022-07-16T11:41:52.437006Z","iopub.status.idle":"2022-07-16T11:42:20.644663Z","shell.execute_reply.started":"2022-07-16T11:41:52.436965Z","shell.execute_reply":"2022-07-16T11:42:20.643476Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"stacking=StackingClassifier(models,cv=10)\nstacking.fit(x,y)\nsubmission['Transported']=stacking.predict(test)","metadata":{"execution":{"iopub.status.busy":"2022-07-16T11:42:20.646502Z","iopub.execute_input":"2022-07-16T11:42:20.646840Z","iopub.status.idle":"2022-07-16T11:43:22.589085Z","shell.execute_reply.started":"2022-07-16T11:42:20.646809Z","shell.execute_reply":"2022-07-16T11:43:22.587978Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission.to_csv('ver1.csv',index=False)","metadata":{"execution":{"iopub.status.busy":"2022-07-16T11:43:22.590692Z","iopub.execute_input":"2022-07-16T11:43:22.591457Z","iopub.status.idle":"2022-07-16T11:43:22.615118Z","shell.execute_reply.started":"2022-07-16T11:43:22.591412Z","shell.execute_reply":"2022-07-16T11:43:22.613557Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission","metadata":{},"execution_count":null,"outputs":[]}]}