【天池学习赛】工业蒸汽量预测 - 【1】赛题理解 和【2】数据探索


【1】赛题理解

1、下载数据,查看数据集,得到target
2、评估指标为:MSE(均方误差)

from sklearn.metrics import mean_squared_error
y_test = [1,2,3]
y_predict = [1.2, 2.1, 3.2]
mean_squared_error(y_test, y_predict)
# 输出
0.030000000000000023

3、判断赛题模型:本题为回归问题

【2】数据探索

1、相关性计算:

import numpy as np
x = np.array([25,45,65,28,95,45])
y = np.array([12,45,12,4,45,45])
y1 = np.array([25,45,65,28,95,44])
y2 = np.array([25,45,65,28,95,45])
a = np.corrcoef(x,y)
b = np.corrcoef(x,y1)
c = np.corrcoef(x,y2)
display(a,b,c)
输出:
array([[1.        , 0.49859058],
       [0.49859058, 1.        ]])
array([[1.        , 0.99987943],
       [0.99987943, 1.        ]])
array([[1., 1.],
       [1., 1.]])
相关性结果表示的意思
0-0.09无相关
0.1-0.3弱相关
0.3-0.5中等相关
0.5-1.0强相关

2、卡方验证

用的是sklearn中的iris数据集,使用卡方验证 筛选与target相关的特征

from sklearn.datasets import load_iris
from sklearn.feature_selection import SelectKBest
from sklearn.feature_selection import chi2
iris = load_iris()
X,y = iris.data, iris.target
chiValues = chi2(X,y)
X_new = SelectKBest(chi2, k = 2).fit_transform(X,y)

(输出结果太多了,就不展示了)
sklearn库的iris数据集地址

3、缺失值处理

3.1、删除
①成列删除
特征:如果一行中有空值,则删除掉那一行的信息

性别年龄
F 【删除】NULL 【删除】
F23
M 【删除】NULL【删除】
NULL【删除】26【删除】
M67
M12

②成对删除
特征:如果有空值,只删除那一个区域的空值,其他值不变

性别年龄
FNULL【删除】
F23
MNULL【删除】
NULL【删除】26
M67
M12

3.2 平均值,中位数,众数填充
一般是非缺失值的中值或者平均值来填充

3.3 预测值填充
数据集分为俩份:

训练集没有缺失值
测试集存在缺失值

不足:①预测出来的值有可能过于“规范”,就是咱也不清楚模型用的对不对,值出来的结果只是更加符合我们自己选择的模型,而不是真真正正的随机数字
②如果变量之间没有关系,得到的缺失值会不准确

4、异常值处理
异常值的出现一般是会有极其不寻常的平均值标准差
一般用可视化的方式去进行异常值检测(箱型图,直方图,散点图)

引用 - 维基百科箱型图图片在这里插入图片描述

处理方法:
①删除:与上述一致(俩种删除方式)
②转换:比如对数据取对数可以减轻由极值引起的变化
③补充:
自然形成的异常值:与填充一样
人为造成的异常值:使用预测模型
④区别对待:
异常值过多的情况(一般很少)
数据分为异常组和非异常组,俩组分别建立模型将数据合并输出

5、变量转换
出现的原因:将数据进行分布展示,如果发现数据存在不均匀现象,将数据进行对数变换,即可让其均匀分布。
转换的方法:

转换方法说明备注
非线性 ~> 线性最常见:对数变换适用于右倾斜分布,不适合 含有0或者负数
倾斜分布对称右倾斜:平方根,立方根或对数; 左倾斜:平方,立方或指数不适合很小的数据集
变量分组根据不同的目标 把变量分成不同的组超高维逻辑回归就是采取one-hot编码

6、新的变量生成
基于现有的变量生成新的变量(新变量可能有更好的相关性)

6.1 派生变量:从现有的数据中创建
例子:现在要调查缺失的人群值,可以分为四种(结婚的男性,女性,未婚的男性,女性)

6.2 创建哑变量:将类别型数据转化为数值型变量
例子:性别中存在男性和女性,将其变为:Var_male和Var_female,这俩个数据用0或者1来表示是男性或者女性

本文的全部理解源于《阿里云天池大赛塞梯解析》-机器学习篇

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bessie_Lee_gogogo

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值