数据挖掘HeartbeatClassification——数据分析

article/2025/10/13 1:16:56

如同计算机视觉中一样,在训练目标识别的网络之前,会对图片进行预处理,如 裁切,旋转、放大缩小,以加强网络的泛化能力。在数据挖掘中,我们首先要做的就是对拥有的数据进行分析( 涉及到《概率论与数理分析》的知识 ),这里我们可以利用一些好的数据科学库和可视化库如 pandas、numpy、matplotlib等来辅助数据分析的工作。

目录

    • 1.载入需要的各种库
      • 1.1 缺失库的安装
    • 2.观测数据的首尾信息
      • 2.1 查询语句
    • 3.洞悉数据总概况
      • 3.1 describe()
      • 3.2 info()
    • 4.数据的是否缺失和异常 以及 预测值的分布
      • 4.1 isnull()
      • 4.2 预测值分布
      • 4.2.1 数据分布概况
      • 4.2.2 数据的偏度和峰度
      • 4.2.3 预测值的具体频数

1.载入需要的各种库

#coding:utf-8
#导入warnings包,利用过滤器来实现忽略警告语句。
import warnings
warnings.filterwarnings('ignore')
import missingno as msno
from pandas import DataFrame
import seaborn as sns
import numpy as np
import pandas as pd
from pandas import DataFrame, Series
import matplotlib.pyplot as plt

1.1 缺失库的安装

A.直接利用命令安装

conda install 库名
pip install 库名

B.利用anaconda这个软件平台下载
首先需要注意的是要切换好自己要用的虚拟环境
然后直接搜索 库名 ,再点击Apply即可,如下图
在这里插入图片描述

2.观测数据的首尾信息

以训练集为例,观察是否有连贯的错误(如 数据类型不对,数据缺失,数据值不符等)出现,而在首部没有出现,所以有必要查看一下。

import pandas as pd
from pandas import DataFrame, Series
import matplotlib.pyplot as plt
Train_data = pd.read_csv('./train.csv')
Train_data.head().append(Train_data.tail())
Train_data.shape

这里需要注意的是文件的读取,选择是相对路径还是绝对路径
数据展示

id                        heartbeat_signals                       label
0          0  0.9912297987616655,0.9435330436439665,0.764677...    0.0
1          1  0.9714822034884503,0.9289687459588268,0.572932...    0.0
2          2  1.0,0.9591487564065292,0.7013782792997189,0.23...    2.0
3          3  0.9757952826275774,0.9340884687738161,0.659636...    0.0
4          4  0.0,0.055816398940721094,0.26129357194994196,0...    2.0
99995  99995  1.0,0.677705342021188,0.22239242747868546,0.25...    0.0
99996  99996  0.9268571578157265,0.9063471198026871,0.636993...    2.0
99997  99997  0.9258351628306013,0.5873839035878395,0.633226...    3.0
99998  99998  1.0,0.9947621698382489,0.8297017704865509,0.45...    2.0
99999  99999  0.9259994004527861,0.916476635326053,0.4042900...    0.0(100000, 3)

2.1 查询语句

data.head().append(data.tail())——观察首尾数据
data.shape——观察数据集的行列信息

3.洞悉数据总概况

这里会使用 pandas库中的describe() 和 info() 这两个函数来对数据进行一个总概况的观察。
以训练集为例

3.1 describe()

通过describe() 可以获取数据的相关统计量,如 个数count、平均值mean、方差std、最小值min、中位数25% 50% 75% 、最大值。这些指标可以帮我迅速掌握数据的表征范围和是否有异常值出现。

print(Train_data.describe())
id          label
count  100000.000000  100000.000000
mean    49999.500000       0.856960
std     28867.657797       1.217084
min         0.000000       0.000000
25%     24999.750000       0.000000
50%     49999.500000       0.000000
75%     74999.250000       2.000000
max     99999.000000       3.000000

3.2 info()

