链家数据 经验报告 数据处理流程 谷

#数据要求
Y 正态
1.对数变换
2.数据切割

#数据处理
顺序数据直接数值化:有条件可以做哑元化

分类数据哑元化–虚拟化–onehot (m个, m-1个)
如果方程有常数项 哑元化 m-1个
如果方程没有常数项 哑元化 m个

衍生变量:

异常值:
离散型: 根据业务定
连续型: 3倍标准差,1.5倍IQR, DBScan密度聚类
处理:删除,作为缺失值,连续型异常值特多————离散化

缺失值:
离散型: 众数 自成一类(无),上下条数据的值(相关变量排序),填充KNN数据,填充模型预测的值

  连续型:均值 中位数 固定值,上下条数据的值(相关变量排序),插值得到的数据(序列.interpolate()),填充KNN数据,填充模型预测的值

#特征选择
1.直接法
离散特征:一种取值占比太大(90%),不参与建模
连续特征:方差或标准差太小

2.绘图
离散数据 柱图(x为离散值,y为因变量的中位)
连续数据 散点图(x为连续数据, y为因变量)

3 单元(单变量)法
因变量为连续型(单价)
相关系数, 单因素方差分析
from sklearn.feature_selection import f_classif HO: mu1 = mu2 = mu3(无影响) ,H1:不全相等
#单因素方差分析 返回值 统计量,P-value

from sklearn.feature_selection import f_regression H0: P(总体相关系数) =0 (不相关)
#相关性检验 返回值 统计量,P-value

#两处检验
1.方程检验 : H0: 各特征系数都为 0
2.系数检验 : H0: 某一特征系数为 0

#回归诊断 ols
残差(真实-预测)正态 独立 方差齐 多重共线性(vif 容忍度)
#Durbin-Watson: 越接近2越独立(独立性诊断)
#Jarque-Bera (JB) 正态性检验 H0: 正态 Prob(JB):
#Prob(Omnibus): 方差齐性诊断 H0: 齐性

检验多重共线性
1. 方差扩大因子VIF 大于 10 存在多重共线性
from statsmodels.stats.outliers_influence import variance_inflation_factor
vif = pd.DataFrame()
vif[“VIFFactor”] = [variance_inflation_factor(x.values,i)for i in range(特征数据集合.shape[1])]
vif[“features”]=x.columns

2. 容忍度(vif的倒数) 小于 0.1  存在多重共线性
3. 状态指数(条件指数/索引)CI
     CI值介于10与30之间时,认为存在中等程度的多重共线性。
     CI值在30以上时,认为存在严重多重共线性
4.特征根约等于0

解决多重共线性
1,去掉一个相关特征
2,PCA 主成分分析
3,lasso L1, 岭回归L2正则化,随机梯度下降里设置正则化
在这里插入图片描述

#模型评估
R^2 ,修正R2(R2随着特征的增加会需高), PPE

from statsmodels.formula.api import ols 最小二乘法模型
模型 = ols(“Y~X1+X3+X4”,data=数据集)
print(模型.summary())
模型.predict(测试数据集)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Captain_Data

打赏一下~

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

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

打赏作者

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

抵扣说明:

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

余额充值