不同字段的特征工程

本次主要内容是:特征工程中类别字段、数值字段和日期字段的编码方法。对于类别字段,为了避免标签信息泄露,可以使用平均值来代替某个取值对应的标签。此外,还介绍了数值字段的处理方法,包括缩放和分箱。缩放是为了避免标签泄露和模型学习细枝末节规律,而分箱则是手动将数值划分为不同的区间。对于日期字段,介绍了提取离散特性和避免信息泄露的方法。此外,还强调了不同类型特征的注意事项,如数值类型特征容易出现异常值和离群点。

一、类别字段的特征工程

1.可以使用One-Hot Encoding,但维度较大时可能导致问题。

2.Label Encoding的优点是不增加原始类别的维度,缺点是编码后字段间会产生大小关系。

3.大部分情况下:对于取值空间小的类别(小于10的),使用One-Hot Encoding;取值空间大的类别(大于10的),使用Label Encoding。

4.顺序编码ordinal encode:识别字段的大小关系,需要人工进行参与,而且对字段有一定的理解,用顺序编码是比较好。

5.binary encode:与onehot差不多,但是是以二进制的形式进行编码,是onehot的一种压缩版本。

6.frequency/count encode,利用出现次数或频率来进行编码,优点是任何字段都可以使用。缺点是只有数据集分布整体比较一致的情况下才能使用。也可以单纯用来计数。

7.mean/target encode根据标签的值取平均进行编码,优点:帮助模型快速收敛。缺点:容易过拟合,和标签泄露。利用训练集的target encode作为验证集字段的编码。

二、数值字段的特征工程:信息量大,容易出现异常点和离群点,很少对它进行处理

1.数值型特征如年龄、成绩等,常见于数据集中。

2.数值型特征的处理包括取整和分箱,目的是减少取值空间的精确度,防止模型过拟合。

3.取整可以通过向下取整、向上取整或四舍五入等方式进行。

4.分箱可以将连续的数值区间划分为不同的箱子,便于模型处理。

取整:利于机器学习规则

分箱:用二值化的bins或者box来完成

三、日期字段的特征工程

1.日期型特征需要提取其离散特性,如年、月、日、星期等。

2.可以通过统计日期字段的持续时间、间隔时间、历史中位数等信息来构建特征。

3.日期字段的处理需要注意信息泄露问题,特别是在标签存在先后次序的情况下。

相关推荐
羲云网络3 小时前
GPT Image 2.6 接入指南:Flare、Sunburst 怎么选,编辑失败如何排查
人工智能·python·aigc·图像生成·acedatacloud
tellmewhoisi5 小时前
深度学习0:数学知识:正态分布4(坐标变换的缩放比例(面积微元变换))
人工智能·深度学习
布吉岛的石头5 小时前
Java 程序员第 50 阶段14:灾难性遗忘与回放
人工智能·深度学习·transformer
橙橙笔记6 小时前
具身智能的学习 - 完成一个机械臂 第1节
python·学习·机械臂·具身智能
小小张说故事6 小时前
Python 的 class 语句到底执行了什么?拆开 __prepare__、metaclass.__new__ 和那个被讲反的 __set_name__ 顺序
python
在所不辞兄7 小时前
为什么神经网络在训练集损失已接近零后继续训练,测试性能仍可能继续提升,而不是单纯地越来越过拟合?
人工智能·深度学习·神经网络·机器学习·智能仿真
天天被压力8 小时前
【A股分钟级高频数据完全手册 #07】北交所历史分钟K线接口:京市Pro版分时批量
java·人工智能·python
天天被压力8 小时前
【A股分钟级高频数据完全手册 #08】股票日、分时数据接口对比:普通分时与Pro版差异实测
java·人工智能·python
特立独行的猫A9 小时前
AI 时代,我为什么推荐用 cj-tauri 开发桌面应用
java·后端·python