print(Train_data.info)
id                     heartbeat_signals  						  label
0          0  0.9912297987616655,0.9435330436439665,0.764677...    0.0
1          1  0.9714822034884503,0.9289687459588268,0.572932...    0.0
2          2  1.0,0.9591487564065292,0.7013782792997189,0.23...    2.0
3          3  0.9757952826275774,0.9340884687738161,0.659636...    0.0
4          4  0.0,0.055816398940721094,0.26129357194994196,0...    2.0
...      ...                                                ...    ...
99995  99995  1.0,0.677705342021188,0.22239242747868546,0.25...    0.0
99996  99996  0.9268571578157265,0.9063471198026871,0.636993...    2.0
99997  99997  0.9258351628306013,0.5873839035878395,0.633226...    3.0
99998  99998  1.0,0.9947621698382489,0.8297017704865509,0.45...    2.0
99999  99999  0.9259994004527861,0.916476635326053,0.4042900...    0.0[100000 rows x 3 columns]>

测试集的信息

print(Test_data.info())
RangeIndex: 20000 entries, 0 to 19999
Data columns (total 2 columns):#   Column             Non-Null Count  Dtype 
---  ------             --------------  ----- 0   id                 20000 non-null  int64 1   heartbeat_signals  20000 non-null  object
dtypes: int64(1), object(1)
memory usage: 312.6+ KB

4.数据的是否缺失和异常 以及 预测值的分布

4.1 isnull()

缺失值直接用 pandas的isnull()判断即可

Train_data.isnull().sum()
id                   0
heartbeat_signals    0
label                0
dtype:             int64

4.2 预测值分布

Train_data['label']
0        0.0
1        0.0
2        2.0
3        0.0
4        2.0... 
99995    0.0
99996    2.0
99997    3.0
99998    2.0
99999    0.0
Name: label, Length: 100000, dtype: float64
Train_data['label'].value_counts()
0.0    58883
4.0    19660
2.0    12994
1.0     6522
3.0     1941
Name: label, dtype: int64

4.2.1 数据分布概况

import scipy.stats as st
y = Train_data['label']
plt.figure(1); plt.title('Default')
sns.distplot(y, rug=True, bins=20)
plt.figure(2); plt.title('Normal')
sns.distplot(y, kde=False, fit=st.norm)
plt.figure(3); plt.title('Log Normal')
sns.distplot(y, kde=False, fit=st.lognorm)
plt.show()

在这里插入图片描述
在这里插入图片描述

4.2.2 数据的偏度和峰度

偏度百科:
正态分布的偏度为0,两侧尾部长度对称。若以bs表示偏度。bs<0称分布具有负偏离,也称左偏态,此时数据位于均值左边的比位于右边的少,直观表现为左边的尾部相对于与右边的尾部要长,因为有少数变量值很小,使曲线左侧尾部拖得很长;bs>0称分布具有正偏离,也称右偏态,此时数据位于均值右边的比位于左边的少,直观表现为右边的尾部相对于与左边的尾部要长,因为有少数变量值很大,使曲线右侧尾部拖得很长;而bs接近0则可认为分布是对称的。若知道分布有可能在偏度上偏离正态分布时,可用偏离来检验分布的正态性。右偏时一般算术平均数>中位数>众数,左偏时相反,即众数>中位数>平均数。正态分布三者相等。
在这里插入图片描述
峰度百科:用来度量随机变量概率分布的陡峭程度
在这里插入图片描述

sns.distplot(Train_data['label']);
print("Skewness: %f" % Train_data['label'].skew())
print("Kurtosis: %f" % Train_data['label'].kurt())
Skewness: 0.871005
Kurtosis: -1.009573

4.2.3 预测值的具体频数

plt.hist(Train_data['label'], orientation = 'vertical',histtype = 'bar', color ='red')
plt.show()

在这里插入图片描述


http://chatgpt.dhexx.cn/article/YKuQRZrt.shtml

相关文章

javaScript数据可视化

