机器学习中常见的数据分析,处理方式(以泰坦尼克号为例)

数据分析

  • 读取数据
  • 查看数据各个参数信息
  • 查看有无空值
  • 如何填充空值
  • 一些特殊字段如何处理
  • 读取数据
    • 查看数据中的参数信息
    • 实操
      • 具体问题具体分析
      • 年龄问题
    • 重新划分数据集
    • 如何删除含有空白值的行
    • 根据条件删除一些行
    • 查看特征和标签的相关性

读取数据

查看数据各个参数信息

查看有无空值

如何填充空值

一些特殊字段如何处理

读取数据

train=pd.read_csv('train.csv')
test=pd.read_csv('test.csv')
datas = pd.concat([train, test], ignore_index = True)
# 获取数据集

查看数据中的参数信息

我们可以使用head函数比如使用train.head()就可以查看到训练集中的数据,默认前五行
train.head()

在这里插入图片描述
我们可以使用shape函数比如使用train.shape就可以查看到训练集中行列数量

train.shape
#(891, 12)891行,12列
我们可以使用info函数比如使用train.info()就可以查看到数据中,每一行的类型和空行
train.info()

在这里插入图片描述
由以上数据可以看出Age,Fare,Cabin,Embarked,几列中数据有空值,应进行相应的填充

  • 填充情况当填充目标缺失很多时,建议直接删除
  • 当填充对象不多的时候,如果目标时数字型,如年龄,身高,价格,可以用中位数,或者众数,平均值。如果对象很重要建议使用随机森林构建模型预测填充。
  • 如果填充值是字符型缺失了一部分,不多也不少,建议将缺失的一部分单独设置为一类。

实操

通过info获知了那些列是空的,因此我们要把空列中的那些行查出,方便后续操作。

# Embarked 填充港口参数
# 查看港口那一列空值行
datas[datas['Embarked'].isnull()]

在这里插入图片描述

具体问题具体分析

根据人员信息看出,是两名女性,船票是一等票,建议填充为存活率高的港口分类。

#填充数据集中Embarked列的空白行为C
datas['Embarked'] = datas['Embarked'].fillna('C')

年龄问题

首先寻找特征,使用目标对象的年龄,性别,船票,训练一个模型,然后有那个模型

from sklearn.ensemble import RandomForestRegressor
ages = datas[['Age', 'Pclass','Sex']]
ages=pd.get_dummies(ages)
known_ages = ages[ages.Age.notnull()].values
unknown_ages = ages[ages.Age.isnull()].values
y = known_ages[:, 0]
X = known_ages[:, 1:]
rfr = RandomForestRegressor(random_state=60, n_estimators=100, n_jobs=-1)
rfr.fit(X, y)
pre_ages = rfr.predict(unknown_ages[:, 1::])
datas.loc[ (datas.Age.isnull()), 'Age' ] = pre_ages

重新划分数据集

从中取出关键列,或者认为构建的关键列
axis默认为0代表行,axis=1则使用列

#合并两个集合
datas=pd.concat([train, test])
#从集合中取出关键的列,有些是人为构建的
datas=datas[['Survived','Pclass','Sex','Age','Fare','Embarked','Title','Fam_type','Board','Ticketlabels']]
#将类别数据转换为向量
datas=pd.get_dummies(datas)
#train是有存活数据的数据集
train=datas[datas['Survived'].notnull()]
#test是没有没有存活信息的数据集,并且删除掉Survived那一列
test=datas[datas['Survived'].isnull()].drop('Survived',axis=1)
# X的值不包含第0列,从第一列开始到后面的所有列
X = train.values[:,1:]
# y仅有一列,就是Survived 第0列,用作模型的训练
y = train.values[:,0]
#fit(X,y)
#训练的数据是X,验证的结果集是y

如何删除含有空白值的行

如果数据集非常大,而这些缺失项很少,建议直接删除,该行

datas.dropna(axis=0, how='any')

根据条件删除一些行

从train数据集中删除票价大于的行

train = train.drop(index= train[train.Fare>= 700].index, axis=0)

查看特征和标签的相关性

train.corr()['Survived']

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2981620.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【iOS开发】(六)react Native 路由嵌套传参与框架原理(完)20240423

【iOS开发】(六)react Native 路由嵌套传参与框架原理(完)20240423 感谢拉钩教育的教学。 (五)我们介绍了四种路由导航,这一节我们介绍他们的嵌套传参和框架的整体原理。到这里,大家已经能用RN框架进行一些…

电商价格监测的价值是什么

品牌做电商价格监测的原因多是为了渠道管控,即控价,管控价格前需要对渠道中的价格数据进行监测,通过监测价格,对渠道中低价数据进行全面的了解,如有授权低价率,非授权低价率,非授权低价店铺的总…

python与上位机开发day02

1.常见运算符 1.1 赋值运算符 赋值运算符主要用来对变量进行赋值,包括如下这些: 运算符描述赋值加等于-减等于*乘等于/除等于//整除等于%模等于**幂等于 实例如下: a 10 a 5 # 等价于 a a5 a *2 # 等价于 a a*21.2 比较运算符 比较运算符主要用来比较两个数据的大小…

Windows 搭建自己的大模型-通义千问

1、安装 pytorch https://pytorch.org/get-started/locally/ 点击进入官网,如图选择自己的环境得到pip安装依赖的命令: pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cpu 2、拉取代码并安…

QA测试开发工程师面试题满分问答20: 软件的安全性应从哪几个方面去测试?

