{"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\nfrom sklearn.tree import DecisionTreeClassifier","execution_count":null,"outputs":[]},{"metadata":{"_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","trusted":true},"cell_type":"code","source":"def loaddf(filename):\n    df = pd.read_csv('../input/'+filename).drop(['Cabin','Ticket','Name'],axis=1) #drop stuff we don't use\n    df = pd.concat([df, pd.get_dummies(df['Sex'])],axis=1).drop(['Sex'],axis=1)\n    df = pd.concat([df, pd.get_dummies(df['Embarked'])],axis=1).drop(['Embarked'],axis=1)\n    df['Fsize']=df['Parch']+df['SibSp']+1 #calculate family size\n    return df\n\ndef cleanse(df, dropna=True):\n    if dropna:\n        df = df.dropna()\n    else:\n        df['Age']=df['Age'].fillna(28)\n        df['Fare']=df['Fare'].fillna(7.71)\n        #df['Pclass']=df['Pclass'].fillna(3)\n        df=df.fillna(0)\n    return df\n    \ndef load_X(df):\n    train_X=df[['male','Pclass','Age','Fsize']]\n    #train_X=df[['male','Pclass','Fare','C']]\n    return train_X\ndef load_y(df):\n    train_y=df['Survived']\n    return train_y\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"7403eac2539801071f788af0e7f3d401ba2c058c"},"cell_type":"code","source":"train = cleanse(loaddf('train.csv'),dropna=False)\ntrain_X, train_y = load_X(train),load_y(train)\nmodel = DecisionTreeClassifier(max_depth=3)\nmodel.fit(train_X, train_y)\npd.DataFrame([model.feature_importances_],columns=train_X.columns )\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"c5a1b157d2605aed2a7f280ea3ff85e9091b9e85"},"cell_type":"code","source":"#import matplotlib.pyplot as plt\n#import seaborn as sns\n#colormap = plt.cm.RdBu\n#plt.figure(figsize=(14,12))\n#plt.title('Pearson Correlation of Features', y=1.05, size=15)\n#sns.heatmap(train.iloc[:,1:].corr(),linewidths=0.1,vmax=1.0, \n#            square=True, cmap=colormap, linecolor='white', annot=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"cf020a722337e68890d186586f56238fa01f3378"},"cell_type":"code","source":"from sklearn.tree import export_graphviz\nexport_graphviz(model, out_file='tree.dot', feature_names = train_X.columns.tolist(),class_names=['Died','Survived'],\n           rounded = True, proportion = False, precision = 0, filled = True)\n!dot -Tpng tree.dot -o tree.png \nfrom IPython.display import Image\nImage(filename = 'tree.png')","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}