《python数据分析与挖掘实战》笔记第3章腾讯云开发者社区

数据质量分析是数据挖掘中数据准备过程的重要一环,是数据预处理的前提,也是数据挖掘分析结论有效性和准确性的基础,没有可信的数据,数据挖掘构建的模型将是空中楼阁。

数据质量分析的主要任务是检查原始数据中是否存在脏数据,脏数据一般是指不符合要求,以及不能直接进行相应分析的数据。

在常见的数据挖掘工作中,脏数据包括如下内容:

缺失值的处理分为删除存在缺失值的记录、对可能值进行插补和不处理。

异常值是指样本中的个别值,其数值明显偏离其余的观测值。异常值也称为离群点,异常值的分析也称为离群点的分析。

代码清单3-1,餐饮销售额数据异常值检测代码

销量count200.000000mean2755.214700std751.029772min22.00000025%2451.97500050%2655.85000075%3026.125000max9106.440000其中count是非空值数,通过len(data)可以知道数据的记录为201条,因此缺失值数为1。另外提供的基本参数还有平均值(mean)、标准差(std)、最小值(min)、最大值(max)以及1/4、1/2、3/4分位数(25%、50%、75%)。

分布分析能揭示数据的分布特征和分布类型。对于定量数据,欲了解其分布形式是对称的还是非对称的,发现某些特大或特小的可疑值,可通过绘制频率分布表、绘制频率分布直方图、绘制茎叶图进行直观地分析;对于定性分类数据,可用饼图和条形图直观地显示分布情况。

对于定量变量而言,选择“组数”和“组宽”是做频率分布分析时最主要的问题,一般按照以下步骤进行。

1)求极差。2)决定组距与组数。3)决定分点。4)列出频率分布表。5)绘制频率分布直方图。

遵循的主要原则如下。1)各组之间必须是相互排斥的。2)各组必须将所有的数据包含在内。3)各组的组宽最好相等。

对于定性变量,常常根据变量的分类类型来分组,可以釆用饼图和条形图来描述定性变量的分布。

对比分析主要有以下两种形式。

(1)绝对数比较绝对数比较是利用绝对数进行对比,从而寻找差异的一种方法。

(2)相对数比较相对数比较是由两个有联系的指标对比计算的,用以反映客观现象之间数量联系程度的综合指标,其数值表现为相对数。由于研究目的和对比基础不同,相对数可以分为以下几种。

1)结构相对数:将同一总体内的部分数值与全部数值对比求得比重,用以说明事物的性质、结构或质量。如居民食品支出额占消费支出总额比重、产品合格率等。2)比例相对数:将同一总体内不同部分的数值进行对比,表明总体内各部分的比例关系。如人口性别比例、投资与消费比例等。3)比较相对数:将同一时期两个性质相同的指标数值进行对比,说明同类现象在不同空间条件下的数量对比关系。如不同地区商品价格对比,不同行业、不同企业间某项指标对比等。4)强度相对数:将两个性质不同但有一定联系的总量指标进行对比,用以说明现象的强度、密度和普遍程度。如人均国内生产总值用“元/人”表示,人口密度用“人/平方公里”表示,也有用百分数或千分数表示的,如人口出生率用%。表示。5)计划完成程度相对数:是某一时期实际完成数与计划数的对比,用以说明计划完成程度。6)动态相对数:将同一现象在不同时期的指标数值进行对比,用以说明发展方向和变化的速度。如发展速度、增长速度等。

用统计指标对定量数据进行统计描述,常从集中趋势和离中趋势两个方面进行分析。

平均水平的指标是对个体集中趋势的度量,使用最广泛的是均值和中位数;反映变异程度的指标则是对个体离开平均水平的度量,使用较广泛的是标准差(方差)、四分位间距。

(1)均值均值是所有数据的平均值。

作为一个统计量,均值的主要问题是对极端值很敏感。如果数据中存在极端值或者数据是偏态分布的,那么均值就不能很好地度量数据的集中趋势。为了消除少数极端值的影响,可以使用截断均值或者中位数来度量数据的集中趋势。截断均值是去掉高、低极端值之后的平均数。

(2)中位数中位数是将一组观察值按从小到大的顺序排列,位于中间的那个数。即在全部数据中,小于和大于中位数的数据个数相等。

⑶众数众数是指数据集中出现最频繁的值。众数并不经常用来度量定性变量的中心位置,更适用于定性变量。众数不具有唯一性。当然,众数一般用于离散型变量而非连续型变量。

