kaggle链接:https://www.kaggle.com/c/titanic

一、比赛描述
RMS泰坦尼克号沉没是历史上最臭名昭着的沉船之一。1912年4月15日,在她的处女航中,泰坦尼克号在与冰山相撞后沉没,在2224名乘客和机组人员中造成1502人死亡。这场耸人听闻的悲剧震惊了国际社会,并为船舶制定了更好的安全规定。

造成海难失事的原因之一是乘客和机组人员没有足够的救生艇。尽管幸存下沉有一些幸运因素,但有些人比其他人更容易生存,例如妇女,儿童和上流社会。

在这个挑战中,我们要求您完成对哪些人可能存活的分析。特别是,我们要求您运用机器学习工具来预测哪些乘客幸免于悲剧

二、比赛评估
你的工作是预测一名乘客是否能够幸免于泰坦尼克号沉没。
对于测试集中的每个,您必须预测变量的0或1值。

三、导入包

import pandas as pd
import numpy as np
from sklearn.feature_extraction import DictVectorizer #字典类型特征抽取
from sklearn.model_selection import train_test_split,GridSearchCV #划分数据集,网格搜索
from sklearn.tree import DecisionTreeClassifier #分类树

四、获取数据

taitan=pd.read_csv('http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic.txt')
taitan.head()


五、选取特征X与目标Y

x=taitan[['pclass','age','sex']]
x['age'].fillna(x['age'].mean(),inplace=True) #填充缺失值,inplace=True是否保存
y=taitan['survived']

六、划分训练集与测试集

x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.25,random_state=0)

七、特征抽取

a=x_train.to_dict(orient='records') #将数据转换为列表类型字典
b=x_test.to_dict(orient='records')
dv=DictVectorizer(sparse=False)
x_train=dv.fit_transform(a)
x_test=dv.transform(b)
dv.get_feature_names()

#查看特征名 共6个特征,age对应36.,pclass三个船舱等级对应0.,1.,0.,最后sex对应0.,1.

八、使用分类树进行建模

dtc=DecisionTreeClassifier(max_depth=5)#max_depth树的深度
dtc.fit(x_train,y_train)

九、预测

y_predict=dtc.predict(x_test)
y_predict

十、评估

十一、精准率和召回率

from sklearn.metrics import classification_report
print(classification_report(y_test,y_predict,target_names=['0','1'])) #精准率与召回率


十二、混淆矩阵

from sklearn.metrics import confusion_matrix #生产混淆矩阵
import matplotlib.pyplot as plt
import matplotlib
import seaborn as sns #画图
#设置中文字体
matplotlib.rcParams['font.family']='SimHei'
matplotlib.rcParams['font.size']=10
mat=confusion_matrix(y_test,y_predict) #生成混淆矩阵
sns.heatmap(mat,square=True,annot=True,cbar=False) #annot=True加载标签,cbar=False不显示颜色标记
plt.xlabel('预测值')
plt.ylabel('真实值')
plt.show()


十三、随机森林

from sklearn.ensemble import RandomForestClassifier #随机森林
c={'n_estimators':[120,200,300,500,800,1200],'max_depth':[3,5,8,15,25,30]}
rfc=RandomForestClassifier()
gc=GridSearchCV(rfc,param_grid=c,cv=2)
gc.fit(x_train,y_train)

