心跳信号分类预测(二)数据分析

EDA(Exploratory Data Analysis)

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

目录

加载分析所用的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")
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值