学习内容:
载入各种数据科学以及可视化库:
- 数据科学库 pandas、numpy、scipy;
- 可视化库 matplotlib、seabon;
载入数据:
- 载入训练集和测试集;
- 简略观察数据(head()+shape);
数据总览:
- 通过describe()来熟悉数据的相关统计量
- 通过info()来熟悉数据类型
判断数据缺失和异常
- 查看每列的存在nan情况
- 异常值检测
了解预测值的分布
- 总体分布概况
- 查看skewness and kurtosis
- 查看预测值的具体频数
#了解数据是啥样子
import warnings
warnings.filterwarnings('ignore')
from warnings import simplefilter
simplefilter(action='ignore', category=FutureWarning)
train = pd.read_csv('data/train.csv')
test=pd.read_csv('data/testA.csv')
train.head()
print(train.head())
Train_data.head().append(Train_data.tail())#观察测试集的首尾数据
Train_data.shape
Test_data.head().append(Test_data.tail())
Test_data.shape
#查看数据的概况(包括均值、标准差等)
Train_data.describe()
Train_data.info()#通过info()来了解数据每列的type,有助于了解是否存在除了nan以外的特殊符号异常
Test_data.describe()
Test_data.info()
#判断数据缺失和异常
Train_data.isnull().sum()
Test_data.isnull().sum()
mport scipy.stats as st
y = Train_data['label']
#plt.figure(1)是新建一个名叫 Figure1的画图窗口
plt.figure(1);
plt.title('Default')
sns.distplot(y, rug=True, bins=20)
#正态分布normal
plt.figure(2);
plt.title('Normal')
sns.distplot(y, kde=False, fit=st.norm)
#对数正态分布lognormal
plt.figure(3);
plt.title('Log Normal')
sns.distplot(y, kde=False, fit=st.lognorm)
# 2)查看skewness and kurtosis
sns.distplot(Train_data['label']);
print("Skewness: %f" % Train_data['label'].skew())
print("Kurtosis: %f" % Train_data['label'].kurt())
#其他列的偏态和峰度
Train_data.skew(), Train_data.kurt()
sns.distplot(Train_data.kurt(),color='orange',axlabel ='Kurtness')
## 3) 查看预测值的具体频数
plt.hist(Train_data['label'], orientation = 'vertical',histtype = 'bar', color ='orange')
plt.show()