泰坦尼克号生存情况预测相关推荐

  1. 泰坦尼克号乘客生存情况预测分析之第三部分建模及模型评价

    第三部分建模及模型评价 前面两部分我们已经对泰坦尼克号的数据进行了一些处理,感兴趣的小伙伴可以看看前面两篇文章,本篇主要介绍预测分析的第三部分,也就是建模和模型评价.数据处理完了,接下来就来看看在默认 ...

  2. python泰坦尼克号生存预测论文_用Python预测泰坦尼克号生存情况

    本文主要用kaggle网站上的泰坦尼克号生存数据信息,来进行机器学习的入门.其中用到的是逻辑回归算法. 一.提出问题 什么样的人在泰坦尼克号中更容易存活? 二.理解数据 1.数据来源 2.导入数据 测 ...

  3. 【Kaggle实战】泰坦尼克号生存人数预测(从零到提交到Kaggle再到模型的保存与恢复)

    数据地址:https://www.kaggle.com/c/titanic/data 版本说明:python 3.6 + tensorflow 1.9 项目结构图: [data] 1.train.cs ...

  4. 泰坦尼克号生存预测python_用Python预测泰坦尼克生存情况-附数据集

    介绍:通过逻辑回归算法,解决kaggle网站上的泰坦尼克生存情况预测问题,准确率在80%左右. 一.提出问题 什么样的人在泰坦尼克号中更容易存活? 二.理解数据 2.1 数据来源 数据来自kaggle ...

  5. 泰坦尼克号乘客生存情况分析第一部分

    第一部分 数据读取及探索性分析 哈喽,各位小伙伴.今晚是平安夜,就先祝大家平安夜快乐,永远平安健康.泰坦尼克号相信很多人都不陌生,今天呢,主要聊一聊之前做过的一个小项目,预测下泰坦尼克号乘客的生存情况 ...

  6. Python使用随机森林预测泰坦尼克号生存

    tags: 随机森林 kaggle 数据挖掘 categories: 数据挖掘 mathjax: true 文章目录 前言: 1 数据预处理 1.1 读入数据 1.2 训练集与数据集 1.2.1 查看 ...

  7. Kaggle经典数据分析项目:泰坦尼克号生存预测!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:陈锴,中山大学,Datawhale成员 最近有很多读者留言,希望能 ...

  8. 泰坦尼克号数据集_机器学习-预测泰坦尼克号生存概率

    一.项目背景概述 泰坦尼克号沉船是历史上最有名的沉船事件之一:1912年4月15日,在她的第一次航行中,泰坦尼克号与冰山相撞后沉没.船上乘客和机组人员2224名,其中1502人死亡.这场耸人听闻的悲剧 ...

  9. 【阿旭机器学习实战】【13】决策树分类模型实战:泰坦尼克号生存预测

    [阿旭机器学习实战]系列文章主要介绍机器学习的各种算法模型及其实战案例,欢迎点赞,关注共同学习交流. 本文用机器学习中的决策树分类模型对泰坦尼克号生存项目进行预测. 关于决策树的详细介绍及原理参见前一 ...

最新文章

  1. monorepo_Monorepo开发的要点
  2. git stash和git stash pop
  3. element菜单默认展开和选中
  4. CSDN-markdown编辑器使用指南
  5. Flex DataGrid 筛选实现
  6. GZNT模版文件说明
  7. 【kafka】Kafka Consumer 中的心跳线程有什么作用?
  8. 守护进程之PHP实现
  9. PLinux设计初步设想
  10. linux7.0 端口占用,Windows 7如何处理 80端口被占用
  11. 使用rsync完成内网数据备份
  12. python模拟三次输入密码_python 3.0 模拟用户登录功能并实现三次错误锁定
  13. 使用Areas分离ASP.NET MVC项目
  14. 数据库内外连接、自连接
  15. ITIL 2011 -- 服务运营的5个流程简介 (上)
  16. 将格林尼治时间转日期格式
  17. 嵌入式C语言学习笔记附图
  18. 工具传送门(持续更新)
  19. 【c++篇】c++常见容器中list的模拟实现
  20. i9 10900K比9900K性能提升了多少?i9-10900K和i9-9900K区别对比评测 更多详情咨询世通兰陵王

热门文章

  1. 在单点登录中,如果cookie被禁用了怎么办?
  2. 每日一题【33】解析几何-椭圆的垂径定理与焦半径公式
  3. opencv3.4.4 +contrib模块在win10+vs2017的编译和配置
  4. Webots学习笔记(四)---舵轮模型
  5. Linux内核中获取纳秒时间戳的方法
  6. 保姆级教程,自建公网可访问的Git私有仓库
  7. 【斯坦福公开课-机器学习】1.机器学习的动机和应用(吴恩达 Andrew Ng)
  8. IoT方案|机智云商用设备运营管理 / 租赁共享解决方案
  9. 一步步教你如何在Ubuntu虚拟机中安装QEMU并模拟模拟arm 开发环境(一)uImage u-boot
  10. ئاندرويىد تېلېفۇندىكى ئۇيغۇرچە