内容介绍
1.载入各种数据科学以及可视化库:
- 数据科学库pandas、numpy、scipy;
- 可视化库matplotlib、seabon;
2.载入数据:
- 载入训练集和测试集
- 简略观察数据(head()+shape);
3.数据总览:
- 通过describe()来熟悉数据的相关统计量
- 通过info()来熟悉数据类型
4.判断数据缺失和异常
- 查看mei’lie 的存在空情况
- 异常值检测
5.了解预测值的分布
- 总体分布概况
- 查看skewness and kurtosis
- 查看预测值的具体频数
代码示例
载入各种数据科学与可视化库
import warnings
warnings.filterwarnings('ignore')
import missingno as msno
import pandas as pd
from pandas import DataFrame
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
载入训练集和测试集
导入训练集train_csv
path=r'D:\比赛\数据挖掘心电图'
Train_data = pd.read_csv(path+'/train.csv')
导入测试集数据
Test_data = pd.read_csv(path+'/testA.csv')
print(Train_data.shape)
print(Train_data)
观察训练集首尾数据
Train_data.head().append(Test_data.head())
观察测试集数据的首尾部
Test_data.head().append(Test_data.tail())
要养成看数据集的head()以及shape的习惯,这会让你每一步更放心,导致接下里的连串的错误, 如果对自己的pandas等操作不放心,建议执行一步看一下,这样会有效的方便你进行理解函数并进行操作
总览数据概况
- describe种有每列的统计量,个数count、平均值mean、方差std、最小值min、中位数25% 50% 75% 、以及最大值 看这个信息主要是瞬间掌握数据的大概的范围以及每个值的异常值的判断,比如有的时候会发现999 9999 -1 等值这些其实都是nan的另外一种表达方式,有的时候需要注意下
- info 通过info来了解数据每列的type,有助于了解是否存在除了nan以外的特殊符号异常
data.describe()
——获取数据的相关统计量
data.info()
——获取数据类型
获取train数据的相关统计量
Train_data.describe()
获取train数据类型
Train_data.info
获取test数据的相关统计量
Test_data.describe()
获取test数据的数据类型
Test_data.info
判断数据缺失和异常
data.isnull().sum()
——查看每列的存在nan情况
查看train每列存在的nan值情况
Train_data.isnull().sum()
查看test每列数据存在的nan值情况
Test_data.isnull().sum()
了解预测值的分布
Trian_data['label']
Train_data['label'].value_counts()
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)
plt.show()
不同种label数据统计
plt.hist(Train_data['label'], orientation = 'vertical',histtype = 'bar', color ='red')
plt.show()