文章目录 canvas画布介绍绘制线段起始点设置其他点设置&#xff08;可以有多个&#xff09;划线方法 属性填充线段颜色线段宽度线段例子 绘制矩形第一种方式&#xff1a;第二种方式矩形例子 绘制圆形圆形例子 清除画布清除例子 绘制文字属性 svg介绍&#xff1a;基本的svg元素例…

Python交互式数据分析报告框架:Dash

译者序 原文于2017年6月21日发布&#xff0c;时过半载&#xff0c;将这篇既不是教程&#xff0c;也不是新闻的产品发布稿做了一番翻译&#xff0c;为何&#xff1f;只因去年下半年的时候&#xff0c;用R语言的博哥和龙少有Shiny这样的框架可以开发交互式整合Web数据分析报告&am…

【数据可视化】免费开源BI工具 DataEase 之血缘关系分析

近期&#xff0c;DataEase 发布的版本 V1.8 版本中&#xff0c;在系统管理模块新增了血缘分析功能&#xff0c;可以支持对数据源、数据集、仪表板做关联分析&#xff0c;支持按表格查看和按关系图查看&#xff0c;并且在删除数据源、数据集时&#xff0c;也支持查看对应的血缘分…

数据分析与数据可视化的完成,需要了解一下这四款JS库

四款出色的JavaScript库&#xff0c;帮助大家更为轻松地完成数据分析与可视化工作&#xff0c;具体如下&#xff1a; Data-Driven-Documents (D3.js) 在讨论JavaScript数据分析时忽略掉Data-Driven-Documents (D3)&#xff0c;就如同在谈论微软时忽略掉其操作系统 样。 Data-D…

数据挖掘之关联分析(实验展示以及源代码)

数据挖掘之关联分析 算法实现&#xff1a;Apriori算法和FP-growth 算法源代码 简单描述下&#xff0c;关联分析概念 关联分析概念主要参考下面的博文 原文&#xff1a;https://blog.csdn.net/qq_40587575/article/details/81022350 关联分析是从大量数据中发现项集之间有趣的…

【数据分析入门】python数据分析-探索性数据分析之多因子与对比分析可视化

文章目录 多因子与对比分析可视化理论基础假设检验与方差检验假设检验方差检验 相关系数:皮尔逊、斯皮尔曼回归:线性回归PCA与奇异值分解 代码实践交叉分析分组分析相关分析因子分析 总结代码实现 相关性线性回归PCA注意&#xff1a;sklearn中pca用的方法是奇异值分解的方法&am…

数据分析系列之挖掘建模

经过数据探索与数据预处理,得到了可以直接建模的数据,根据挖掘目标和数据形式可以建立分类与预测,聚类分析,关联规则,时序模式和偏差检测等模型,帮助企业提取数据中的商业价值. 分类与预测 对于之前的背景假设,餐饮企业会经常遇到如下问题: 如何基于菜品历史销售情况,以及节…

【大数据分析与挖掘】挖掘建模之关联分析

文章目录 一、关联规则1.1 常用的关联规则算法1.2 Apriori算法介绍1.2.1 关联规则与频繁项集1.2.2 Apriori算法的思想与性质1.2.3 Apriori算法的实现的两个过程1.2.4 Apriori算法的实现案例 一、关联规则 关联规则分析也成为购物篮分析&#xff0c;最早是为了发现超市销售数据…

Hands-on-data-analysis 动手数据分析

动手数据分析笔记 第一章 第一节 数据载入及初步观察 数据载入 df pd.read_csv(file_path)df2 pd.read_table(file_path)read_csv 函数 见CSDN 博客&#xff1a; https://blog.csdn.net/weixin_39175124/article/details/79434022 问&#xff1a;read_csv 和 read_table …

python数据分析-因子分析(转载)

python数据分析-因子分析&#xff08;转载&#xff09; &#xff08;获取更多知识&#xff0c;前往前往我的wx ————公z号 &#xff08;程式解说&#xff09; 原文来自python数据分析-因子分析

ThreeJs 数据可视化学习扫盲

