热门标签 | 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:]

 

技术分享图片


推荐阅读
  • 在第七天的深度学习课程中,我们将重点探讨DGL框架的高级应用,特别是在官方文档指导下进行数据集的下载与预处理。通过详细的步骤说明和实用技巧,帮助读者高效地构建和优化图神经网络的数据管道。此外,我们还将介绍如何利用DGL提供的模块化工具,实现数据的快速加载和预处理,以提升模型训练的效率和准确性。 ... [详细]
  • 在Android 4.4系统中,通过使用 `Intent` 对象并设置动作 `ACTION_GET_CONTENT` 或 `ACTION_OPEN_DOCUMENT`,可以从相册中选择图片并获取其路径。具体实现时,需要为 `Intent` 添加相应的类别,并处理返回的 Uri 以提取图片的文件路径。此方法适用于需要从用户相册中选择图片的应用场景,能够确保兼容性和用户体验。 ... [详细]
  • 微软推出Windows Terminal Preview v0.10
    微软近期发布了Windows Terminal Preview v0.10,用户可以在微软商店或GitHub上获取这一更新。该版本在2月份发布的v0.9基础上,新增了鼠标输入和复制Pane等功能。 ... [详细]
  • 在使用Eclipse进行调试时,如果遇到未解析的断点(unresolved breakpoint)并显示“未加载符号表,请使用‘file’命令加载目标文件以进行调试”的错误提示,这通常是因为调试器未能正确加载符号表。解决此问题的方法是通过GDB的`file`命令手动加载目标文件,以便调试器能够识别和解析断点。具体操作为在GDB命令行中输入 `(gdb) file `。这一步骤确保了调试环境能够正确访问和解析程序中的符号信息,从而实现有效的调试。 ... [详细]
  • 本项目通过Python编程实现了一个简单的汇率转换器v1.02。主要内容包括:1. Python的基本语法元素:(1)缩进:用于表示代码的层次结构,是Python中定义程序框架的唯一方式;(2)注释:提供开发者说明信息,不参与实际运行,通常每个代码块添加一个注释;(3)常量和变量:用于存储和操作数据,是程序执行过程中的重要组成部分。此外,项目还涉及了函数定义、用户输入处理和异常捕获等高级特性,以确保程序的健壮性和易用性。 ... [详细]
  • SQLmap自动化注入工具命令详解(第28-29天 实战演练)
    SQL注入工具如SQLMap等在网络安全测试中广泛应用。SQLMap是一款开源的自动化SQL注入工具,支持12种不同的数据库,具体支持的数据库类型可在其插件目录中查看。作为当前最强大的注入工具之一,SQLMap在实际应用中具有极高的效率和准确性。 ... [详细]
  • 在一系列的学习与实践后,Jsoup学习笔记系列即将进入尾声。本文详细介绍了如何使用Jsoup实现从Saz文件到Csv格式的数据解析功能。未来,计划将此功能进一步封装,开发成具有用户界面的独立应用程序,以增强其实用性和便捷性。对于希望深入掌握Jsoup技术的开发者,本文提供了宝贵的参考和实践案例。 ... [详细]
  • 本文详细介绍了 Sublime Text 3 在 2021 年的激活密钥及其在线激活方法。用户可以通过提供的链接访问云海天教程,获取更多详细的激活码信息和操作步骤。此外,文章还提供了安全可靠的激活方案,帮助用户顺利激活软件,提升编程效率。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • importpymysql#一、直接连接mysql数据库'''coonpymysql.connect(host'192.168.*.*',u ... [详细]
  • 第二十五天接口、多态
    1.java是面向对象的语言。设计模式:接口接口类是从java里衍生出来的,不是python原生支持的主要用于继承里多继承抽象类是python原生支持的主要用于继承里的单继承但是接 ... [详细]
  • 如何高效启动大数据应用之旅?
    在前一篇文章中,我探讨了大数据的定义及其与数据挖掘的区别。本文将重点介绍如何高效启动大数据应用项目,涵盖关键步骤和最佳实践,帮助读者快速踏上大数据之旅。 ... [详细]
  • 如何在 Node.js 环境中将 CSV 数据转换为标准的 JSON 文件格式? ... [详细]
  • 在循环读取文本文件时,经常会遇到一些常见的错误,如日期格式不正确、文件路径错误等。本文详细分析了这些问题,并提供了具体的解决方法,包括如何正确处理日期字符串和确保文件路径的准确性。通过这些方法,可以有效提高数据读取的稳定性和可靠性。 ... [详细]
  • 在该项目中,参与者需结合历史使用模式和天气数据,以预测华盛顿特区自行车共享系统的租赁需求。数据分析部分首先涉及数据的收集,包括用户骑行记录和气象信息,为后续模型构建提供基础。通过深入的数据预处理和特征工程,确保数据质量和模型准确性,最终实现对自行车租赁需求的有效预测。 ... [详细]
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社区 版权所有