这是天池学习赛工业蒸汽量预测的代码实现过程,代码源于天池。个人经过学习,将相关代码进行了一定解释,以及附加了相关的知识连接。
数据分析
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from scipy import stats
在python中运行代码经常会遇到的情况是——代码可以正常运行但是会提示警告 python通过调用warnings模块中定义的warn()函数来发出警告。我们可以通过警告过滤器进行控制是否发出警告消息。
import warnings
warnings.filterwarnings("ignore")
接下来开始导入数据
train_data = pd.read_table('./zhengqi_train.txt',encoding='utf-8')
test_data = pd.read_table('./zhengqi_test.txt',encoding='utf-8')
print(train_data.info())
print(test_data.info())
print(train_data.describe())
print(test_data.describe())
这里利用了pandas工具包中的相关函数。
接下来可以对数据进行可视化
fig=plt.figure(figsize=(4,6))
sns.boxplot(train_data['V0'],orient="v",width=0.5)
plt.show()
column=train_data.columns.tolist()[:39]
fig=plt.figure(figsize=(80,60),dpi=75)
for i in range(38):
plt.subplot(7,8,i+1)
sns.boxplot(train_data[column[i]],orient='v',width=0.5)
plt.ylabel(column[i],fontsize=10)
plt.show()
可以发现,存在一些异常数据。 箱型图相关介绍 sns.boxplot相关API介绍
直方图与Q-Q图绘制
plt.figure(figsize=(10,5))
ax=plt.subplot(1,2,1)
sns.distplot(train_data['V0'],fit=stats.norm)
ax=plt.subplot(1,2,2)
res = stats.probplot(train_data['V0'], plot=plt)
plt.show()
Q-Q图简介 如果数据呈正态分布,则所有点都会落在直线上。  显然属性V0并不满足正态分布。 接着我们可以绘制所有属性的图。
在这里插入代码片
|