电子商务网站建设网站建设学习

北京市泰赐传媒有限公司 2026/09/09 19:55:04

🌞欢迎来到数据分析的世界
🌈博客主页:卿云阁

💌欢迎关注🎉点赞👍收藏⭐️留言📝

🌟本文由卿云阁原创!

🌠本阶段属于练气阶段,希望各位仙友顺利完成突破

📆首发时间:🌹2025年12月20日🌹

✉️希望可以和大家一起完成进阶之路!

🙏作者水平很有限,如果发现错误,请留言轰炸哦!万分感谢!


目录

引入

为什么不能直接填数字?

🍌 选手一:OE (Ordinal Encoder) —— 简单粗暴的“排号员”

📊 选手二:QE (Quantile Encoder) —— 看人下菜碟的“分段王”

🔥 选手三:LOOE (Leave-One-Out Encoder) —— 防作弊的“超级翻译”

🌲 最佳搭档:RF (Random Forest 随机森林)

💻 代码实战(Python版)

📝 总结

引入

做数据挖掘或者机器学习的同学都知道,模型(Model)其实是个“偏科生”。它数学很好,但语文

极差——它只认识数字,根本不认识汉字或英文单词!

所以,当我们拿到一份包含“性别(男/女)”、“城市(北京/上海)”、“原料(猪粪/秸秆)”这样的数

据时,第一步必须做的事就是:当翻译官!

把这些文字“翻译”成数字,这个过程就叫编码(Encoding)

今天我们就用最接地气的方式,聊聊三种超好用的编码方式:OEQELOOE,以及它们的好搭档随机森林(RF)


1. 为什么不能直接填数字?

很多人想:“这还不简单?男=1,女=2;北京=1,上海=2,广州=3。”

这就引出了第一种编码方式。

🍌 选手一:OE (Ordinal Encoder) —— 简单粗暴的“排号员”

就是给每个类别发个号牌。

比如:[小学, 初中, 高中, 大学]

OE编码后变成:[1, 2, 3, 4]

这种方式非常的简单,省内存。非常适合有“等级关系”的数据(比如学历、尺码 S/M/L)。因为

4>3>2>1,正好对应 大学>高中>初中>小学,模型能理解这种“越来越大”的关系。但是对于没有等

级关系的数据,它会“误导”模型。比如:[苹果, 香蕉, 西瓜] 变成 [1, 2, 3]。模型会以为“西瓜(3) 比

苹果(1) 大/高级”,但其实它们只是不同的水果而已。这时候用 OE 就不太好了。

📊 选手二:QE (Quantile Encoder) —— 看人下菜碟的“分段王”

这个稍微高级一点。它不是随便给个号,而是根据这个特征对应的**目标值(Target,也就是你

要预测的结果)的表现来打分。假设我们要预测”房价”,特征是“地段”。

OE做法:一环=1,二环=2...

QE做法:它不看你是几环,它看这里的房子大部分卖多少钱。

它会把所有地段按房价排序。

房价最低的那一拨地段(比如后25%),编码为 1。

房价中等的那一拨(中间50%),编码为 2。

房价最高的那一拨(前25%),编码为 3。

它的核心逻辑:“我不关心你叫什么名字,我只关心你属于哪个档次。”这能很好地处理异常值,把

数据变得更平滑。

🔥 选手三:LOOE (Leave-One-Out Encoder) —— 防作弊的“超级翻译”

这是很多高分论文(包括很多 Kaggle 比赛)里的秘密武器。

它也是一种目标编码(Target Encoding),也就是用“结果”来代表“特征”。

我们要预测一个学生期末考试能考多少分,特征是“所在的班级”。

如果直接用这个班的平均分来代表这个班级,行不行?

比如 1班平均分90,那就把“1班”编码成 90。

问题:如果在训练的时候,你把这个学生自己的分数也算进平均分里了,这不就是作弊吗?(模型

会直接“记住”答案,而不是学习规律)。

LOOE 的神操作(Leave-One-Out = 留一法):

计算“1班”的编码值时,把你(当前样本)的分数拿掉,只算1班其他所有人的平均分,作为你的

编码值。优点:既利用了“这个类别通常很强”的高级信息,又完美避开了“自己预测自己”的作弊嫌

疑。准确率通常比 OE 高一大截!


🌲 最佳搭档:RF (Random Forest 随机森林)

把数据用上面三种方法编码好(变成数字)后,就可以喂给模型了。在这个组合里,随机森林

是个绝佳的选择。随机森林就是“三个臭皮匠,顶个诸葛亮”的究极版。

它种了很多棵决策树(Expert)。来了一个新数据,每棵树都通过上面的编码数字进行判断,给出

自己的预测。最后,随机森林把所有树的结果取平均(回归问题)或者投票(分类问题)。

为什么它和编码是绝配?

