热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

[数据科学从零到壹]·泰坦尼克号生存预测(数据读取、处理与建模)???????

泰坦尼克号生存预测(数据读取、处理与建模)简介:本文是泰坦尼克号上的生存概率预测,这是基于Kaggle上的一个经典比赛项目。数据集:1.Kaggle泰坦尼克号项目页面下载数据:ht

泰坦尼克号生存预测(数据读取、处理与建模)

  • 简介:

本文是泰坦尼克号上的生存概率预测,这是基于Kaggle上的一个经典比赛项目。

数据集:

1.Kaggle泰坦尼克号项目页面下载数据:https://www.kaggle.com/c/titanic

2.网盘地址:https://pan.baidu.com/s/1BfRZdCz6Z1XR6aDXxiHmHA      提取码:jzb3 


  • 代码内容

数据读取:


#%%
import tensorflow as tf
import keras
import pandas as pd
import numpy as np
data
= pd.read_csv("titanic/train.csv")
print(data.head())
print(data.describe())

 

技术分享图片

数据处理:


#%%
strs = "Survived Pclass Sex Age SibSp Parch Fare Embarked"
clos
= strs.split(" ")
print(clos)
#%%
x_datas = data[clos]
print(x_datas.head())
#%%
print(x_datas.isnull().sum())
#%%
x_datas["Age"] = x_datas["Age"].fillna(x_datas["Age"].mean())
x_datas[
"Embarked"] = x_datas["Embarked"].fillna(x_datas["Embarked"].mode()[0])
#x_datas["Sex"] = pd.get_dummies(x_datas["Sex"])
x_datas = pd.get_dummies(x_datas,columns=["Pclass","Sex","Embarked"])
x_datas[
"Age"]/=100
x_datas[
"Fare"]/=100
print(x_datas.isnull().sum())
print(x_datas.head())
#%%
seq = int(0.75*(len(x_datas)))
X ,Y
= x_datas.iloc[:,1:],x_datas.iloc[:,0]
X_train,Y_train,X_test,Y_test
= X[:seq],Y[:seq],X[seq:],Y[seq:]

 

技术分享图片

模型搭建:


#%%
strs = "Survived Pclass Sex Age SibSp Parch Fare Embarked"
clos
= strs.split(" ")
print(clos)
#%%
x_datas = data[clos]
print(x_datas.head())
#%%
print(x_datas.isnull().sum())
#%%
x_datas["Age"] = x_datas["Age"].fillna(x_datas["Age"].mean())
x_datas[
"Embarked"] = x_datas["Embarked"].fillna(x_datas["Embarked"].mode()[0])
#x_datas["Sex"] = pd.get_dummies(x_datas["Sex"])
x_datas = pd.get_dummies(x_datas,columns=["Pclass","Sex","Embarked"])
x_datas[
"Age"]/=100
x_datas[
"Fare"]/=100
print(x_datas.isnull().sum())
print(x_datas.head())
#%%
seq = int(0.75*(len(x_datas)))
X ,Y
= x_datas.iloc[:,1:],x_datas.iloc[:,0]
X_train,Y_train,X_test,Y_test
= X[:seq],Y[:seq],X[seq:],Y[seq:]

 

技术分享图片

模型训练与评估:


#%%
strs = "Survived Pclass Sex Age SibSp Parch Fare Embarked"
clos
= strs.split(" ")
print(clos)
#%%
x_datas = data[clos]
print(x_datas.head())
#%%
print(x_datas.isnull().sum())
#%%
x_datas["Age"] = x_datas["Age"].fillna(x_datas["Age"].mean())
x_datas[
"Embarked"] = x_datas["Embarked"].fillna(x_datas["Embarked"].mode()[0])
#x_datas["Sex"] = pd.get_dummies(x_datas["Sex"])
x_datas = pd.get_dummies(x_datas,columns=["Pclass","Sex","Embarked"])
x_datas[
"Age"]/=100
x_datas[
"Fare"]/=100
print(x_datas.isnull().sum())
print(x_datas.head())
#%%
seq = int(0.75*(len(x_datas)))
X ,Y
= x_datas.iloc[:,1:],x_datas.iloc[:,0]
X_train,Y_train,X_test,Y_test
= X[:seq],Y[:seq],X[seq:],Y[seq:]

 

技术分享图片


  • 输出结果:


_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
dense_1 (Dense) (None, 64) 832
_________________________________________________________________
dropout_1 (Dropout) (None, 64) 0
_________________________________________________________________
dense_2 (Dense) (None, 16) 1040
_________________________________________________________________
dense_3 (Dense) (None, 2) 34
=================================================================
Total params: 1,906
Trainable params: 1,906
Non-trainable params: 0
_________________________________________________________________
...
Epoch 96/100
534/534 [==============================] - 0s 80us/step - loss: 0.3870 - acc: 0.8277 - val_loss: 0.5083 - val_acc: 0.7612
Epoch 97/100
534/534 [==============================] - 0s 80us/step - loss: 0.3921 - acc: 0.8352 - val_loss: 0.5070 - val_acc: 0.7687
Epoch 98/100
534/534 [==============================] - 0s 82us/step - loss: 0.3940 - acc: 0.8371 - val_loss: 0.5102 - val_acc: 0.7687
Epoch 99/100
534/534 [==============================] - 0s 78us/step - loss: 0.3996 - acc: 0.8277 - val_loss: 0.5106 - val_acc: 0.7687
Epoch 100/100
534/534 [==============================] - 0s 80us/step - loss: 0.3892 - acc: 0.8352 - val_loss: 0.5082 - val_acc: 0.7612
223/223 [==============================] - 0s 63us/step
test loss is 0.389338, acc 0.829596

