数据挖掘-(心跳信号分类预测)-task2

数据挖掘-(心跳信号分类预测)-task2

基础点

  • 分析数据,了解数据集结构
  • 变量间的相互关系以及变量与预测值之间的存在关系
  • 数据处理+特征工程
  • 数据探索分析

知识点

1 了解数据方法:
  1. 载入各类库:
    • 数据科学库pandas,numpy,scipy
    • 可视化库matplotlib,seabon
  2. 载入数据:
    • train、test
    • 观察数据结构(head()+shape)
  3. 数据总览:
    • describe() 数据相关统计量
    • info()熟悉数据类型
  4. 判断数据缺失、异常
    • 每列nan情况
    • 异常值检测
  5. 了解预测值分布
    • 总体分布
    • skewness and kurtosis
    • 预测值具体频数
2 seaborn库
  1. kdeplot:用于对单变量和双变量进行核密度估计并可视化

    • data:一维数组,单变量时作为唯一的变量
    • data2:格式同data2,单变量时不输入,双变量作为第2个输入变量
    • shade:bool型变量,用于控制是否对核密度估计曲线下的面积进行色彩填充,True代表填充
    • vertical:bool型变量,在单变量输入时有效,用于控制是否颠倒x-y轴位置
    • kernel:字符型输入,用于控制核密度估计的方法,默认为’gau’,即高斯核,特别地在2维变量的情况下仅支持高斯核方法
    • legend:bool型变量,用于控制是否在图像上添加图例
    • cumulative:bool型变量,用于控制是否绘制核密度估计的累计分布,默认为False
    • shade_lowest:bool型变量,用于控制是否为核密度估计中最低的范围着色,主要用于在同一个坐标轴中比较多个不同分布总体,默认为True
    • cbar:bool型变量,用于控制是否在绘制二维核密度估计图时在图像右侧边添加比色卡
    • color:字符型变量,用于控制核密度曲线色彩,同plt.plot()中的color参数,如’r’代表红色
    • cmap:字符型变量,用于控制核密度区域的递进色彩方案,同plt.plot()中的cmap参数,如’Blues’代表蓝色系
    • n_levels:int型,在而为变量时有效,用于控制核密度估计的区间个数,反映在图像上的闭环层数
  2. rugplot:绘制出一维数组中数据点实际的分布位置情况,即不添加任何数学意义上的拟合,单纯的将记录值在坐标轴上表现出来,相对于kdeplot,其可以展示原始的数据离散分布情况:

    • a:一维数组,传入观测值向量
    • height:设置每个观测点对应的小短条的高度,默认为0.05
    • axis:字符型变量,观测值对应小短条所在的轴,默认为’x’,即x轴
  3. distplot:绘制单变量的直方图,且还可以在直方图的基础上施加kdeplot和rugplot的部分内容

    • a:一维数组形式,传入待分析的单个变量
    • bins:int型变量,用于确定直方图中显示直方的数量,默认为None,这时bins的具体个数由Freedman-Diaconis准则来确定
    • hist:bool型变量,控制是否绘制直方图,默认为True
    • kde:bool型变量,控制是否绘制核密度估计曲线,默认为True
    • rug:bool型变量,控制是否绘制对应rugplot的部分,默认为False
    • fit:传入scipy.stats中的分布类型,用于在观察变量上抽取相关统计特征来强行拟合指定的分布,下文的例子中会有具体说明,默认为None,即不进行拟合
    • hist_kws,kde_kws,rug_kws:这几个变量都接受字典形式的输入,键值对分别对应各自原生函数中的参数名称与参数值,在下文中会有示例
    • color:用于控制除了fit部分拟合出的曲线之外的所有对象的色彩
    • vertical:bool型,控制是否颠倒x-y轴,默认为False,即不颠倒
    • norm_hist:bool型变量,用于控制直方图高度代表的意义,为True直方图高度表示对应的密度,为False时代表的是对应的直方区间内记录值个数,默认为False
    • label:控制图像中的图例标签显示内容
  4. jointplot:对成对变量的相关情况、联合分布以及各自的分布在一张图上集中呈现

    • x,y:代表待分析的成对变量,有两种模式,第一种模式:在参数data传入数据框时,x、y均传入字符串,指代数据框中的变量名;第二种模式:在参数data为None时,x、y直接传入两个一维数组,不依赖数据框
    • data:与上一段中的说明相对应,代表数据框,默认为None
    • kind:字符型变量,用于控制展示成对变量相关情况的主图中的样式
    • color:控制图像中对象的色彩
    • height:控制图像为正方形时的边长
    • ratio:int型,调节联合图与边缘图的相对比例,越大则边缘图越矮,默认为5
    • space:int型,用于控制联合图与边缘图的空白大小
    • xlim,ylim:设置x轴与y轴显示范围
    • joint_kws,marginal_kws,annot_kws:传入参数字典来分别精细化控制每个组件

个人需要补充的点

  1. 预测值分布
  2. 了解数据集基本思路,适当记一下套路

Q&A

  • 各类分析库,熟用

Code

#1载入data analysis 库
#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

#2载入数据
from pandas import Series
train = pd.read_csv('./train.csv')
train.head()
train.heartbeat_signals.head()
hbs = train.heartbeat_signals
hbs
f = hbs[0]
f
test = pd.read_csv('./testA.csv')
#观察train首尾数据
train.head().append(train.tail())
#观察数据集的行列信息
train.shape

#3数据总览
train.describe()
train.info()
train.info
test.describe()
test.info

#4判断数据缺失、异常
train.isnull().sum()
test.isnull().sum()
train['label']
train['label'].value_counts()

#5. 了解预测值分布
## 1) 总体分布概况(无界约翰逊分布等)
import scipy.stats as st
y = train['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)

# 2)查看skewness and kurtosis
sns.distplot(train['label']);
print("Skewness: %f" % train['label'].skew())
print("Kurtosis: %f" % train['label'].kurt())

## 3) 查看预测值的具体频数
plt.hist(train['label'], orientation = 'vertical',histtype = 'bar', color ='red')
plt.show()

参考:

  1. https://blog.csdn.net/sunghosts/article/details/109972183
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值