一&#xff1a;前言 数据可视化是一个跨领域的行业&#xff0c;其中包含了图形学、数学、视觉传达等专业领域。 下图罗列出了一个简单的学习方向。 二&#xff1a;可视化方案以及学习路线 目前采用的是比较成熟&#xff0c;社区活跃度更高的Three.js&#xff0c;它是一个开源…

数据处理以及Hive数据分析

数据处理以及Hive数据分析 一、pandas进行数据预处理【1】待处理的一部分数据【2】原始数据文件的格式说明【3】数据预处理要求【4】 处理完成的数据字段说明【5】 实验方法使用pandas进行数据预处理 【6】解析题意【7】代码展示&#xff08;1&#xff09;读取文件&#xff08;…

Python交互式数据分析报告框架~Dash介绍

原文作者&#xff1a;Plotly,Chris Pamer 原文链接&#xff1a; https://link.jianshu.com/?thttps%3A%2F%2Fmedium.com%2F%40plotlygraphs%2Fintroducing-dash-5ecf7191b503 译者序&#xff1a;原文于2017年6月21日发布&#xff0c;时过半载&#xff0c;将这篇既不是教程…

CESI: Canonicalizing Open Knowledge Bases using Embeddings and Side Information

开放性知识库的规范化&#xff08;个人理解&#xff1a;这里的规范化实际上就是将相同语义的实体或关系聚集在一起&#xff0c;从而表示一个实体或关系&#xff09;&#xff0c;主要是OPENie提取的过程中没有进行区分&#xff0c;最近的研究发现&#xff0c;开放KBS的规范化实际…

计算机一级仿宋gb2312,仿宋gb2312字体

一般情况下&#xff0c;这款软件在试用的过程可能还有点小问题&#xff0c;但是正所谓瑕不掩瑜&#xff0c;相信用不了多久&#xff0c;只要程序猿给力点&#xff0c;这种小小的反馈不爽就可以解决。 仿宋gb2312字体字体简介 仿宋_GB2312字体是印刷字体的一种 &#xff0c;仿照…

Supervisor部署(离线部署需要提前下载部署包)

1.软件准备 下载tar包&#xff1a;wget https://pypi.python.org/packages/source/s/supervisor/supervisor-3.1.3.tar.gz 解压&#xff1a;tar -xvf supervisor-3.1.3.tar.gz 进入解压包&#xff1a;cd supervisor-3.1.3 开始安装&#xff1a;python setup.py install 下载me…

Docker 学习之 Docker 容器数据卷

容器数据卷 什么是容器数据卷 docker 理念回顾 将应用和环境打包成一个镜像&#xff01; 问题&#xff1a;数据&#xff1f;如果数据都在容器中&#xff0c;那么我们删除容器&#xff0c;数据就会丢失&#xff01;需求&#xff1a;数据可以持久化&#xff01; 容器之前可以…

Supervisor 安装与配置

文章目录 Supervisor 安装与配置一、介绍二、名词释义三、Supervisor 安装三、Supervisor 配置四、启动控制终端五、注册为系统服务六、管理界面1、管理界面的弊端 Supervisor 安装与配置 一、介绍 ​ Supervisor 是用Python开发的一个 client/server 服务&#xff0c;是Linu…

使用Cesi+Supervisor实现进程管理

使用CesiSupervisor实现进程管理 相信很多的运维小伙伴都是饱受进程丢失的痛苦&#xff0c;最怕半夜被手机吵醒&#xff0c;那一定是经理想你 不管进程是前台运行还是后台静默运行&#xff0c;我们都需要能监控其进程状态。 原因有三&#xff1a; 一&#xff0c;在意外结束时…

echarts学习笔记1

可视化面板介绍 ​ 应对现在数据可视化的趋势&#xff0c;越来越多企业需要在很多场景(营销数据&#xff0c;生产数据&#xff0c;用户数据)下使用&#xff0c;可视化图表来展示体现数据&#xff0c;让数据更加直观&#xff0c;数据特点更加突出。 [外链图片转存失败,源站可能…