泰坦尼克:缺失值概况

2017-06-28  本文已影响0人  巴拉巴拉_9515

01、原始数据

有两个数据集:train和test数据集
(1)train数据集包含12个变量,891条数据
(2)test数据集只有11个变量,缺少一个“是否生存”的变量,一共有418条数据


原始数据

02、缺失值查看

缺失值处理参考

2.1、train数据集

(1)使用VIM包,查看整个数据集缺失情况。可以发现train数据集中age变量缺失严重,缺失177个数值
(2)查看具体哪几行的Age变量缺失
(3)验证一下age变量缺失行数

library(VIM)  
aggr(train,prop=FALSE,numbers=TRUE)
#查看age具体哪几行缺失
a<-train$PassengerId[is.na(train$Age)]
a
length(a)  #177
train数据集 具体缺失哪几行
2.2、test数据集

(1)test数据集中age变量和fare变量缺失
(2)age缺失86个
(3)fare缺失一个

library(VIM)
aggr(test,prop=FALSE,numbers=TRUE)
#-------------------------------------------------------------->age
age<-test$PassengerId[is.na(test$Age)]
age
length(age)   #86
#-------------------------------------------------------------->fare
fare<-test$PassengerId[is.na(test$Fare)]
fare   #1044
length(fare)  #1
test数据集

03、缺失值处理

来幅没什么关系但漂亮的图
3.1、mice包

R中的mice包通过合理的数据值可以帮助我们填充缺失值。
这些合理的数据值都是从一个分布中得到的,这个分布是根据缺失数据点的特定情况设计的

3.2、Age变量缺失值处理

由train缺失值展示可以知道,Age变量缺失值严重
使用mice函数做变量处理,完成缺失值填充

set.seed(129)
library(mice) 
#mice函数进行插补缺失数据,某些不太有用的变量删除掉
mice_mod <- mice(full[, !names(full) %in% c('PassengerId','Name','Ticket',
'Cabin','Family','Surname','Survived')],method='rf') 
mice_output <- complete(mice_mod)
结果
3.3、Age与存活关系

右侧图显示在泰坦尼克灾难中,大部分男性是死亡的;
女性的生存率比较高,并且高龄女性的存活率很高

女男、年龄、存活的关系
上一篇 下一篇

猜你喜欢

热点阅读