技术分享图片



  • 完整代码:



#%%
strs = "Survived Pclass Sex Age SibSp Parch Fare Embarked"
clos
= strs.split(" ")
print(clos)
#%%
x_datas = data[clos]
print(x_datas.head())
#%%
print(x_datas.isnull().sum())
#%%
x_datas["Age"] = x_datas["Age"].fillna(x_datas["Age"].mean())
x_datas[
"Embarked"] = x_datas["Embarked"].fillna(x_datas["Embarked"].mode()[0])
#x_datas["Sex"] = pd.get_dummies(x_datas["Sex"])
x_datas = pd.get_dummies(x_datas,columns=["Pclass","Sex","Embarked"])
x_datas[
"Age"]/=100
x_datas[
"Fare"]/=100
print(x_datas.isnull().sum())
print(x_datas.head())
#%%
seq = int(0.75*(len(x_datas)))
X ,Y
= x_datas.iloc[:,1:],x_datas.iloc[:,0]
X_train,Y_train,X_test,Y_test
= X[:seq],Y[:seq],X[seq:],Y[seq:]

 

技术分享图片


推荐阅读
  • 深入解析Android Activity生命周期
    本文详细探讨了Android中Activity的生命周期,通过实例代码和详细的步骤说明,帮助开发者更好地理解和掌握Activity各个阶段的行为。 ... [详细]
  • 本文面向非计算机专业背景的编程爱好者,介绍如何仅使用基础的C语言知识——二维数组和结构体,无需掌握复杂的数据结构如链表,即可编写一款经典的贪食蛇游戏。通过本教程,您将了解游戏开发的基本原理和实现方法。 ... [详细]
  • Python中调用Java代码的方法与实践
    本文探讨了如何在Python环境中集成并调用Java代码,通过具体的步骤和示例展示了这一过程的技术细节。适合对跨语言编程感兴趣的开发者阅读。 ... [详细]
  • VS Code 中 .vscode 文件夹配置详解
    本文介绍了 VS Code 中 .vscode 文件夹下的配置文件及其作用,包括常用的预定义变量和三个关键配置文件:launch.json、tasks.json 和 c_cpp_properties.json。 ... [详细]
  • 本文介绍了在Android Studio中通过代码和配置文件两种方法来移除Activity的标题栏,并讨论了当Activity继承自AppCompatActivity时的特殊处理方法。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置单节点的Redis服务,包括下载、解压、编译安装以及启动服务的具体步骤。 ... [详细]
  • 本周六上午11点左右到达公司,回顾了一周的行业动态并完成了昨日的任务。下午主要解决了Axis2缓存问题以及DBS和KMS的相关技术难题。由于服务替换导致平台访问错误,经过多方查找未能解决,最终决定暂时搁置。此外,还分享了与朋友之间的沟通障碍及个人成长的思考。 ... [详细]
  • Pandas中使用sort_values方法进行数据排序
    本文介绍了如何利用Python的Pandas库中的sort_values方法对DataFrame对象进行排序。首先通过Numpy库生成随机数据,然后详细解释了DataFrame的创建过程及其参数,并重点探讨了sort_values方法的使用技巧。 ... [详细]
  • Python与Java在Appium中的应用:混合APP自动化测试方法详解
    本文详细探讨了如何使用Python和Java语言结合Appium框架进行混合APP的自动化测试,特别针对面试中常见的问题进行了整理和解答。 ... [详细]
  • UVA 401 - 镜像回文字符串
    本题探讨了如何判断一个字符串是否为普通回文、镜像回文或两者都不是。通过特定的字符映射表来实现字符串的镜像转换,并根据转换后的结果进行分类。 ... [详细]
  • 代码生成器实战教程:提升编程效率的利器
    本系列文章旨在通过一系列实践案例,详细介绍如何利用代码生成器提高开发效率。本文将引导您完成从下载安装到实际应用的全过程。 ... [详细]
  • 本文详细介绍了一种实现PopupWindow全屏显示且能有效隐藏虚拟按键的技术方案,适用于Android开发。此方法经过实际测试,表现良好,兼容性优秀。 ... [详细]
  • BeautifulSoup4 是一个功能强大的HTML和XML解析库,它能够帮助开发者轻松地从网页中提取信息。本文将介绍BeautifulSoup4的基本功能、安装方法、与其他解析工具的对比以及简单的使用示例。 ... [详细]
  • 本文介绍了如何使用Maven命令对Spring Boot项目中的子模块进行独立打包,包括依赖树的查看、项目的运行和打包等基本操作。 ... [详细]
  • 深入理解异步多线程编程模型
    现代计算机系统中的CPU通过并行处理提高效率,但所谓的并发处理实际上是一种基于轮询的模拟并行。本文探讨了现代处理器如何通过虚拟化技术实现更高的并发性能,以及在.NET框架中如何有效利用线程和异步编程模式。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有