kaggle入门之泰坦尼克幸存预测
kaggle入门之泰坦尼克幸存预测
#
数据集什么的就不介绍了,官网上都有
主要的工作步骤
1.提出和定义问题
2.获取训练和测试数据
3.获取,准备和清洗数据
4.分析,识别,探究数据
5.建模,预测并解决wenti
6.可视化,报告和解决
7.应用和提交结果
数据分析和整理
#数据分析整理
# data analysis and wrangling
import pandas as pd
import numpy as np
import random as rnd#可视化
# visualization
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline#导入机器学习模型
# machine learning
from sklearn.linear_model import LogisticRegression
from sklearn.svm import SVC, LinearSVC
from sklearn.ensemble import RandomForestClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.naive_bayes import GaussianNB
from sklearn.linear_model import Perceptron
from sklearn.linear_model import SGDClassifier
from sklearn.tree import DecisionTreeClassifier
导入数据
python的pandas包帮助我们处理数据,我们将训练集合测试集导入成pandas的数据形式,联结在一块。
train_df = pd.read_csv('../input/train.csv')
test_df = pd.read_csv('../input/test.csv')
combine = [train_df, test_df]
通过描述数据进行分析
下面的操作都是利用pandas处理的
数据集中有哪些特征是我们可以利用的
首先打印第一列的名称,也就是各个特征的名称
print(train_df.columns.values)
输出
['PassengerId' 'Survived' 'Pclass' 'Name' 'Sex' 'Age' 'SibSp' 'Parch''Ticket' 'Fare' 'Cabin' 'Embarked']
这些特征的具体定义和数据类型范围参考这个网页
https://www.kaggle.com/c/titanic/data
哪些特征可以帮助分类
这些特征可以将样本分为很多类。是基于特征的比例还是具体值还是什么分类呢?我们将一些东西可视化用来研究
可以分类的特征有::Survived, Sex, and Embarked 序号特征: SibSp, Parch
首先我们看看训练数据是什么样子
# preview the data
train_df.head()
输出
img1
哪个特征是混合数据类型?
Ticket是字母和数字的组合,Cabin是数字字母
哪些特征包含错误或者错别字?
我们很难一一查看所有的数据集,但是看一部分数据集会帮助我们确定哪些数据可能有问题。
Name feature很有可能是由问题的
train_df.tail()
img2
哪些特征有空值?
这些空值需要被修正
Cabin > Age > Embarked features 在训练集中包含空值,按空值多少排序
Cabin > Age a包含空值,在测试集中
特征都是什么数据类型?
这帮助我们实现目标
7个特征是浮点数或者整数,测试集里面有65个
5个特征是string类型
查看训练集合测试集信息train_df.info()
print('_'*40)
test_df.info()
输出
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 12 columns):
PassengerId 891 non-null int64
Survived 891 non-null int64
Pclass 891 non-null int64
Name 891 non-null object
Sex 891 non-null object
Age 714 non-null float64
SibSp 891 non-null int64
Parch 891 non-null int64
Ticket 891 non-null object
Fare 891 non-null float64
Cabin 204 non-null object
Embarked 889 non-null object
dtypes: float64(2), int64(5), object(5)
memory usage: 83.6+ KB
________________________________________
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 418 entries, 0 to 417
Data columns (total 11 columns):
PassengerId 418 non-null int64
Pclass 418 non-null int64
Name 418 non-null object
Sex 418 non-null object
Age 332 non-null float64
SibSp 418 non-null int64
Parch 418 non-null int64
Ticket 418 non-null object
Fare 417 non-null float64
Cabin 91 non-null object
Embarked 418 non-null object
dtypes: float64(2), int64(4), object(5)
memory usage: 36.0+ KB
样本中特征值的分布是什么样子?
这些帮组我们了解更多信息
1.训练集有891个样本,是总乘客数的40%
2.是否存活是一个可分类特征,0死亡,1存活
3.38%的样本存活
4.大多数乘客没有和父母或者孩子一起旅行
5.乘客的花费差别很大,小于1%的乘客花费512美金以上
6.很少有在65-80之间的乘客很少(1%)
train_df.describe()
# Review survived rate using `percentiles=[.61, .62]` knowing our problem description mentions 38% survival rate.
# Review Parch distribution using `percentiles=[.75, .8]`
# SibSp distribution `[.68, .69]`
# Age and Fare `[.1, .2, .3, .4, .5, .6, .7, .8, .9, .99]`
img3
可分类的数据类型的分布?
1.名称在数据集中是唯一的()
2.性别65%的男性
3.船舱有的乘客有重复值,可能有乘客共用一个船舱
4.Embarked 有三个可能的值,s port是最多的
5.Ticket feature
train_df.describe(include=['O'])
输出结果
img4
基于数据分析的假设?
我们基于数据分析得出了一下假设,我们需要进一步验证在采取下一步行动之前。
补全:
1.我们想要补全年龄因为这和是否存活是最相关的
2.补全Embarked
纠错:
1.票价在我们的分析中被舍弃,有太多重复项,并且看起来和是否存活没什么关系
2.Cabin feature 会被舍弃,有太多空值
3.乘客ID和是否存活没关系,我们舍弃
4.乘客名字也舍弃
分类:
根据之前信息完善假设
1.女人更容易存活
2.孩子更容易存活
3.高等仓更容易存活
通过特征分析
为了验证我们的猜想,我们可以快速分析通过分析他们的关系。我们为没有任何空值的特征进行这个操作,所以我们分析sex,Pclass,sibsp这几个特征
Pclass:我们观察到Pclsaa =1和是否存活相关性大于1,所以我们在模型中加入这个特征
Sex:女性有高达74%的生存率
SibSp and Parch:
train_df[['Pclass', 'Survived']].groupby(['Pclass'], as_index=False).mean().sort_values(by='Survived', ascending=False)
img5
train_df[["Sex", "Survived"]].groupby(['Sex'], as_index=False).mean().sort_values(by='Survived', ascending=False)
img6
kaggle入门之泰坦尼克幸存预测相关推荐
- kaggle竞赛:泰坦尼克幸存者预测
kaggle竞赛:泰坦尼克幸存者预测--(一) import pandas as pd import numpy as np import matplotlib.pyplot as plt impor ...
- Kaggle实战:泰坦尼克幸存者预测 - 上
(文章同步更新于个人博客@dai98.github.io) 源代码: Github Kaggle 泰坦尼克幸存者预测是Kaggle上数据竞赛的入门级别的比赛,我曾经在一年前作为作业参加过这个比赛,我想 ...
- Kaggle实战:泰坦尼克幸存者预测 -下
(文章同步更新于个人博客@dai98.github.io) 源代码:Github 上一篇文章介绍了如何使用深度学习来预测泰坦尼克号幸存者,这一部分使用多分类器投票来做.由于数据预处理部分比较相似,重复 ...
- MOOC网深度学习应用开发1——Tensorflow基础、多元线性回归:波士顿房价预测问题Tensorflow实战、MNIST手写数字识别:分类应用入门、泰坦尼克生存预测
Tensorflow基础 tensor基础 当数据类型不同时,程序做相加等运算会报错,可以通过隐式转换的方式避免此类报错. 单变量线性回归 监督式机器学习的基本术语 线性回归的Tensorflow实战 ...
- Kaggle案例之泰坦尼克船员幸存预测(sklearn机器学习库)
无意间在网易云课堂上找了一个Kaggle案例,泰坦尼克获救船员预测,在此之前我是从没接触过kaggle,毕竟是刚入门的小白,看着视频,算是真正实战了一次,主要是在这个过程中学到了很多东西. 下面视频地 ...
- Kaggle案例之泰坦尼克船员幸存预测
无意间在网易云课堂上找了一个Kaggle案例,泰坦尼克获救船员预测,在此之前我是从没接触过kaggle,毕竟是刚入门的小白,看着视频,算是真正实战了一次,主要是在这个过程中学到了很多东西. 下面视频 ...
- kaggle 泰坦尼克 高分 预测
kaggle 泰坦尼克 高分 预测 目录 kaggle 泰坦尼克 高分 预测 1.前言 2.包及数据导入 3.数据的初步认识 4.数据关系的可视化 5.数据清洗与缺失值处理 6.数据的统计分析 7.超 ...
- 从零开始,手把手,一文kaggle竞赛速度入门! 泰坦尼克
从零开始,手把手,一文kaggle竞赛速度入门! 泰坦尼克 1. 前言 2. 如何开始kaggle竞赛 2.1进入网站注册账号 2.2进入到比赛界面 2.3了解项目 3. 数据导入与预处理 4. 训练 ...
- kaggle房价预测特征意思_机器学习-kaggle泰坦尼克生存预测(一)-数据清洗与特征构建...
1.背景: 1.1 关于kaggle: 谷歌旗下的 Kaggle 是一个数据建模和数据分析竞赛平台.该平台是当下最流行的数据科研赛事平台,其组织的赛事受到全球数据科学爱好者追捧. 如果学生能够在该平台 ...
最新文章
- NM-CIDS测试经历
- the fair-sounding
- 14.基于Hadoop的数据仓库Hive第1部分
- 凭证 90000000 保存(帐户确定出错)
- echart多个柱状图 设置y轴显示_Origin神教程:柱状图还是2D的吗?也没有误差棒?...
- Python3基础 if __name__ == '__main__'
- leetcode 677. Map Sum Pairs | 677. 键值映射(Trie前缀树,BFS)
- 各种编程语言的按钮输入框
- 为什么只读文件系统_xfs 只读共享盘的数据不一致问题
- EF Core 实现读写分离的最佳方案
- 1592E - Скучающий Бакри
- oracle slient静默安装并配置数据库及仅安装数据库不配置数据库shell
- github private链接访问_如何将Jenkins链接到私有Github存储库?
- ubuntu升级python_Ubuntu 系统下可以做什么?——拥抱自由和安静
- linux服务媒体,安装和使用Jellyfin配置Linux媒体服务器
- 数据结构与算法:实验一线性表(字符串分类统计)
- hibernate版本_Spring Boot入门(最新基于SpringBoot2.2.2版本系列教程)
- wireshark(2)- ethernet工具 xcap wireshark tcpdump
- 【娜家花园养花小记】
- 基于cooja的RPL OF的修改与仿真
热门文章
- CentOS7出现 Detected CPU family 6 model 165 stepping 3
- android如何实现微信功能吗,android 借助AccessibilityService实现模拟点击功能-微信助手(一)...
- 厉害了word哥!这款国产主板品牌强势登陆韩国
- ORACLE中行转列
- 洛谷 P2168 荷马史诗(抄)
- 京东项目案例操作日志
- 手游为什么老被攻击?手游DDOS防护方法
- 白酒企业数字化转型怎么做?酒类招商加盟营销系统功能有哪些?
- JavaScript(关于变量及数据类型的使用)
- 微信或许已经不再克制了