分类数据和顺序数据转换为标志变量
1. 分类数据和顺序数据
建模中,很多时候无法直接处理非数值型变量。
例如KMeans算法中基于距离相似度的计算,字符串无法计算距离;再比如Numpy以及基于Numpy的sklearn,虽然这些库允许直接使用和存储字符串型变量,但无法发挥矩阵计算优势。
这些类型的数据可以分为两类:
1. 分类数据:性别中的男、女;颜色中的红、黄、蓝。
2. 顺序数据:价值分为高、中、低;学历分为博士、硕士、学士。
2. 运用标志方法处理分类和顺序数据
分类数据和顺序数据参与模型的计算,通常都会转化为数值型数据。当然,某些算法允许这些数值参与计算,例如分类算法中的决策树、关联规则等。
将非数值型数据转换为数值型数据的最佳方法:将所有分类或顺序变量的值域从一列多值的形态转换为多列只包含真值的形态。其中真值可通过True、False或0、1的方式来表示。这种标志转换的方法也称真值转换。如表所示:
为什么不能直接使用数字来表示不同的分类和顺序数据,而一定要做标志转换?
因为数字直接表示分类和顺序变量不能体现不同类别信息之间的差异和相关性。
3. 代码实操:Python标志转换
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)