django做的网站模板,网站没备案怎么做淘宝客,h5制作工具有哪四个,如何在亚马逊开店一、分析目的 探究决定泰坦尼克号沉没事件中什么因素决定着船上人的生死#xff0c;并对实例进行判别和预测。
二、数据介绍 Titanic.csv数据中包含了891个样本#xff0c;记录了泰坦尼克号遇难时的891个乘客的基本信息#xff0c;其中包括以下信息#xff1a;
Passenger…一、分析目的 探究决定泰坦尼克号沉没事件中什么因素决定着船上人的生死并对实例进行判别和预测。
二、数据介绍 Titanic.csv数据中包含了891个样本记录了泰坦尼克号遇难时的891个乘客的基本信息其中包括以下信息
PassengerId: 乘客编号
Survived: 生还情况生还为1死亡为0
Pclass: 舱位分为123等1为最高的3为最低等
Name: 姓名
Sex: 性别
Age: 年龄
SibSp: 同船的兄弟姐妹或配偶
Parch: 同船的父母或子女
Ticket: 船票信息
Fare: 乘客票价
Cabin: 客舱编号
Embarked: 登船地点C,S,Q分别代表三个不同的地点
数据集 链接: https://pan.baidu.com/s/1YpT8Pjg35fe_0lrpl7wClw 提取码: 9uq2http://通过网盘分享的文件泰坦尼克号 链接: https://pan.baidu.com/s/1YpT8Pjg35fe_0lrpl7wClw 提取码: 9uq2
三、实现与结果解读
1.数据处理
先导入数据对其进行缺失值情况的查看
d1-read.csv(D:/R Course/data/Titanic.csv)d1str(d1)install.packages(c(VIM,mice))library(VIM)library(mice)map-matrixplot(d1)map
运行结果 颜色代表变量值大小浅色值小深色值大而红色代表缺失值由此发现年龄缺失值较多在进行数据分析前需要先进行数据缺失值处理这里我们直接将缺失数据的行剔除得到新的数据集进行接下来的分析。
d2-na.omit(d1) #数据处理d2
接下来采用两种方法实现对上述处理过的数据集的分析和预测。
2. 多元逻辑回归分析
先对数据进行全变量逻辑回归分析
多元逻辑回归logit.glm-glm(factor(Survived)~factor(Pclass)factor(Sex)Age,familybinomial,datad2)summary(logit.glm) 可以看出船舱等级Pclass、性别Sex、年龄Age、同船的兄弟姐妹或配偶SibSp四个因素对生还情况的影响较为显著。选取这四个特征进行分析绘图观察生还情况和这四个因素的具体关系。
1舱位等级因素
#船舱等级——存活图Pclass_S-table(d2$Survived,d2$Pclass)Pclass_SPclass_S_prop-prop.table(Pclass_S,2)Pclass_S_propggplot(datad2,aes(xPclass,fillfactor(Survived)))geom_bar(stat count,position dodge)scale_x_continuous(breaks(1:3))labs(xPclass)
运行结果 在三个不同等级的船舱中3等船舱的人数最多并且可以明显看出随着船舱等级升高乘客的生还率上升推断船舱等级越高救生措施可能完善且乘客地位高分配到的救生资源多乘客生还的可能性越大。
2性别因素
#性别——存活图Sex_S - table(d2$Survived, d2$Sex)Sex_SSex_S_prop - prop.table(Sex_S, 2)Sex_S_propggplot(data d2, aes(x Sex, fill factor(Survived)))geom_bar(statcount, positiondodge)
运行结果 进入现代社会后女士优先已经不再是男士们表现绅士的行为而是已经成为了一种类似于道德标准的社会行为准则在百年前的泰坦尼克号上是否也一样呢从以上数据可看出女性生还率要大于男性推断可能是男士们把更多的生存机会给了女性也可能是与救援时女性优先的原则有关且查阅资料可知女性在寒冷环境中体温下降较慢当时多数人从船上跳入海中逃生在海水低温条件下女性在保存体温生存下去等待救援方面有天然优势以上生还结果与此也应有关联。
3年龄因素
#年龄——存活图Agedata - as.numeric(unlist(d2$Age))Age_S - table(d2$Survived, cut(Agedata, breaks c(0, 15, 30, 45, 60, 75, 90),labels c(kids, teenagers, prime, middle, agedness, senium )))Age_SAge_S_prop - prop.table(Age_S, 2)Age_S_propggplot(data data.frame(d2$Survived, Agedata), aes(x cut(Agedata, breaks c(0, 15, 30, 45, 60, 75, 90)),fill factor(d2.Survived)))geom_bar(statcount, positiondodge) labs(x Age) scale_x_discrete(labels c(kids, teenagers, prime, middle, agedness, senium))
运行结果 可见儿童生还率较高与救援时妇幼优先原则应该有关且在危难关头父母为了保全孩子可能会让出紧缺的救援名额因此儿童生还率较其他年龄段高出不少。
4同船的兄弟姐妹或配偶数因素
#家庭人数——存活图Fsize-data$SibSp data$Parch#家庭人数兄弟姐妹或配偶父母儿女ggplot(data, aes(x Fsize, fill factor(Survived))) geom_bar(statcount, positiondodge) #statcount表示统计出现次数positiondodge表示柱状图分开摆放scale_x_continuous(breaksc(1:11)) #坐标轴刻度labs(x 家庭人数,y数量)
运行结果 可见大致情况为配偶数量越少生还率越高但不绝对影响推测遇难时同行人数多并不会增大生还的可能。
3. 判别分析
1Fisher判别法
#Fisher判别法library(MASS)ldlda(Survived~SexPclassSibSpParch);ldlppredict(ld)Survived1lp$classtab1table(Survived,Survived1);tab1sum(diag(prop.table(tab1))) 对于Fisher判别法的结果图乘客遇难的先验概率为0.616生还的先验概率为0.384这证明在此次事故中遇难人数是生还人数的两倍观察判别矩阵可以看出遇难的有472人被判对生还的有233人被判对判对率为0.787概率较高。
2距离判别法
#距离判别法qdqda(Survived~SexPclassSibSpParch);ldqppredict(qd)Survived2qp$classtab2table(Survived,Survived2);tab2sum(diag(prop.table(tab2))) 对于距离判别法的结果图乘客遇难的先验概率为0.616生还的先验概率为0.384观察判别矩阵可以看出遇难的有473人被判对生还的有231人被判对判对率为0.79概率较高。
因为距离判别法的判对率略大于Fisher判别法因此对新样本预测时采用距离判别法。
3对新样本进行预测
#预测predict(qd,data.frame(Pclass1,sexfemale,Sibsp0,Parch0)) 输入新样本对其是否可以生还进行判断通过结果可以看出生还的概率为0.996因此判别结果为“生还”。