{"cells":[{"metadata":{},"cell_type":"markdown","source":"******  for Missing Value You can also Use Simple Imputer but it consume too much time\n"},{"metadata":{},"cell_type":"markdown","source":"# Import Required Library"},{"metadata":{"_uuid":"6ce030b4-619b-4f37-aa68-ddfe4321bfcd","_cell_guid":"c033200c-0ea6-4215-a85e-48a33656ee90","trusted":true},"cell_type":"code","source":"import pandas as pd\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport seaborn as sns\n%matplotlib inline\nfrom sklearn.preprocessing import LabelEncoder\nfrom collections import Counter\nfrom sklearn.impute import SimpleImputer\nfrom sklearn.ensemble import RandomForestClassifier, AdaBoostClassifier, GradientBoostingClassifier, ExtraTreesClassifier, VotingClassifier\nfrom sklearn.discriminant_analysis import LinearDiscriminantAnalysis\nfrom sklearn.linear_model import LogisticRegression\nfrom sklearn.neighbors import KNeighborsClassifier\nfrom sklearn.tree import DecisionTreeClassifier\nfrom sklearn.neural_network import MLPClassifier\nfrom sklearn.svm import SVC\nfrom sklearn.model_selection import GridSearchCV, cross_val_score, StratifiedKFold, learning_curve\n\nsns.set(style='white', context='notebook', palette='deep')","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# Load Dataset"},{"metadata":{"_uuid":"e335b1d5-7efa-4aee-a2c6-8033b332688f","_cell_guid":"3de090f6-ca6d-4eb7-84e0-474bc5943d6d","trusted":true},"cell_type":"code","source":"df_train=pd.read_csv('../input/cat-in-the-dat-ii/train.csv')\ndf_test=pd.read_csv('../input/cat-in-the-dat-ii/test.csv')","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# analysis of data"},{"metadata":{"_uuid":"d69eba95-b5ea-4ff7-a7a1-ccc0d0b42910","_cell_guid":"287f4a26-ad82-4660-bfa9-4358f5aefcde","trusted":true},"cell_type":"code","source":"df_train.head()\ndf_test.head()","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"84df2514-0701-416a-bd41-53dd9c910d8e","_cell_guid":"83caff0b-ce64-45ad-9e68-df3f95f31879","trusted":true},"cell_type":"code","source":"df=pd.concat([df_train.drop(['target'],axis=1),df_test],axis=0,sort=False)\ndf","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# check for missing value\n\n***Simple imputer can also be to fill the missing value  \"most-frequent\" parameter\n\n\n\n***simple imputer consume to much time on cpu"},{"metadata":{"_uuid":"37ab5457-5348-42aa-9541-541fe66cdc3f","_cell_guid":"1a6694a2-5510-4d08-939c-3a7c7a0dfad8","trusted":true},"cell_type":"code","source":"df.isnull().sum()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"g=sns.countplot(df_train['target'])","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"#first find the the corr between diff col\ndf.corr().abs()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"df_train.groupby(['target','bin_0']).count().id","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"df_train.groupby(['target','bin_1']).count().id","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"df_train.groupby(['target','bin_2']).count().id","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# from the above observation we conclude :data is linear separable we cannot find any type of outliear\n\n"},{"metadata":{},"cell_type":"markdown","source":"# How we fill such large missing value"},{"metadata":{"_uuid":"119cd8e3-ac2b-4b72-ad59-cd7eae2fd9ff","_cell_guid":"ff3da6c5-9d2f-4ac0-ac48-45bac7371417","trusted":true},"cell_type":"code","source":"print(df['bin_0'].describe())\nprint(df['bin_0'].value_counts())\nprint(df['bin_0'].isnull().sum())\n\n\ng=sns.countplot(df['bin_0'])\n\ndf['bin_0'].fillna(value=0,inplace=True)","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"244aedf5-a180-4886-a265-267b9a33ee5b","_cell_guid":"03620bec-43b1-4e32-b363-8b2d60fa679c","trusted":true},"cell_type":"code","source":"print(df['bin_1'].describe())\nprint(df['bin_1'].value_counts())\nprint(df['bin_1'].isnull().sum())\nsns.countplot(df['bin_1'])\ndf['bin_1'].fillna(value=0,inplace=True)","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"27212a44-a01e-4099-bfb9-ac6381d9619b","_cell_guid":"7ac30c8c-acfb-4201-a27f-bc2236d1378d","trusted":true},"cell_type":"code","source":"print(df['bin_2'].describe())\nprint(df['bin_2'].value_counts())\nprint(df['bin_2'].isnull().sum())\nsns.countplot(df['bin_2'])\ndf['bin_2'].fillna(value=0,inplace=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(df['bin_3'].describe())\nprint(df['bin_3'].value_counts())\nprint(df['bin_3'].isnull().sum())\nsns.countplot(df['bin_3'])\ndf['bin_3'].fillna(value='F',inplace=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(df['bin_4'].describe())\nprint(df['bin_4'].value_counts())\nprint(df['bin_4'].isnull().sum())\nsns.countplot(df['bin_4'])\ndf['bin_4'].fillna(value='N',inplace=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(df['nom_0'].describe())\nprint(df['nom_0'].value_counts())\nprint(df['nom_0'].isnull().sum())\nsns.countplot(df['nom_0'])\ndf['nom_0'].fillna(value='Red',inplace=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(df['nom_1'].describe())\nprint(df['nom_1'].value_counts())\nprint(df['nom_1'].isnull().sum())\nsns.countplot(df['nom_1'])\ndf['nom_1'].fillna(value='Triangle',inplace=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(df['nom_2'].describe())\nprint(df['nom_2'].value_counts())\nprint(df['nom_2'].isnull().sum())\nsns.countplot(df['nom_2'])\ndf['nom_2'].fillna(value='Hamster',inplace=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"df['nom_2'].unique()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(df['nom_3'].describe())\nprint(df['nom_3'].value_counts())\nprint(df['nom_3'].isnull().sum())\nsns.countplot(df['nom_3'])\ndf['nom_3'].fillna(value='India',inplace=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(df['nom_4'].describe())\nprint(df['nom_4'].value_counts())\nprint(df['nom_4'].isnull().sum())\nsns.countplot(df['nom_4'])\ndf['nom_4'].fillna(value='Theremin',inplace=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(df['nom_5'].describe())\nprint(df['nom_5'].value_counts())\nprint(df['nom_5'].isnull().sum())\n#sns.countplot(df['nom_5'])\ndf['nom_5'].fillna(value='360a16627',inplace=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(df['nom_6'].describe())\nprint(df['nom_6'].value_counts())\nprint(df['nom_6'].isnull().sum())\n#sns.countplot(df['nom_6'])\ndf['nom_6'].fillna(value='9fa481341',inplace=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(df['nom_7'].describe())\nprint(df['nom_7'].value_counts())\nprint(df['nom_7'].isnull().sum())\n#sns.countplot(df['nom_7'])\ndf['nom_7'].fillna(value='86ec768cd',inplace=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(df['nom_8'].describe())\nprint(df['nom_8'].value_counts())\nprint(df['nom_8'].isnull().sum())\n#sns.countplot(df['nom_8'])\ndf['nom_8'].fillna(value='d7e75499d',inplace=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(df['nom_9'].describe())\nprint(df['nom_9'].value_counts())\nprint(df['nom_9'].isnull().sum())\n#sns.countplot(df['nom_9'])\ndf['nom_9'].fillna(value='8f3276a6e',inplace=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(df['ord_0'].describe())\nprint(df['ord_0'].value_counts())\nprint(df['ord_0'].isnull().sum())\nsns.countplot(df['ord_0'])\ndf['ord_0'].fillna(value=1,inplace=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(df['ord_1'].describe())\nprint(df['ord_1'].value_counts())\nprint(df['ord_1'].isnull().sum())\nsns.countplot(df['ord_1'])\ndf['ord_1'].fillna(value='Novice',inplace=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(df['ord_2'].describe())\nprint(df['ord_2'].value_counts())\nprint(df['ord_2'].isnull().sum())\nsns.countplot(df['ord_2'])\ndf['ord_2'].fillna(value='Freezing',inplace=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(df['ord_3'].describe())\nprint(df['ord_3'].value_counts())\nprint(df['ord_3'].isnull().sum())\nsns.countplot(df['ord_3'])\ndf['ord_3'].fillna(value='n',inplace=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(df['ord_4'].describe())\nprint(df['ord_4'].value_counts())\nprint(df['ord_4'].isnull().sum())\nsns.countplot(df['ord_4'])\ndf['ord_4'].fillna(value='N', inplace=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(df['ord_5'].describe())\nprint(df['ord_5'].value_counts())\nprint(df['ord_5'].isnull().sum())\n#sns.countplot(df['ord_5'])\ndf['ord_5'].fillna(value='Fl',inplace=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(df['day'].describe())\nprint(df['day'].value_counts())\nprint(df['day'].isnull().sum())\nsns.countplot(df['day'])\ndf['day'].fillna(inplace=True,value=3)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(df['month'].describe())\nprint(df['month'].value_counts())\nprint(df['month'].isnull().sum())\nsns.countplot(df['month'])\ndf['month'].fillna(value=8,inplace=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"df.isnull().sum()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"obj=LabelEncoder()\ndf['bin_3']=obj.fit_transform(df['bin_3'])\ndf['bin_4']=obj.fit_transform(df['bin_4'])\ndf['nom_0']=obj.fit_transform(df['nom_0'])\ndf['nom_2']=obj.fit_transform(df['nom_2'])\ndf['nom_3']=obj.fit_transform(df['nom_3'])\ndf['nom_4']=obj.fit_transform(df['nom_4'])\ndf['nom_5']=obj.fit_transform(df['nom_5'])\ndf['nom_6']=obj.fit_transform(df['nom_6'])\ndf['nom_7']=obj.fit_transform(df['nom_7'])\ndf['nom_8']=obj.fit_transform(df['nom_8'])\ndf['nom_9']=obj.fit_transform(df['nom_9'])\ndf['nom_1']=obj.fit_transform(df['nom_1'])\ndf['ord_2']=obj.fit_transform(df['ord_2'])\n\n\ndf['ord_1']=obj.fit_transform(df['ord_1'])\ndf['ord_3']=obj.fit_transform(df['ord_3'])\ndf['ord_4']=obj.fit_transform(df['ord_4'])\ndf['ord_5']=obj.fit_transform(df['ord_5'])\n\n\n#df['nom_1']=df['nom_1'].map({'Trapezoid':1,'Star':2,'Circle':1,'Triangle':0,'Polygon':0,'Square':2})\n#df['nom_2']=df['nom_2'].map({'Hamster':0,'Axolotl':0,'Lion':1,'Dog':1,'Cat':2,'Sanke':2})\n#df['ord_2']=df['ord_2'].map({'Freezing':0,'Cold':0,'Warm':1,'Boiling Hot':1,'Lava Hot':2,'Hot':2})\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"df.head()\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"df.corr().abs()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"6.1 Simple modeling\n\n\n6.1.1 Cross validate models\n\n\nI compared 10 popular classifiers and evaluate the mean accuracy of each of them by a stratified kfold cross validation procedure.\n\n1. SVC\n2. Decision Tree\n3. AdaBoost\n4. Random Forest\n5. Extra Trees\n6. Gradient Boosting\n7. Multiple layer perceprton (neural network)\n8. KNN\n9. Logistic regression\n10. Linear Discriminant Analysis"},{"metadata":{},"cell_type":"markdown","source":"#  Why Normalisation"},{"metadata":{},"cell_type":"markdown","source":"sometime algorithm define priority on the  basis of label value:  \n    item    label\n1.  Red     0\n2.  Blue    1\n3.  Green   2\n\nNow green is considered as highest priority (This can also be calculated usin score value)\n\n2. \nsome column contain huge variation in their value some col contain (max value upto 3)  and other may contain (max value upto 1220) by normalistion it lies b/w -1 to 1\n\n3. Normalised data is easily and fast process by cpu "},{"metadata":{"trusted":true},"cell_type":"code","source":"#col=['nom_5','nom_6','nom_7','nom_8','nom_9','ord_3','ord_4','ord_5','day','month']\ncol=['bin_0','bin_1', 'bin_2', 'bin_3', 'bin_4', 'nom_0','nom_1',\n       'nom_2', 'nom_3', 'nom_4', 'nom_5','nom_6', 'nom_7', 'nom_8','nom_9' ,\n       'ord_0', 'ord_1', 'ord_2','ord_3', 'ord_4', 'ord_5', 'day', 'month']\nfrom sklearn.preprocessing import StandardScaler\nobj=StandardScaler()\ndf[col]=obj.fit_transform(df[col])","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"df.describe()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# Prepare  train  and test data"},{"metadata":{"trusted":true},"cell_type":"code","source":"dtrain=df[df['id']<600000] # train data\ndtest=df[df['id']>=600000] # test data","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"dtrain=dtrain.drop('id',axis=1)\ndtest=dtest.drop('id',axis=1)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"dtrain\ndtest","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"X=dtrain # divide the train data into two part X_train and X_test\ny=df_train['target']","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"from sklearn.model_selection import train_test_split\nX_train,X_test,y_train,y_test=train_test_split(X,y,random_state=1,test_size=0.25)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(X_train.shape)\nprint(X_test.shape)\nprint(y_train.shape)\nprint(y_test.shape)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# Using Xgboost"},{"metadata":{"trusted":true},"cell_type":"code","source":"import xgboost as xgb\nfrom sklearn.metrics import roc_auc_score\nimport pandas as pd\nimport numpy as np","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"model = xgb.XGBClassifier(objective ='binary:logistic',\n                      colsample_bytree = 0,\n                      learning_rate = 0.1,\n                      max_depth = 15,\n                      n_estimators = 400,\n                      scale_pos_weight = 2,\n                      random_state = 2020,\n                      subsample = 0.8)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"model.fit(X_train, y_train, eval_set=[(X_test, y_test)], verbose=False,)\n\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"preds_val = model.predict_proba(X_test)[:,1]","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"score = roc_auc_score(y_test ,preds_val)\nprint(\"score: %f\" % (score))","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"model.fit(X,y)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"y_pred = model.predict_proba(dtest)[:,1]","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"Id=pd.Series(range(600000,1000000),name='id')\nId\nsubmission=pd.DataFrame({'id':Id,'target':y_pred})\nsubmission.head()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"submission.to_csv('submission.csv',index=False)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"indices=np.argsort(model.feature_importances_)\nplt.figure(figsize=(10,10))\ng = sns.barplot(y=X_train.columns[indices][:40],x = model.feature_importances_[indices][:40] , orient='h')","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# using Logistic Regression"},{"metadata":{"trusted":true},"cell_type":"code","source":"model1=LogisticRegression()\nmodel1.fit(X_train, y_train)\npreds_val = model1.predict_proba(X_test)[:,1]\nscore = roc_auc_score(y_test ,preds_val)\nprint(\"score: %f\" % (score))\nmodel1.fit(X,y)\ny_pred = model1.predict_proba(dtest)[:,1]\nId=pd.Series(range(600000,1000000),name='id')\nId\nsubmission=pd.DataFrame({'id':Id,'target':y_pred})\nsubmission.head()\nsubmission.to_csv('submission1.csv',index=False)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# Using SVC"},{"metadata":{},"cell_type":"markdown","source":"# DecisionTreeClassifier"},{"metadata":{"trusted":true},"cell_type":"code","source":"model3=DecisionTreeClassifier()\nmodel3.fit(X_train, y_train)\npreds_val = model3.predict_proba(X_test)[:,1]\nscore = roc_auc_score(y_test ,preds_val)\nprint(\"score: %f\" % (score))\nmodel3.fit(X,y)\ny_pred = model3.predict_proba(dtest)[:,1]\nId=pd.Series(range(600000,1000000),name='id')\nId\nsubmission=pd.DataFrame({'id':Id,'target':y_pred})\nsubmission.head()\nsubmission.to_csv('submission3.csv',index=False)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# find important feature \n\nEach algo may be diff feature_importances col on that basis we can set particular threshold value and eliminate weak column"},{"metadata":{"trusted":true},"cell_type":"code","source":"indices=np.argsort(model3.feature_importances_)\nplt.figure(figsize=(10,10))\ng = sns.barplot(y=X_train.columns[indices][:40],x = model3.feature_importances_[indices][:40] , orient='h')","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":""},{"metadata":{},"cell_type":"markdown","source":"# RandomForestClassifier"},{"metadata":{"trusted":true},"cell_type":"code","source":"model5=RandomForestClassifier()\nmodel5.fit(X_train, y_train)\npreds_val = model5.predict_proba(X_test)[:,1]\nscore = roc_auc_score(y_test ,preds_val)\nprint(\"score: %f\" % (score))\nmodel5.fit(X,y)\ny_pred = model5.predict_proba(dtest)[:,1]\nId=pd.Series(range(600000,1000000),name='id')\nId\nsubmission=pd.DataFrame({'id':Id,'target':y_pred})\nsubmission.head()\nsubmission.to_csv('submission4.csv',index=False)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"indices=np.argsort(model5.feature_importances_)\nplt.figure(figsize=(10,10))\ng = sns.barplot(y=X_train.columns[indices][:40],x = model5.feature_importances_[indices][:40] , orient='h')","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# ExtraTreesClassifier"},{"metadata":{"trusted":true},"cell_type":"code","source":"model6=ExtraTreesClassifier()\nmodel6.fit(X_train, y_train)\npreds_val = model6.predict_proba(X_test)[:,1]\nscore = roc_auc_score(y_test ,preds_val)\nprint(\"score: %f\" % (score))\nmodel6.fit(X,y)\ny_pred = model6.predict_proba(dtest)[:,1]\nId=pd.Series(range(600000,1000000),name='id')\nId\nsubmission=pd.DataFrame({'id':Id,'target':y_pred})\nsubmission.head()\nsubmission.to_csv('submission6.csv',index=False)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"indices=np.argsort(model6.feature_importances_)\nplt.figure(figsize=(10,10))\ng = sns.barplot(y=X_train.columns[indices][:40],x = model6.feature_importances_[indices][:40] , orient='h')","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# Gradient Boosting Classifier"},{"metadata":{"trusted":true},"cell_type":"code","source":"model7=GradientBoostingClassifier()\nmodel7.fit(X_train, y_train)\npreds_val = model7.predict_proba(X_test)[:,1]\nscore = roc_auc_score(y_test ,preds_val)\nprint(\"score: %f\" % (score))\nmodel7.fit(X,y)\ny_pred = model7.predict_proba(dtest)[:,1]\nId=pd.Series(range(600000,1000000),name='id')\nId\nsubmission=pd.DataFrame({'id':Id,'target':y_pred})\nsubmission.head()\nsubmission.to_csv('submission7.csv',index=False)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"indices=np.argsort(model7.feature_importances_)\nplt.figure(figsize=(10,10))\ng = sns.barplot(y=X_train.columns[indices][:40],x = model7.feature_importances_[indices][:40] , orient='h')","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}