数据分析--零基础入门数据挖掘2

Task 02 探索性数据分析(EDA)

学习要求

  • EDA的价值主要在于熟悉数据集,了解数据集,对数据集进行验证来确定所获得数据集可以用于接下来的机器学习或者深度学习使用。
  • 当了解了数据集之后我们下一步就是要去了解变量间的相互关系以及变量与预测值之间的存在关系。
  • 引导数据科学从业者进行数据处理以及特征工程的步骤,使数据集的结构和特征集让接下来的预测问题更加可靠。
  • 完成对于数据的探索性分析,并对于数据进行一些图表或者文字总结并打卡。

数据背景

https://tianchi.aliyun.com/competition/entrance/531883/information.(零基础入门数据挖掘-心跳信号分类预测)

数据载入

由于课程练习使用的是天池的实时在线数据分析工具,在开始之前需要安装两个库。
pandas库

  • 数据分析工具
pip install pandas_profiling --user

missingno库

  • 可视化缺失值
pip install missingno --user
导入数据科学库以及可视化库

--------------载入各种数据科学以及可视化库-----------

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

------------------------------载入数据-------------------------

#'xinlv/train.csv'为数据存储路径
Train_data=pd.read_csv('xinlv/train.csv')
Test_data=pd.read_csv('xinlv/testA.csv')

-----------------------------总览数据-------------------------
观察训练数据head(),tail()

Train_data.head().append(Train_data.tail())

在这里插入图片描述
观察训练数据的shape

Train_data.shape

在这里插入图片描述
观察测试数据head(),tail()

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

在这里插入图片描述
观察测试数据的shape
在这里插入图片描述
describe():熟悉数据的相关统计量

  • count:数量统计,此列共有多少有效值
  • unipue:不同的值有多少个
  • std:标准差
  • min:最小值
  • 25%:四分之一分位数
  • 50%:二分之一分位数
  • 75%:四分之三分位数
  • max:最大值
  • mean:均值
#训练数据
Train_data.describe()

在这里插入图片描述

#测试数据
Test_data.describe()

在这里插入图片描述

info():熟悉数据类型

通过info()来了解数据每列的type,有助于了解是否存在除了nan以外的特殊符号异常。

#训练数据
Train_data.info()

在这里插入图片描述

#测试数据
Test_data.info()

在这里插入图片描述

-------------------------缺失值和异常值----------------------
缺失值:查看每列的存在nan情况

#训练数据
Train_data.isnull().sum()

在这里插入图片描述

#测试数据
Test_data.isnull().sum()

在这里插入图片描述
查看训练数据集的标签

Train_data['label']

在这里插入图片描述

Train_data['label'].value_counts()

在这里插入图片描述
查看

import scipy.stats as st
import seaborn as sns
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)

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

Train_data.skew(),Train_data.kurt()

在这里插入图片描述

sns.distplot(Train_data.kurt(),color='orange',axlabel='Kurtness')

在这里插入图片描述

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

在这里插入图片描述

sns.distplot(Train_data['label'])
print('Skewness: %f' % Train_data['label'].skew())
print('Kurtosis: %f' % Train_data['label'].kurt())

在这里插入图片描述
生成example.html的文件

import pandas_profiling
data_train=Train_data
pfr=pandas_profiling.ProfileReport(data_train)
pfr.to_file('xinlv/example.html')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值