首页
学习
活动
专区
工具
TVP
发布

一个在Kaggle建树的例子

一个在Kaggle建树的例子

今天给大家讲一个怎么运用Kaggle上面的数据建一个简单的决策树模型并且可视化的例子。

首先讲讲怎么注册Kaggle账号。进入以下界面

把各种信息录入,把邮箱登记好。后面就会有封关于激活账户的邮件发到邮箱。这里就需要注意了,一般到了后面的验证码会一直生成不了。

所以就需要用到谷歌浏览器或者翻墙。这里介绍怎么用谷歌浏览器生成验证码。

首先需要下载谷歌访问助手插件,插件下载网址:

http://www.ggfwzs.com

按照该网页指示激活插件:

http://www.ggfwzs.com//ff/chrome/index.html

然后就可以生成验证码,激活kaggle账号成功了。

然后搜索Titanic,下载所需要的数据集。

数据如上图。下载到本地可以开始建立一个简单模型了。

先看数据描述,再对训练集做数据处理:

import pandas as pd

import numpy as np

train=pd.read_csv(‘D:/python /train.csv’)

train.drop([‘Name’,’Ticket’,’Cabin’],axis=1,inplace=True)

把名字,票号,船舱号对建模没作用的变量删除

labels=list(train[‘Embarked’].unique())

train[‘Embarked’]=train[‘Embarked’].apply(lambda x:labels.index(x))

labels2=list(train[‘Sex’].unique())

train[‘Sex’]=train[‘Sex’].apply(lambda x:labels2.index(x))

train[‘Age’]=train[‘Age’].fillna(train[‘Age’].median())

缺失值填补

对测试集一样处理:

test=pd.read_csv(‘D:/python-learn’all’test.csv’)

test.drop([‘Name’,’Ticket’,’Cabin’],axis=1,inplace=True)

labelss=list(test [‘Embarked’].unique())

test [‘Embarked’]= test [‘Embarked’].apply(lambda x:labels.index(x))

Labelss2=list(test [‘Sex’].unique())

test [‘Sex’]= test [‘Sex’].apply(lambda x:labels.index(x))

test [‘Age’]= test [‘Age’].fillna(test [‘Age’].median())

test [‘Fare]= test [‘Fare].fillna(test [‘Fare’].median())

from sklearn import tree

from sklearn.tree import DecisionTreeClassifier

from sklearn import metrics

安装0,19以上版本的sklearn有参数min_impurity_decrease

clf=DecisionTreeClassifier(criterion=’entropy’,min_impurity_decrease=0.01)

算信息熵,防止过拟合,一个节点是否分裂,至少要减少0.01的不纯度

x=train[[‘PassengerId’,’Pclass’,’Sex’,’Age’,’SibSp’,’Parch’,’Fare’,’Embarked’]]

y=train[‘Survived’]

clf.score(x,y)

predicted=clf.predict(xtest)

gender_submission=pd.read_csv(‘D:/python-learn/all/gender_submission.csv’)

xtestla=xtest.merge(gender_submission,on=[‘PassengerId’],how=’left’)

ytest=gender_submission[‘Survived’]

clf.score(xtest,ytest)

代码参考:爱数据的小司机(头条号)

另外注意,在做可视化之前,要先安装graphviz包:链接如下:

https://blog.csdn.net/tina_ttl/article/details/51778551

import pydotplus

import os

dot_data=tree.export_graphviz(clf,feature_names=[‘PassengerId’,’Pclass’,‘Sex’,’Age’,SibSp’,’Parch’,’Fare’,’Embarked’],out_file=f)

把图放在某目录下

graph=pydotplus.graph_from_dot_data(dot_data)

graph.write_pdf(‘D:\python-learn\picture.pdf’)

或者把图直接显示

from IPython.display import Image

Image(graph.create_png())

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180907B0D4XX00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券