在机器学习中,特征(Feature) 是描述数据的属性或变量,是模型用来学习和预测的基础。特征的选择和表示直接影响模型的性能。根据特征的性质,可以将其分为 离散特征 和 连续特征。
1. 特征的含义
- 特征 是数据的属性或维度,用于描述数据的某个方面。
- 在数据集中,特征通常表示为列,而每一行代表一个样本。
- 例如,在房价预测数据集中,特征可能包括房屋面积、房间数量、地理位置等。
2. 离散特征(Discrete Feature)
离散特征是取值为有限个或可数个的特征,通常是分类或计数数据。
特点:
- 取值是离散的,通常是整数。
- 可以是有限的或无限的,但取值之间没有中间值。
- 通常用于分类问题或表示类别。
示例:
- 二值特征:性别(男/女)、是否下雨(是/否)。
- 多类别特征:颜色(红/绿/蓝)、城市(北京/上海/广州)。
- 计数特征:家庭成员数量(1, 2, 3, …)、订单数量。
处理方式:
- 独热编码(One-Hot Encoding):将离散特征转换为二进制向量。
- 例如,颜色(红/绿/蓝)可以编码为 [1, 0, 0], [0, 1, 0], [0, 0, 1]。
- 标签编码(Label Encoding):将离散特征映射为整数。
- 例如,颜色(红/绿/蓝)可以编码为 0, 1, 2。
- 嵌入(Embedding):对于高基数离散特征(如用户ID),可以使用嵌入层将其映射到低维空间。
3. 连续特征(Continuous Feature)
连续特征是取值为无限个的特征,通常是数值型数据,可以在某个范围内取任意值。
特点:
- 取值是连续的,可以是任意实数。
- 通常用于回归问题或表示数值。
示例:
- 物理量:身高(170.5 cm)、体重(65.3 kg)。
- 时间:年龄(25.6 岁)、时长(3.2 小时)。
- 经济指标:房价(350000.5 元)、收入(50000.0 元)。
处理方式:
- 标准化(Standardization):将特征转换为均值为 0、标准差为 1 的分布。
- 公式: z = x − μ σ z=\frac{x−μ}{σ} z=σx−μ
- 归一化(Normalization):将特征缩放到固定范围(如 [0, 1])。
- 公式: x ′ = x − x m i n x m a x − x m i n x′=\frac{x−x min}{x max −x min} x′=xmax−xminx−xmin
- 分桶(Binning):将连续特征离散化为多个区间。
- 例如,将年龄分为 [0-18, 19-35, 36-60, 60+]。
4. 离散特征 vs 连续特征
特性 | 离散特征 | 连续特征 |
---|---|---|
取值 | 有限或可数 | 无限且连续 |
示例 | 性别、颜色、家庭成员数量 | 身高、体重、房价 |
适用问题 | 分类问题 | 回归问题 |
处理方法 | 独热编码、标签编码、嵌入 | 标准化、归一化、分桶 |
数学表示 | 整数或类别 | 实数 |
5. 混合特征
在实际数据中,离散特征和连续特征可能同时存在。例如,在房价预测数据集中:
- 连续特征:房屋面积、房龄。
- 离散特征:房屋类型(公寓/别墅)、地理位置。
在这种情况下,通常需要对不同类型的特征分别进行处理,然后将它们合并作为模型的输入。
6. 总结
- 离散特征 表示分类或计数数据,取值有限或可数。
- 连续特征 表示数值型数据,取值无限且连续。
- 在机器学习中,正确处理离散特征和连续特征是提高模型性能的关键。
送您一份软件测试学习资料大礼包
推荐阅读
软件测试学习笔记丨Pytest配置文件
测试开发实战 | Docker+Jmeter+InfluxDB+Grafana 搭建性能监控平台
技术分享 | app自动化测试(Android)–元素定位方式与隐式等待
软件测试学习笔记丨Mitmproxy使用
软件测试学习笔记丨Chrome开发者模式
软件测试学习笔记丨Docker 安装、管理、搭建服务
软件测试学习笔记丨Postman基础使用
人工智能 | 阿里通义千问大模型
软件测试学习笔记丨接口测试与接口协议
软件测试学习笔记丨Pytest的使用
推荐学习
【霍格沃兹测试开发】7天软件测试快速入门带你从零基础/转行/小白/就业/测试用例设计实战
【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (上集)
【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (下集)
【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(上集)
【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(下集)
【霍格沃兹测试开发】精品课合集/ 自动化测试/ 性能测试/ 精准测试/ 测试左移/ 测试右移/ 人工智能测试
【霍格沃兹测试开发】腾讯/ 百度/ 阿里/ 字节测试专家技术沙龙分享合集/ 精准化测试/ 流量回放/Diff
【霍格沃兹测试开发】Pytest 用例结构/ 编写规范 / 免费分享
【霍格沃兹测试开发】JMeter 实时性能监控平台/ 数据分析展示系统Grafana/Docker 安装
【霍格沃兹测试开发】接口自动化测试的场景有哪些?为什么要做接口自动化测试?如何一键生成测试报告?
【霍格沃兹测试开发】面试技巧指导/ 测试开发能力评级/1V1 模拟面试实战/ 冲刺年薪百万!
【霍格沃兹测试开发】腾讯软件测试能力评级标准/ 要评级表格的联系我
【霍格沃兹测试开发】Pytest 与Allure2 一键生成测试报告/ 测试用例断言/ 数据驱动/ 参数化
【霍格沃兹测试开发】App 功能测试实战快速入门/adb 常用命令/adb 压力测试
【霍格沃兹测试开发】阿里/ 百度/ 腾讯/ 滴滴/ 字节/ 一线大厂面试真题讲解,卷完拿高薪Offer !