(1)极差极差=最大值一最小值

极差对数据集的极端值非常敏感,并且忽略了位于最大值与最小值之间的数据的分布情况。

(2)标准差标准差度量数据偏离均值的程度

(3)变异系数变异系数度量标准差相对于均值的离中趋势

变异系数主要用来比较两个或多个具有不同单位或不同波动幅度的数据集的离中趋势。

(4)四分位数间距四分位数包括上四分位数和下四分位数。将所有数值由小到大排列并分成四等份,处于第一个分割点位置的数值是下四分位数,处于第二个分割点位置(中间位置)的数值是中位数,处于第三个分割点位置的数值是上四分位数。

四分位数间距,是上四分位数QU,与下四分位数QL之差,其间包含了全部观察值的一半。其值越大,说明数据的变异程度越大;反之,说明变异程度越小。

代码清单3-2,餐饮销量数据统计量分析代码

贡献度分析又称帕累托分析,它的原理是帕累托法则,又称20/80定律。同样的投入放在不同的地方会产生不同的效益。例如,对一个公司来讲,80%的利润常常来自于20%最畅销的产品,而其他80%的产品只产生了20%的利润。

代码清单3-3,菜品盈利帕累托图代码

散点图矩阵如图3-12所示。

一般用于分析两个连续性变量之间的关系,其计算公式如下。

因为一个变量的相同的取值必须有相同的秩次,所以在计算中采用的秩次是排序后所在位置的平均值。

方法名

函数功能

所属库

sum()

计算数据样本的总和(按列计算)

Pandas

mean()

计算数据样本的算术平均数

var()

计算数据样本的方差

std()

计算数据样本的标准差

corr()

cov()

计算数据样本的协方差矩阵

skew()

样本值的偏度(三阶矩)

kurt()

样本值的峰度(四阶矩)

describe()

给出样本的基本描述(基本统计量如均值、标准差等)

样本D可为DataFrame,返回协方差矩阵;Sl.cov(S2),SI、S2均为Series,这种格式指定计算两个Series之间的协方差。

实例:计算6x5随机矩阵的协方差矩阵。

代码清单3-6,计算6x5随机矩阵的协方差矩阵

#-*-coding:utf-8-*-#计算6x5随机矩阵的协方差矩阵importpandasaspdimportnumpyasnpD=pd.DataFrame(np.random.randn(6,5))#产生6X5随机矩阵D.cov()#计算协方差矩阵result=D[0].cov(D[1])#计算第一列和第二列的协方差print(result)skew/kurt功能:计算数据样本的偏度(三阶矩)/峰度(四阶矩)。使用格式:D.skew()/D.kurt()

计算样本D的偏度(三阶矩)/峰度(四阶矩)。样本D可为DataFrame或Series。

实例:计算6x5随机矩阵的偏度(三阶矩)/峰度(四阶矩)。

代码清单3-7,计算6x5随机矩阵的偏度(三阶矩)/峰度(四阶矩)

表3-9Pandas累积统计特征函数

cumsum()

依次给出前1、2、…、n个数的和

cumprod()

依次给出前1、2、…、n个数的积

cummax()

依次给出前1、2、…、n个数的最大值

cummin()

依次给出前1、2、…、n个数的最小值

表3-10Pandas累积统计特征函数

rolling_sum()

计算数据样本的总和(按列计算)

rolling_mean()

数据样本的算术平均数

rolling_var()

rolling_std()

rolling_corr()

rolling_cov()

rolling_skew()

样本值的偏度(三阶矩)

rolling_kurt()

样本值的峰度(四阶矩)

其中,cum系列函数是作为DataFrame或’Series对象的方法而出现的,因此命令格式为D.cumsum(),而rolling_系列是pandas的函数,不是DataFrame或Series对象的方法,因此,它们的使用格式为pd.rolling_mean(D,k),意思是每k列计算一次均值,滚动计算。

实例:

D=pd.Series(range(0,20))#构造Series,内容为0~19共20个整数D.cumsum()#给出前n项和pd.rolling_sum(D,2)#依次对相邻两项求和3.3.3、统计作图函数通过统计作图函数绘制的图表可以直观地反映出数据及统计量的性质及其内在规律,如盒图可以表示多个样本的均值,误差条形图能同时显示下限误差和上限误差,最小二乘拟合曲线图能分析两变量间的关系。表3-11Python主要统计作图函数

