目录
导库
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import missingno as msno # 缺失值处理可视化模块
载入数据
-
载入训练集测试集数据
-
简略观察数据(head,shape)
data = pd.read_csv('data.csv')
test = pd.read_csv('test.csv')
data.head().append(data.tail())
test.head().append(test.tail())
data.shape
test.shape
数据总览
-
数据相关统计量(describe)
-
数据类型(info)
data.describe()
test.describe()
data.info()
test.info()
判断数据缺失和异常
-
异常值检测(nan)
data.isnull().sum()
test.isnull().sum()
# nan可视化
missing = data.isnull().sum()
missing = missing[missing > 0]
missing.sort_values(inplace=True)
missing.plot.bar()
msno.matrix(data.sample(250),figsize=(10, 6))
# msno.matrix(data.sample(250),figsize=(10, 6),color=(0.5, 0.15, 0.65))
msno.bar(data.sample(500),figsize=(10, 6))
msno.matrix(test.sample(250),figsize=(10, 6))
msno.bar(test.sample(500),figsize=(10, 6))
data["Cabin"].value_counts() # 查看具体列的类别数量
查看预测值分布
-
总体分布概况(无界约翰逊分布等)
-
查看skewness, kurtosis
## 1) 总体分布概况(无界约翰逊分布等) 经约翰变换后服从正态分布的随机变量的概率分布
import scipy.stats as st
y = data['Survived']
plt.figure(1); plt.title('Johnson SU') # 约翰逊分布
sns.distplot(y, kde=False, fit=st.johnsonsu)
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偏度 和 kurtosis峰度
# 偏度: 是描述数据分布形态的统计量,其描述的是某总体取值分布的对称性,简单来说就是数据的不对称程度,绝对值越大表明数据分