美文网首页
数据分析报告呈现

数据分析报告呈现

作者: 12_21 | 来源:发表于2017-04-06 19:06 被阅读0次

1、加载文件,查看:(两个数据集,train作为学习集进行数据建模,通过test测试集查看建模的情况。)

train<-read.csv("C:/Users/Administrator/Desktop/train.csv",stringsAsFactors=F)——读取文件

test<-read.csv("C:/Users/Administrator/Desktop/test.csv",stringsAsFactors=F)

test$Survived<-NA——增加变量,进行匹配

full<-rbind(train,test)——行合并,做成完整数据集

head(full)——查看数据情况

str(full)/describe(full)

2、数据清洗:

数据集中有多个数据值缺失,需要添加数据来替代旧数据:

年龄确实值处理:age<-full$Age;n<-length(age)

set.seed(123)

for (i in 1:n){

if(is.na(age[i])) {

age[i]=sample(na.omit(full$Age),1)}} ——用已经存在的非缺失年龄数据集中抽选一个来替代缺失值

par(mfrow=c(1,2)) ——验证数据集,通过直方图进行年龄数据集对比

hist(full$Age,freq=F,main="before replacement",col='lightblue',ylim=c(0,0.04),xlab="age")

hist(age,freq=F,main="after replacement",col='darkblue',ylim=c(0,0.04),xlab="age")

船舱缺失值处理:cabin<-full$Cabin;n=length(cabin)

for (i in 1:n){

if (nchar(cabin[i])==0){

cabin[i]=0} else{

s=strsplit(cabin[i]," ")

cabin[i]=length(s[[1]])}} ——因为船舱编码对存活率影响较小,所以增加船舱数量这个变量。

table(cabin) 

Fare缺失值处理:——将1044fare缺失值按照同等级船舱和港口的中位数进行处理

full$Fare[1044]<-median(full[full$Pclass==3&full$Embarked=="S",]$Fare,na.rm=T

3、数据探索性分析和处理:

查看各个变量与Survived的关系

d<-data.frame(Age=age[1:891],Survived=train$Survived)

ggplot(d,aes(Age,fill=factor(Survived)))+geom_histogram()——利用直方图看不同年龄层存活率比较

cuts<-cut(d$Age,hist(d$Age,10,plot=F)$breaks)——将年龄平分成几段

rate<-tapply(d$Survived,cuts,mean)

d2<-data.frame(age=names(rate),rate)

barplot(d2$rate,xlab="age",ylab="survival rate")——通过柱形图查看每个年龄层的存活率

性别和存活率:

ggplot(train,aes(Sex,fill=factor(Survived)))+geom_histogram(stat="count")

tapply(train$Survived,train$Sex,mean)

姓名和存活率:

n=length(full$Survived)

title<-rep(NA,n)

for(i in 1:n){

lastname=strsplit(full$Name[i]," ,")[[1]][2]——生成的是列表

title[i]=strsplit(lastname,". ")[[1]][1]}

d<-data.frame(title=title[1:891],Survived=train$Survived)

ggplot(d,aes(title,fill=factor(Survived)))+geom_histogram(stat="count")

tapply(d$Survived,d$title,mean)

title[title!="Mr"&title!="Miss"&title!="Mrs"&title!="Master"]<-"Rare"

table(title)

……以此通过堆砌条形图和tapply()求存活率的平均值

4、数据模型建立:

通过广义线性回归、随机森林、决策树、向量机来建模预测验证模型的准确性。

建立新的训练集:

new_train=data.frame(survived=f.survived,age=f.age,fare=f.fare,sex=f.sex,embarked=f.embarked,family=f.family,title=f.title,cabin=f.cabin,pclass=f.pclass)

logistic 回归

fit_logit<glm(factor(survived)~age+fare+sex+embarked+family+title+cabin+pclass,data=new_train,family=binomial)

ans_logit=rep(NA,891)

for(i in1:891){ans_logit[i]=round(fit_logit$fitted.values[[i]],0)}

mean(ans_logit==train$Survived)

table(ans_logit)

library('randomForest')

set.seed(123)fit_rf<-randomForest(factor(survived)~age+fare+sex+embarked+family+title+cabin+pclass,data=new_train)

fit_dt<-rpart(factor(survived)~age+fare+sex+embarked+family+title+cabin+pclass,data=new_train)

fit_svm<-svm(factor(survived)~age+fare+sex+embarked+family+title+cabin+pclass,data=new_train)

svm.fitted=predict(fit_svm)ans_svm=rep(NA,891)

for(i in1:891){ans_svm[i]=as.integer(svm.fitted[[i]])-1}

mean(ans_svm==train$Survived)table(ans_svm)

5、模型评价:

a=sum(ans_logit==1&f.survived==1)

b=sum(ans_logit==1&f.survived==0)

c=sum(ans_logit==0&f.survived==1)

d=sum(ans_logit==0&f.survived==0)

data.frame(a,b,c,d)

6、模型预测

test_data_set<data.frame(age=t.age,fare=t.fare,sex=t.sex,embarked=t.embarked,family=t.family,title=t.title,cabin=t.cabin,pclass=t.pclass)

svm_predict=predict(fit_svm,newdata=test_data_set)ans_svm_predict=rep(NA,418)for(iin1:418){ans_svm_predict[i]=as.integer(svm_predict[[i]])-1}table(ans_svm_predict)

相关文章

  • 数据分析报告呈现

    1、加载文件,查看:(两个数据集,train作为学习集进行数据建模,通过test测试集查看建模的情况。) trai...

  • 专业数据分析报告的规范要求

    一份专业的数据分析报告,除了图表化呈现数据分析结果,还需要介绍此项分析的背景/目的,通过此次分析得到结论,以及结合...

  • 谁说菜鸟不会数据分析(八)

    8.1初识数据分析报告 8.1.1数据分析报告是什么 数据分析报告是根据数据分析原理和方法,运用数据来反映,研究和...

  • 如何从0到1制作数据可视化驾驶舱,每一步都给你讲清楚了

    你做数据分析报告还是在ppt里贴图表,再配上分析结论吗?这样静态呈现的数据,没办法实时反映业务状态。而BI领导驾驶...

  • 7. 数据分析报告

    数据分析报告概述 数据分析报告是根据数据分析方法,运用数据来反映、研究和分析某项事物的现状、问题、原因、本质和规律...

  • 电商客户特征识别数据分析 : 实战

    电商客户特征识别数据分析 - 数据分析报告 数据分析报告的通用流程 背景介绍 数据分析算指标(分组、聚合、透视表、...

  • 2017年第4季度汽车销售同比分析

    数据来源: 制作工具: Smartbi分析报告功能——直接用Word刷出来的数据分析报告! Smartbi透视分析...

  • 专业的数据分析报告

    一、认识数据分析报告 1.定义: 数据分析报告是根据数据分析原理和方法,运用数据来反映、研究和分析某项事物的现状、...

  • 数据分析报告撰写 2019-11-02

    简单的讨论学习才是优秀数据分析报告 数据分析报告的作用就是展示分析结果及提供业务决策依据。综合而言,优秀的分析报告...

  • 【干货】怎样写出专业数据分析报告

    在数据分析工作中,分析报告是数据分析成果的重要体现,也是很多企业考核数据分析师的硬指标。 1 数据分析报告的类型 ...

网友评论

      本文标题:数据分析报告呈现

      本文链接:https://www.haomeiwen.com/subject/yhtqattx.html