天池-工业蒸汽量排放预测1

天池-工业蒸汽量排放预测1

链接:工业蒸汽量预测_学习赛_赛题与数据_天池大赛-阿里云天池的赛题与数据 (aliyun.com)

数据探索

变量识别

通过变量类型,数据类型等方面分析,常见的有:字符型变量,数值型变量,连续性变量,类别性变量

变量分析

单变量分析

连续性变量需要统计数据的中心分布趋势与变量分布

类别性变量使用频次或者占比表示每一个类别的分布情况。可用柱状图可视化分布情况

双变量分析

双变量分析主要是为了洞察各变量之间的关系

1. 连续型与连续型

  • 绘制散点图观察是线性还是非线性
  • 计算相关性

散点图如下所示:

2. 类别性与类别性

  • 双向表,建立频次(次数)与频率(占比)的表格
  • 堆叠柱状图,更直观
  • 卡方检验,用于两个和两个以上样本率及两个二值型离散变量的关联性分析,即比较理论频次与实际频次的吻合程度

3. 类别性与连续性

  • 小提琴图,可以在分析变量在不同类别时,另一个连续变量的分布情况,如下图

缺失值处理

产生原因就不说了,反正没啥实际用处,tmd都得处理,处理办法如下:

1. 删除:成列删除和成对(行)删除

2. 平均值,众数,中值填补:最常用的办法

3. 建立模型填充:好处:规范;坏处:模型有问题就G

异常值处理

异常值的影响为增加错误方差,降低模型的拟合能力

1. 如何检测?(异常值通常取决于业务理解)

  • 箱线图

2. 处理办法

  • 删除:很小或很少的直接删
  • 转化:如取对数,减少极值影响
  • 填充:平均值,中值等,前提是人为的,模型预测也可
  • 区别对待:真的很多就正常的分一组,异常的分一组,然后模型合并

变量转换

对变量的分布不平均的时候,需要对变量的取值区间进行转换,使其落在合理的区间内。如下,当需要基于正态分布假设前提的模型的时候, 进行对数转换

1. 方法

  • 对数转换:右转左,左转右,负或非零不能转
  • 取平方根或立方根:有波形影响
  • 变量分组

新变量生成

目的是为了与目标变量有更好的相关性

1. 方法

  • 创建派生变量:将Mr,Mrs,Miss作为新变量
  • 哑变量

常用函数与作图

# 读取txt,\t为分隔
data = pd.read_csv('url', sep='\t', encoding='?')
# 查看基本信息
data.info()
# 查看统计信息
data.describe()
# 箱线图
fig = plt.figure(figsize=(4, 6))
sns.boxplot(train_data['V0'], orient='v', width=0.5)

筛选出异常值

# 直方图
plt.figure(figsize=(10, 5))
ax = plt.subplot(1, 2, 1)
sns.distplot(train_data['V0'], fit=stats.norm)
# q-q图,查看是否符合正态发布
ax = plt.subplot(1, 2, 1)
res = stats.probplot(train_data['V0'], plot=plt)

非正态分布的数据可以进行数据变换

# KDE,对直方图的加窗平滑
plt.figure(figsize=(8,4), dpi=150)
ax = sns.kdeplot(train_data['V0'], color='Red', shade=True)
ax = sns.kdeplot(test_data['V0'], color='Blue', shade=True)
ax.set_xlabel('V0')
ax.set_ylabel('Frequency')
ax = ax.legend(['train', 'test'])

在test和train中如果分布不一致,模型的泛化能力会变差,需要删除

# 线性回归关系图,分析变量之间的线性回归关系
fcols = 2
frows = 1
plt.figure(figsize=(8, 4), dpi=150)

ax = plt.subplot(1, 2, 1)
sns.regplot(x='V0', y='target', data=train_data, ax=ax,
      scatter_kws={'marker':'.', 'alpha':0.3},
      line_kws={'color':'k'})
plt.xlabel('V0')
plt.ylabel('target')

ax = plt.subplot(1, 2, 2)
sns.distplot(train_data['V0'].dropna())
plt.xlabel('V0')

plt.show()

对于那些相关性不怎么重要的,就可以直接删去了

Box-Cox

转换为正态分布形式。该变换方法可以使线性回归方程在满足线性,正态性,独立性及方差齐性的同时还,又不丢失信息。需要先做归一化在B-C变换

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