Task 02 数据分析 小白自学

Task 2 数据分析

赛题:心电图心跳信号多分类预测

学习目标

  • 熟悉数据集,了解数据集,对数据集进行验证来确定所获得数据集可以用于接下来的机器学习或者深度学习使用

  • 了解变量间的相互关系以及变量与预测值之间的存在关系

  • 完成对于数据的探索性分析,并对于数据进行一些图表或者文字总结

  • 掌握基础的查看数据基本信息的方法

2.1 导入各种数据科学以及可视化库、载入数据
import warnings
warnings.filterwarnings('ignore')
import missingno as msno
import pandas as pd
from pandas import DataFrame, Series
import matplotlib.pyplot as plt 
import seaborn as sns
import numpy as np
Train_data = pd.read_csv('./train.csv')
Test_data = pd.read_csv('./testA.csv')
2.2 熟悉数据的简单信息
Train_data.head().append(Train_data.tail())     #观察首尾数据
idheartbeat_signalslabel
000.9912297987616655,0.9435330436439665,0.764677…0.0
110.9714822034884503,0.9289687459588268,0.572932…0.0
221.0,0.9591487564065292,0.7013782792997189,0.23…2.0
330.9757952826275774,0.9340884687738161,0.659636…0.0
440.0,0.055816398940721094,0.26129357194994196,0…2.0
99995999951.0,0.677705342021188,0.22239242747868546,0.25…0.0
99996999960.9268571578157265,0.9063471198026871,0.636993…2.0
99997999970.9258351628306013,0.5873839035878395,0.633226…3.0
99998999981.0,0.9947621698382489,0.8297017704865509,0.45…2.0
99999999990.9259994004527861,0.916476635326053,0.4042900…0.0
Train_data.shape    #观察行列信息
(100000, 3)
Train_data.describe()     #观察相关统计量
idlabel
count100000.000000100000.000000
mean49999.5000000.856960
std28867.6577971.217084
min0.0000000.000000
25%24999.7500000.000000
50%49999.5000000.000000
75%74999.2500002.000000
max99999.0000003.000000
Train_data.info()    #获取数据类型
<class 'pandas.core.frame.DataFrame'>
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
2.3 查看数据缺失
Train_data.isnull().sum()     #统计数据中的空值数量
id                   0
heartbeat_signals    0
label                0
dtype: int64
2.4 了解预测值的分布
Train_data['label'].value_counts()    #查看预测值的分布
0.0    64327
3.0    17912
2.0    14199
1.0     3562
Name: label, dtype: int64
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)

[图略,在记事本写的markdown文件,还不懂得如何导入图片]

sns.distplot(Train_data['label'])         #查看skewness and kurtosis       
print("Skewness: %f" % Train_data['label'].skew())
print("Kurtosis: %f" % Train_data['label'].kurt())
(id       0.000000
 label    0.871005
 dtype: float64,
 id      -1.200000
 label   -1.009573
 dtype: float64)
sns.distplot(Train_data.kurt(),color='orange',axlabel ='Kurtness')

[再次图略]

2.5 学习总结

该阶段的目标是了解手中的训练数据集的组成,检查是否存在训练模型不友好的数据,为接下来的数据预处理做好铺垫,确认好大致的操作思路。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值