我是靠谱客的博主 多情柚子,最近开发中收集的这篇文章主要介绍心跳信号分类预测(二)数据分析EDA(Exploratory Data Analysis),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

EDA(Exploratory Data Analysis)

对已有的数据(特别是调查或观察得来的原始数据)在尽量少的先验假定下进行探索,通过作图、制表、方程拟合、计算特征量等手段探索数据的结构和规律的一种数据分析方法。

文章目录

  • EDA(Exploratory Data Analysis)
      • 目录
    • 1.导入训练集与测试集,并观察首尾信息
    • 2.查看数据集统计量、数据类型
    • 3.判断异常值、缺失值:使用isnull函数查看每列是否存在nan
    • 4.查看数据的总体分布情况
    • 5.查看skewness and kurtosis
    • 6.查看预测值频数
    • 7.生成数据报告

目录

加载分析所用的python库

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

1.导入训练集与测试集,并观察首尾信息

使用head、tail函数查看首尾信息,shape函数查看行列数

Train_data = pd.read_csv('./train.csv')
Test_data = pd.read_csv('./testA.csv')
Train_data.head().append(Train_data.tail())#观察收尾数据
Train_data.shape#查看行列信息

在这里插入图片描述
在这里插入图片描述
查看testA信息

Test_data.head().append(Test_data.tail())

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

2.查看数据集统计量、数据类型

descirbe函数查看各列的统计量,查看数据的大致范围,同时可以根据最大最小值判断是否含有特殊值。
info函数查看各列的数据类型,判断是否有异常数据

Train_data.describe()
Test_data.describe()
Train_data.info
Test_data.info()

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

3.判断异常值、缺失值:使用isnull函数查看每列是否存在nan

Train_data.isnull().sum()
Test_data.isnull().sum()

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

4.查看数据的总体分布情况

代码使用了seaborn库,Seaborn是基于matplotlib的Python可视化库。 它提供了一个高级界面来绘制有吸引力的统计图形。Seaborn其实是在matplotlib的基础上进行了更高级的API封装。

核密度估计(kernel density estimation)是在概率论中用来估计未知的密度函数,属于非参数检验方法之一。核密度估计方法不利用有关数据分布的先验知识,对数据分布不附加任何假定,是一种从数据样本本身出发研究数据分布特征的方法

seaborn库的displot()函数集合了matplotlib的hist()#直方图函数与核函数估计kdeplot的功能,增加了rugplot分布观测条显示与利用scipy库fit拟合参数分布的新颖用途。具体用法如下:

seaborn.distplot(a,bins=None,hist=True,kde=True, rug=False, fit=None, hist_kws=None, kde_kws=None, rug_kws=None, fit_kws=None, color=None, vertical=False, norm_hist=False, axlabel=None, label=None, ax=None)

通过hist和kde参数调节是否显示直方图及核密度估计(默认hist,kde均为True)
fit参数控制拟合的参数分布图形,能够直观地评估它与观察数据的对应关系

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')
#fit=norm拟合表准的正态分布(即图中黑色线)
sns.distplot(y, kde=False, fit=st.norm)
plt.figure(3); plt.title('Log Normal')
#fit=lognorm拟合对数正态分布(即图中黑色线)
sns.distplot(y, kde=False, fit=st.lognorm)

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

5.查看skewness and kurtosis

偏度(skewness),是统计数据分布偏斜方向和程度的度量,是统计数据分布非对称程度的数字特征。偏度定义中包括正态分布(偏度=0),右偏分布(也叫正偏分布,其偏度>0),左偏分布(也叫负偏分布,其偏度<0)。(衡量偏离正态的程度)

峰度(peakedness;kurtosis)又称峰态系数。表征概率密度分布曲线在平均值处峰值高低的特征数。直观看来,峰度反映了峰部的尖度。
一般地:正态分布的峰度(系数)为常数3,均匀分布的峰度(系数)为常数1.8

sns.distplot(Train_data['label']);
print("Skewness: %f" % Train_data['label'].skew())
print("Kurtosis: %f" % Train_data['label'].kurt())
Train_data.skew(), Train_data.kurt()
sns.distplot(Train_data.kurt(),color='orange',axlabel ='Kurtness')

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

6.查看预测值频数

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

在这里插入图片描述

7.生成数据报告

import pandas_profiling
pfr = pandas_profiling.ProfileReport(Train_data)
pfr.to_file("./example.html")

最后

以上就是多情柚子为你收集整理的心跳信号分类预测(二)数据分析EDA(Exploratory Data Analysis)的全部内容,希望文章能够帮你解决心跳信号分类预测(二)数据分析EDA(Exploratory Data Analysis)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(82)

评论列表共有 0 条评论

立即
投稿
返回
顶部