作图函数名

作图函数功能

所属工具箱

plot()

绘制线性二维图,折线图

Matplotlib/Pandas

pie()

绘制饼型图

hist()

绘制二维条形直方图,可显示数据的分配情形

boxplot()

绘制样本数据的箱形图

plot(logy=True)

绘制y轴的对数图形

plot(yen=error)

绘制误差条形图

在作图之前,通常要加载以下代码。

功能:绘制线性二维图、折线图。使用格式:

这里使用的是DataFrame或Series对象内置的方法作图,默认以Index为横坐标,每列数据为纵坐标自动作图,通过kind参数指定作图类型,支持line(线)、bar(条形)、barh、hist(直方图)、box(箱线图)、kde(密度图)和area、pie(饼图)等,同时也能够接受plt.plot()中接受的参数。因此,如果数据已经被加载为Pandas中的对象,那么以这种方式作图是比较简洁的。

实例:在区间(0=

代码清单3-8,绘制一条蓝色的正弦虚线

功能:绘制饼型图。使用格式:plt.pie(size)使用Matplotlib绘制饼图,其中size是一个列表,记录各个扇形的比例。pie有丰富的参数,详情请参考下面的实例。

实例:通过向量[15,30,45,10]画饼图,注上标签,并将第2部分分离出来。绘制结果

代码清单3-9,画饼图

实例:绘制二维条形直方图,随机生成有1000个元素的服从正态分布的数组,分成10组绘制直方图。绘制结果如图3-15所示。

代码清单3-10,二维条形直方图

有两种比较简单的方式绘制D的箱形图,其中一种是直接调用DataFrame的boxplot()方法;另外一种是调用Series或者DataFrame的plot()方法,并用kind参数指定箱形图(box)。其中,盒子的上、下四分位数和中值处有一条线段。箱形末端延伸出去的直线称为须,表示盒外数据的长度。如果在须外没有数据,则在须的底部有一点,点的颜色与须的颜色相同。

实例:绘制样本数据的箱形图,样本由两组正态分布的随机数据组成。其中,一组数据均值为0,标准差为1,另一组数据均值为1,标准差为1。绘制结果如图3-16所示。

代码清单3-11,箱形图

对x轴(y轴)使用对数刻度(以10为底),y轴(X轴)使用线性刻度,进行plot函数绘图,D为Pandas的DataFrame或者Series。

实例:构造指数函数数据使用plot(logy=True)函数进行绘图,绘制结果如图3-17所示。

代码清单3-12,指数函数plot图

绘制误差条形图。D为Pandas的DataFrame或Series,代表着均值数据列,而error则是误差列,此命令在y轴方向画出误差棒图;类似地,如果设置参数xerr=error,则在x轴方向画出误差棒图。

THE END
1.数据分析之数据预处理分析建模可视化数据分析的过程通常包括数据预处理、分析建模和可视化三个主要阶段。以下是每个阶段的简要说明: 数据预处理: 数据预处理是数据分析过程中的一个重要步骤,它涉及到对原始数据进行清洗、整理、转化等操作,以便更好地进行后续的分析和建模。数据预处理的具体步骤包括: https://blog.csdn.net/qq_24373725/article/details/135990727
2.数据分析之数据预处理数据建模数据可视化51CTO博客数据分析之数据预处理、数据建模、数据可视化,数据预处理的目的是去除数据中的噪声、修正错误、填补缺失值,并对数据进行标准化和归一化等操作,以提高数据的质量和可用性。https://blog.51cto.com/mecode/9936632
3.Python数据分析与应用:从数据获取到可视化《Python数据分析与应用:从数据获取到可视化》是高校大数据专业(云计算、人工智能)的一门校定必修专业基础课,涉及科学计算库NumPy、数据分析工具Pandahttps://developer.huawei.com/consumer/cn/training/course/introduction/C101679709787670118
4.常用数据分析工具优劣势对比SAS是我使用的最多的数据分析工具,SAS公司也是世界上最大的商业化数据分析公司。SAS拥有自己的语言,需要编程,数据预处理、建模、数据可视化都不在话下,强大的单机处理能力,我曾在自己的笔记本上处理过30亿行的数据(但是也很慢,基本一晚上,不过其它软件基本都卡死)。SAS的缺点主要是安装包太大(十几G,还容易安装失败https://www.niaogebiji.com/article-112900-1.html
5.Scanpy分析单细胞数据:预处理和聚类Scanpy 是一个基于 Python 单细胞数据分析软件包,内容包括预处理,可视化,聚类,拟时序分析和差异表达分析等。在单细胞数据过多时,使用R进行一些单细胞分析比如monocle等即使使用服务器会出现内存不足的情况,而Scanpy则能很好的解决这个问题。 官网:https://scanpy-tutorials.readthedocs.io/en/latest/pbmc3k.html https://www.jianshu.com/p/4154710c0761
6.《R语言数据分析与可视化从入门到精通》(程乾)简介书评学R语言、练语法、取数据、预处理、可视化、交互图、重实战……一书在手,精通R语言数据分析与可视化! 作者:程乾,刘永,高博出版社:北京大学出版社出版时间:2020年09月 手机专享价 ¥ 当当价降价通知 ¥75.50 定价 ¥119.00 配送至 北京市东城区 http://product.dangdang.com/29136211.html
7.科学网—基于社会媒体数据增强的交通态势感知研究及进展针对这些特殊性,不同的研究者提出了不同的方法,但基本遵循以下框架:数据采集,数据预处理,数据表示,数据过滤,关联分析,事件位置提取,效果评估,事件描述及可视化。下面分别介绍其中使用的关键技术。 1.1 数据采集 从社会媒体上采集数据的方法主要有两种:①使用平台提供的应用程序接口(application programming interface,API)https://blog.sciencenet.cn/blog-2374-1348759.html
8.python哪个库可以用于数据分析?Worktile社区总之,pandas是Python中最常用的数据分析库,它提供了丰富的数据结构和数据操作功能,可以帮助用户快速、高效地进行数据分析。无论是数据清洗、数据筛选、数据聚合、数据可视化还是数据导入导出,pandas都可以提供强大的支持。因此,对于进行数据分析的用户来说,学习和掌握pandas库是非常重要的。 https://worktile.com/kb/ask/101815.html
9.仿真数据管理与分析.pptx数据预处理与清洗 数据分析方法与技巧 数据可视化技术 仿真数据应用案例 数据管理挑战与未来趋势 结论与建议目录 仿真数据概述仿真数据管理与分析 仿真数据概述1.仿真数据是指通过数学模型、仿真模型等手段模拟实际系统或过程而产生的数据。2.仿真数据可以按照来源、用途、精度等多种方式进行分类。3.不同的仿真数据类型对https://max.book118.com/html/2023/1204/7134102165006013.shtm
10.基于ECharts的数据可视化分析组件设计实现AET流水线模型作为最早期的传统数据可视化流程模型,在各个方面比较完善地揭示了整个可视化流程的进程,从最开始对于原始数据的数据分析到对于预处理数据的过滤处理,再到对于需求的关注数据映射为几何数据,最后绘制成可视化表现图形。这一套流水线实际上嵌套了对于处理数据和绘制图形之间方式进程的组合。具体模型如图1所示。 http://www.chinaaet.com/article/3000023541/
11.数据挖掘与可视化西南财经大学1第一章 数据挖掘概述 1.1 数据挖掘概述 2第二章 数据获取 2.1 本地数据的读取 2.2 网络在线数据爬取 3第三章 数据探索 3.1 数据的特征与统计描述 3.2 数据可视化 3.3 数据的相关性和相似性度量 4第四章 数据预处理 4.1 数据清洗原理和方法 https://www.xuetangx.com/course/swufe0809bt1528/19324838
12.数据可视化有哪些功能通过数据可视化,可以快速发现数据中的异常和离群值。这对于数据清洗和数据预处理非常有用,可以帮助排除数据中的噪声和错误,并提高后续数据分析的准确性和可靠性。 3.分析趋势和变化 通过数据可视化,可以分析数据的趋势和变化,例如随时间的变化、不同地区的变化等。这有助于发现数据的变化规律和趋势,从而进行更准确的https://www.linkflowtech.com/news/3070
13.JMP数据分析的微博医学统计分析入门:数据的高效导入、清洗与预处理 7月13日 20:00-21:00,足不出户,聆听冯国双博士的精彩分享! ?收藏 转发 评论 ?1 c +关注 JMP数据分析 2023-6-15 13:54 来自微博weibo.com 6月29日14:00-15:00 ,JMP线上直播课程将带你一起解锁工程师常用的10种数据可视化图形,从数据探https://www.weibo.com/jmpchina