数据分析-记录

本文探讨了特征工程中的关键概念,包括特征重要性的提取方法,如何利用Box-Cox变换进行数据预处理以满足线性模型的要求,以及在Python中实现这些技术的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、特征重要性提取:
对于xgb,lgb等模型,都会有model.feature_importance_方法,对特征的影响程度展示。

2、函数参数(*arg,**kwargs)
*args 用来将参数打包成tuple给函数体调用
**kwargs 打包关键字参数成dict给函数体调用
例子:
在这里插入图片描述
3、删除多余变量的方法
通过删除一整行index实现:

data = {
    "a":[1,2,3],
    "b":[4,5,6],
    "c":[7,8,9]   
}
df = pd.DataFrame(data,columns=['a','b','c'],index=['x','y','z'])
print(df)
df.drop(df[df['b']==5].index)

在这里插入图片描述
4、from scipy.special import boxcoxlp
box-cox变换的用处:

  1. 通常对于y进行log变换,因为诸如线性模型、SVM等要求target variable是服从正态分布的
  2. 线性回归模型满足线性性、独立性、方差齐性以及正态性的同时,又不丢失信息,此种变换称之为Box—Cox变换。

Box-Cox变换的正态变换:
在这里插入图片描述
没有Box-Cox变换的回归:
在这里插入图片描述
Box-Cox变换之后的回归:
在这里插入图片描述
变换方法:

skewness = skewness[abs(skewness) > 0.75]

from scipy.special import boxcox1p
skewed_features = skewness.index
lam = 0.15
for feat in skewed_features:
    #all_data[feat] += 1
    all_data[feat] = boxcox1p(all_data[feat], lam)
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值