软件的安全性测试应从多个方面进行,并确保覆盖以下关键方面: 当回答问题时,可以根据自己的经验和知识,从上述要点中选择适合的方面进行详细说明。强调测试的综合性、全面性和持续性,并强调测试的重要性以及如何与开发团…

AIGC-stable-diffusion(文本生成图片)+PaddleHub/HuggingFace

功能 stable-diffusion(文本生成图片)PaddleHub,HuggingFace两种调用方式 PaddleHub 环境 pip install paddlepaddle-gpu pip install paddlehub 代码 from PIL import Image import paddlehub as hub module hub.Module(namestable_diffusion)## 保存在demo…

spring高级篇(二)

1、Aware和InitializingBean Aware和InitializingBean都与Bean的生命周期管理相关。 Aware接口: 概念: Aware接口是Spring框架中的一个标记接口,它表示一个类能够感知到(aware of)Spring容器的存在及其特定的环境。Spring框架提供了多个Awar…

jackson.dataformat.xml 反序列化 对象中包含泛型

重点: JacksonXmlProperty localName 指定本地名称 JacksonXmlRootElement localName 指定root的根路径的名称,默认值为类名 JsonIgnoreProperties(ignoreUnknown true) 这个注解写在类上,用来忽略在xml中有的属性但是在类中没有的情况 Jack…

索引的最左匹配原则

索引的最左匹配原则 我们先创建一张测试表,表的两个字段用来创建联合索引 CREATE TABLE test(id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,col1 INT,col2 INT,col3 INT );CREATE INDEX idx_c1c2 ON test(col1, col2);现在我们就可以分析查询sql脚本了 1.使用联合索…

CentOS 7.9.2007 中Docker使用GPU

一、安装nvidia驱动 1.1,查看显卡驱动 # 查看显卡型号 lspci | grep -i nvidia 1.2,进入 PCI devices ,输入上一步查询到的 2204 1.3,进入 官方驱动 | NVIDIA,查询 Geforce RTX 3090 驱动并下载 1.4,禁用…

《XR806开发板试用》硬件IIC驱动MPU6050

1.环境配置 总结一下遇到的问题: 1.需要修改配置文件中的文件路径 2.固件编译出现以下问题时,需要修改文件内容 2.工程目录结构 device/xradio/xr806/ohosdemo/car_demo └── src #源文件 └── main.c #主函数 └── mpu6050.c #驱动代码 └…

国产PLC有哪些,哪个牌子比较好用?

你知道国产PLC有哪些吗,哪个牌子更好用吗? 今天拿出国产先锋的汇川与台达对比,注:视频后方有各品牌学习资料免费送,需要的移步自取。话说回来,只要基于Codesys开发的都比较好用,只是使用底层芯片不同&…

MACOS降级

一、下载MACOS 点击下载 注意只能跳转到商店下载,直接搜不到的。 二、格式化U盘 名称尽量取简单点等会要用 三、创建可引导的 macOS 安装器(U盘) Sonoma sudo /Applications/Install\ macOS\ Sonoma.app/Contents/Resources/createins…

SpringBoot 集成redisson

上篇我们聊了:如何查看redisson-spring-boot-starter和SpringBoot 对应版本 redisson介绍 Redisson是Redis Java客户端和实时数据平台。它提供了使用Redis更方便、更简单的方法。Redisson对象提供了一种关注点分离,使您能够专注于数据建模和应用程序逻辑…

代码随想录算法训练营DAY36|C++贪心算法Part.5|435.无重叠区间、763.划分字母区间、56. 合并区间

文章目录 435.无重叠区间按右边界排序CPP代码 按左边界排序如何判断相邻区间是否重叠如何判断一下一个区间与当前相邻区间是否重叠总结CPP代码 763.划分字母区间思路伪代码实现CPP代码 56. 合并区间思路CPP代码 435.无重叠区间 力扣题目链接 文章链接:435.无重叠区间…

对象与JSON字符串互转

1、JSON字符串转化成JSON对象 JSONObject jsonobject JSON.parseObject(str); 或者 JSONObject jsonobject JSONObject.parseObject(str); 功能上是一样的,都是将JSON字符串(str)转换成JSON对象 jsonobject 。注意str一定得是以键值对存在…

AppleWatch是真的能够减少我iPhone的使用时长

我应该是比较专情的果粉了,我有一台MacBook Pro、iPad Pro、airpods pro 2和iPhone 15 Pro Max。但我还从来没有用过苹果手表。 然后,我就去买了AppleWatchSeries9蜂窝款,并试用了一周,我想知道它是否能帮助我减少使用iPhone的时间…

remote: HTTP Basic: Access deniedfatal: Authentication failed for

$ git push -u origin main remote: HTTP Basic: Access denied fatal: Authentication failed for https://gitcode.com/edenl/GD32E350_hid_keyboard.git/ 使用访问令牌做为密码登录即可。

Laravel 6 - 第十五章 验证器

​ 文章目录 Laravel 6 - 第一章 简介 Laravel 6 - 第二章 项目搭建 Laravel 6 - 第三章 文件夹结构 Laravel 6 - 第四章 生命周期 Laravel 6 - 第五章 控制反转和依赖注入 Laravel 6 - 第六章 服务容器 Laravel 6 - 第七章 服务提供者 Laravel 6 - 第八章 门面 Laravel 6 - …

100个实用电气知识

在当今社会,电力作为日常生活和工作中不可或缺的能源,扮演着越来越重要的角色。为了更好地利用电力资源,了解电气知识成为了越来越多人的需求。在电气领域,有很多实用的知识,这些知识对于从事电气工作的人来说是非常重…