kaggle平台学习复习笔记 | 特征工程

特征工程是提升模型精度的关键,包括数值字段的round和分箱,类别字段的一热编码、标签编码、序数编码、二进制编码、频率/计数编码和目标编码,以及日期字段的处理。特征筛选通过方差、相关性和模型重要性评估来决定字段的保留。


特征工程决定了模型精度的上限。

特征工程是数据挖掘的主要工作内容:数据清洗、数据预处理、数据转换。

特征工程大概占据了60%-70%的时间。

数值字段

在这里插入图片描述
例子:

df = pd.DataFrame({
   
   
    'student_id': [1,2,3,4,5,6,7],
    'country': ['China', 'USA', 'UK', 'Japan', 'Korea', 'China', 'USA'],
    'education': ['Master', 'Bachelor', 'Bachelor', 'Master', 'PHD', 'PHD', 'Bachelor'],
    'age': [34.5, 28.9, 19.5, 23.6, 19.8, 29.8, 31.7],
    'target': [1, 0, 1, 0, 1, 0, 1]
})
df.head(10)

在这里插入图片描述

round

# 省略小数点
df['age_round1'] = df['age'].round()
# 按照区间进行分段 (实质是缩放)
df['age_round2'] = (df['age'] / 10).astype(int)
df.head(10)

在这里插入图片描述
可以一定程度上忽略特殊值对模型的影响

Box/Bins

df['age_<20'] = (df['age'] <= 20).astype(int)
df['age_20-25'] = ((df['age'] > 20) & (df['age'] <=25)).astype(int)
df['age_20-25'] = ((df['age'] > 25) & (df['age'] <= 30)).astype(int)
df['age_>30'] = (df['age'] > 30).astype(int)
df.head(10)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

lijiamingccc

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值