R语言练习-利用决策树模型分析泰坦尼克生还率(1)
2017-12-04 14:34
519 查看
R语言练习-利用决策树模型分析泰坦尼克生还率
一、数据预处理
数据来源:http://biostat.mc.vanderbilt.edu/wiki/Main/DataSets中的titanic3.csv本文将要用到的数据列:
列名 | 含义 |
---|---|
pclass | 将1/2/3等舱分别保存在1/2/3 |
survived | 是否生还 |
name | 姓名 |
sex | 性别 |
age | 年龄 |
sibsp | 同城的兄弟或者配偶数 |
parch | 同城的父母或者子女数 |
ticket | 票号 |
fare | 票价 |
cabin | 舱号 |
embarked | 登陆地:C(Cherbourg,瑟堡),Q(Queenstown,皇后镇),S(Southampton,南安普顿) |
*> #读入数据
titanic<-read.csv(“E:/数据分析/编程/R/file/数据/titanic3.csv”)
去掉后3列,不适合建模
titanic<-titanic[,!names(titanic)%in%c(“body”,”boat”,”home.dest”)]str(titanic)*
2.转换每列的数据类型转换成适合的数据类型,例如pclass现在是int型,需要转换成字符型
titanicpclass<−as.factor(titanicpclass)
titanicname<−as.character(titanicname)
titanicticket<−as.character(titanicticket)
titaniccabin<−as.character(titaniccabin)
titanicsurvived<−factor(titanicsurvived,levels=c(0,1),labels=c(“dead”,”survived”))
str(titanic) #查看类型
将embarked中的“”(空字符)异常值修改为NA
levels(titanicembarked)levels(titanicembarked)[1]<-NAtable(titanic$embarked,useNA=”always”)
将cabin中的空字符串更换为NA
titaniccabin<−ifelse(titaniccabin==”“,NA,titanic$cabin)3.分离数据,把数据分成测试数据和训练数据
library(caret)
set.seed(137)
test_idx<-createDataPartition(titanicsurvived,p=0.1)Resample1
titanic.test<-titanic[test_idx,]
titanic.train<-titanic[-test_idx,]
4.用caret包中的createFolds()进行分割,分成10层交叉数据
create_ten_fold_cv<-function(){
+ set.seed(137)
+ lapply(createFolds(titanic.train$survived,k=10),function(idx){
+ return(list(train=titanic.train[-idx,],
+ validation=titanic.train[idx,]))
+ })
+ }
相关文章推荐
- R语言练习-利用决策树模型分析泰坦尼克生还率(3)
- R语言练习-利用决策树模型分析泰坦尼克生还率(2)
- 利用R语言如何计算出回归分析中的t值和P值
- 利用R语言分析挖掘Titanic数据集(二)
- 利用R语言对RNA-Seq进行探索分析与差异表达分析
- R语言建立回归分析,并利用VIF查看共线性问题的例子
- 利用R语言实现spark大数据分析与可视化
- 利用R语言分析挖掘Titanic数据集(一)
- 利用R语言对泰坦尼克号沉没事件幸存者的数据分析与预测
- 前言--R语言利用jiebaR进行词频分析----以一个项目来开始学习R吧
- 利用页面分析获取json数据
- 利用python进行数据分析-NumPy基础2
- 利用WMI实现系统补丁检测分析
- 利用webalizer分析nginx日志
- 如何利用BI搭建电商数据分析平台
- 利用pypcap、dpkt和pylibnet轻松实现网络捉包、网络包分析和网络包修改
- 一句话差异备份的牛X利用分析
- Apache环境下PHP利用HTTP缓存协议原理解析及应用分析
- 利用webalizer分析squid日志
- 【木马分析】白利用的集大成者:新型远控木马上演移形换影大法