刚才 OE 编码里提到的“苹果(1) vs 西瓜(3)”的误导问题,随机森林通过大量的树和随机性,能一

定程度上消化掉这种误差。你不需要把数字缩放到 0-1 之间,随机森林不挑食,直接喂刚才编码好

的 1, 90, 513 这种数字,它照样吃得香。


💻 代码实战(Python版)

import pandas as pd from sklearn.ensemble import RandomForestRegressor from category_encoders import OrdinalEncoder, LeaveOneOutEncoder, QuantileEncoder from sklearn.model_selection import train_test_split # 1. 准备数据 (假装这是你的实验数据) data = pd.DataFrame({ '底物类型': ['猪粪', '秸秆', '餐厨', '猪粪', '餐厨', '秸秆'], # 分类特征 '温度': [35, 37, 55, 35, 55, 37], '产气量': [100, 120, 500, 110, 520, 130] # 目标变量 (y) }) X = data[['底物类型', '温度']] y = data['产气量'] # 2. 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # ================= 核心:编码三剑客 ================= # --- 方式 A: OE (简单排号) --- # oe = OrdinalEncoder(cols=['底物类型']) # X_train_enc = oe.fit_transform(X_train) # X_test_enc = oe.transform(X_test) # --- 方式 B: LOOE (留一法,推荐!) --- # 注意:LOOE 训练时必须传入 y_train,因为它要算平均值! looe = LeaveOneOutEncoder(cols=['底物类型']) X_train_enc = looe.fit_transform(X_train, y_train) X_test_enc = looe.transform(X_test) # 测试集直接用训练集算好的规则 print("编码后的数据长这样:") print(X_train_enc) # ================= 核心:随机森林建模 ================= # 3. 召唤随机森林 rf = RandomForestRegressor(n_estimators=100, random_state=42) # 4. 训练 (喂入编码后的数据) rf.fit(X_train_enc, y_train) # 5. 预测 preds = rf.predict(X_test_enc) print(f"预测结果: {preds}")
📝 总结
编码方式核心逻辑适合场景比喻
OE按顺序编号有等级关系的数据 (大/中/小)排队发号牌
QE按目标值的分布分档需要减少噪音、处理异常值划分“优良中差”等级
LOOE用除去自己外的平均目标值类别之间差异大,想提升精度“看看大家都考多少分” (但不准看自己的)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

网络网站建设教育网站建设

终极Qsign签名方案:5分钟搞定QQ机器人验证难题【免费下载链接】QsignWindows的一键搭建签名api项目地址: https://gitcode.com/gh_mirrors/

2026/06/30 13:14:04

摄影网站建设呼和浩特网站建设

Langchain-Chatchat品牌声誉管理:负面评论快速响应机制在电商平台的客服后台,一条差评刚刚被发布:“净水器漏水,客服还不理人&#x

2026/06/30 13:21:35

网站建设合同网站建设团队

文本替换是文档编辑中的基础操作,掌握高效技巧能显著提升工作效率。以下结合常见工具(如Microsoft Word和EditPlus)介绍核心方法,

2026/06/30 11:19:25

云南网站建设湘潭网站建设

快速体验打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容:基于以下电商秒杀场景生成架构方案:初始QPS 100ÿ

2026/06/30 12:35:32

建设网站教程网站建设团队

QuickBooks报表语音摘要:用IndexTTS2实现“听懂财务”在一间灯火通明的会计办公室里,一位财务人员正戴着耳机,一边喝着咖啡,一边闭

2026/06/30 11:53:58

网站建设设计官方网站建设

PyTorch-CUDA-v2.7镜像对分布式训练的支持能力在现代AI研发中,一个常见的场景是:团队拿到了一批新卡(比如A100),

2026/06/30 13:22:05

网站建设推广长春网站建设公司

如何用HeyGem实现多视频批量绑定同一音频?详细操作流程分享在数字内容爆发式增长的今天,企业对视频制作的需求早已从“有没有”转向“快不快、多不多、准不准”。尤其是在在线教

2026/06/30 11:38:26

牡丹江网站建设南充网站建设

在量化投资领域,传统方法往往受限于线性模型和手工特征工程的局限性。Kronos作为首个专为金融市场设计的语言基础模型,通过将K线数据转化为可理解的"金融语言"

2026/06/30 10:55:52

移动网站建设怎么网站建设

高级计算器:从简单到复杂的编程之旅1. 高级计算器概述高级计算器是一个小型但较为实用的编译器扩展。它在原计算器的基础上,增加了命名变量和赋值、比较表达式(如大于、小于、等于等)、if/then/els

2026/06/30 14:08:39

潍坊网站建设上海营销型网站建设

Moonlight-Switch是一款专为任天堂Switch设计的开源游戏串流工具,让你能将PC端的3A大作和独立游戏无缝投射到掌机屏幕。通过高效的视频编码技术和直观的操作界面ÿ

2026/06/30 12:57:03