Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >字符串作为决策树/随机林中的特征

字符串作为决策树/随机林中的特征
EN

Data Science用户
提问于 2015-02-24 17:07:14
回答 6查看 142.8K关注 0票数 85

在一个决策树/随机森林的应用中,我正在做一些问题。我试图适应一个问题,它有数字和字符串(如国家名称)作为功能。现在,科学知识-学习只使用数字作为参数,但是我想注入字符串,因为它们携带了大量的知识。

我如何处理这种情况?

我可以通过某种机制(如Python中的散列)将字符串转换为数字。但是我想知道在决策树问题中如何处理字符串的最佳实践。

EN

回答 6

Data Science用户

回答已采纳

发布于 2015-02-25 02:10:55

在大多数建立良好的机器学习系统中,分类变量是自然处理的.例如,在R中使用因子,在WEKA中使用名义变量。这不是科学知识的情况。在scikit-learn中实现的决策树只使用数字特性,并且这些特性总是被解释为连续的数值变量。

因此,应该避免简单地用哈希代码替换字符串,因为被认为是一个连续的数字特性,您将要使用的任何编码都会导致数据中根本不存在的顺序。

一个例子是用“红色”,“绿色”,“蓝色”编写1,2,3代码,会产生一些奇怪的东西,比如‘红色’低于‘蓝色’,如果你把‘红色’和‘蓝色’相加,你就会得到‘绿色’。在用“低”、“中”、“高”编写1,2,3代码时,可能会出现另一个更微妙的例子。在后一种情况下,它可能有一个排序,这是有意义的,然而,一些微妙的不一致,可能会发生在‘中等’中,而不是在‘低’和‘高’。

最后,您的问题的答案在于将分类特性编码成多个二进制特性。例如,您可以用3列编码“红色”,“绿色”,“蓝色”,每个类别一列,当类别匹配时有1列,否则为0。这被称为一次热编码,二进制编码,一次k编码或其他什么。您可以在这里查看文档中的编码分类特征特征提取-哈希和切分。显然,单热编码会扩展您的空间需求,有时也会损害性能。

票数 75
EN

Data Science用户

发布于 2015-10-14 11:18:50

您需要将字符串编码为sci可用于ML算法的数值特性。此功能是在预处理模块中处理的(例如,参见sklearn.preprocessing.LabelEncoder中的一个示例)。

票数 12
EN

Data Science用户

发布于 2018-05-22 10:09:07

2018年更新!

您可以为分类变量创建一个嵌入(密集向量)空间。你们中的许多人都熟悉word2vec和fastext,它们将单词嵌入到有意义的密集向量空间中。同样的想法--你的分类变量会映射到一个有意义的向量上。

来自郭/伯尔哈恩纸

实体嵌入不仅减少了内存占用,加快了神经网络的一次热编码,更重要的是通过在嵌入空间中映射相似的值,揭示了分类变量的内在特性。我们在最近的一次Kaggle比赛中成功地应用了它,并且能够以相对简单的特性达到第三位。

作者发现,用这种方法表示分类变量提高了所有机器学习算法(包括随机林)的有效性。

最好的例子可能是Pinterest技术的应用来分组相关的Pins:

created的工作人员已经实现了分类嵌入,并与同伴博客帖子一起创建了一个非常好的演示笔记本

附加细节和解释

使用神经网络来创建嵌入,即给每个分类值赋值一个向量。一旦你有了向量,你就可以在任何接受数值的模型中使用它们。向量的每个分量都变成一个输入变量。例如,如果你使用三维向量嵌入你的颜色分类列表,你可能会得到类似的东西: red=(0,1.5,-2.3),blue=(1,1,0)等等。对于红色事物,c1=0、c2=1.5和c3=-2.3。对于蓝色的东西,c1=1,c2=1,和c3=0。

实际上,您不需要使用神经网络来创建嵌入(虽然我不建议回避这种技术)。在可能的情况下,您可以通过手工或其他方式创建自己的嵌入。下面是一些例子:

  1. 将颜色映射到RGB向量。
  2. 将位置映射到lat/长向量。
  3. 在美国的政治模式中,将城市映射到一些矢量组件,表示左/右对齐、税收负担等。
票数 8
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/5226

复制
相关文章
实践|随机森林中缺失值的处理方法
除了在网上找到的一些过度清理的数据集之外,缺失值无处不在。事实上,数据集越复杂、越大,出现缺失值的可能性就越大。缺失值是统计研究的一个令人着迷的领域,但在实践中它们往往很麻烦。
数据科学工厂
2023/08/10
2930
实践|随机森林中缺失值的处理方法
数据分享|Python在Scikit-Learn可视化随机森林中的决策树分析房价数据
决策树存储在 模型list 中的 estimators_ 属性中 rf 。我们可以检查列表的长度,它应该等于 n_estiamtors 值。
拓端
2022/06/08
1.6K0
数据分享|Python在Scikit-Learn可视化随机森林中的决策树分析房价数据
数据分享|Python在Scikit-Learn可视化随机森林中的决策树分析房价数据
随机森林是决策树的集合。在这篇文章中,我将向您展示如何从随机森林中可视化决策树(点击文末“阅读原文”获取完整代码数据)。
拓端
2025/01/15
1210
数据分享|Python在Scikit-Learn可视化随机森林中的决策树分析房价数据
决策树的原理_决策树特征选择
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/10/03
3490
[机器学习算法]随机森林
从统计学的角度来讲,将模型的性能寄希望于单棵决策树是不稳健的,这意味着它在处理未知数据时预测结果的方差是较大的。如同我们做重要决定时会考虑多个专家的意见,元算法meta-algorithm主张综合多个分类器的结果做预测,元算法也被称为集成方法ensemble method,主要思路包括:
TOMOCAT
2020/06/09
1.2K0
[机器学习算法]随机森林
随机森林算法(有监督学习)
一、随机森林算法的基本思想   随机森林的出现主要是为了解单一决策树可能出现的很大误差和overfitting的问题。这个算法的核心思想就是将多个不同的决策树进行组合,利用这种组合降低单一决策树有可能带来的片面性和判断不准确性。用我们常说的话来形容这个思想就是“三个臭皮匠赛过诸葛亮”。   具体来讲,随机森林是用随机的方式建立一个森林,这个随机性表述的含义我们接下来会讲。随机森林是由很多的决策树组成,但每一棵决策树之间是没有关联的。在得到森林之后,当对一个新的样本进行判断或预测的时候,让森林中的每一棵决策树分别进行判断,看看这个样本应该属于哪一类(对于分类算法),然后看看哪一类被选择最多,就预测这个样本为那一类。
全栈程序员站长
2022/08/31
3780
随机森林算法(有监督学习)
随机森林(RF),Bagging思想
Bagging是bootstrap aggregating。思想就是从总体样本当中随机取一部分样本进行训练,通过多次这样的结果,进行投票获取平均值作为结果输出,这就极大可能的避免了不好的样本数据,从而提高准确度。因为有些是不好的样本,相当于噪声,模型学入噪声后会使准确度不高。
大数据技术与机器学习
2019/11/20
2.8K0
随机森林随机选择特征的方法_随机森林步骤
摘要:当你读到这篇博客,如果你是大佬你可以选择跳过去,免得耽误时间,如果你和我一样刚刚入门算法调参不久,那么你肯定知道手动调参是多么的低效。那么现在我来整理一下近几日学习的笔记,和大家一起分享学习这个知识点。对于scikit-learn这个库我们应该都知道,可以从中导出随机森林分类器(RandomForestClassifier),当然也能导出其他分类器模块,在此不多赘述。在我们大致搭建好训练模型之后,我们需要确定RF分类器中的重要参数,从而可以得到具有最佳参数的最终模型。这次调参的内容主要分为三块:1.参数含义;2.网格搜索法内容;3.实战案例。
全栈程序员站长
2022/09/27
1.8K0
集成算法 | 随机森林分类模型
随机森林是非常具有代表性的Bagging集成算法,它的所有基评估器都是决策树,分类树组成的森林就叫做随机森林分类器,回归树所集成的森林就叫做随机森林回归器。
数据STUDIO
2021/06/24
1.1K0
机器学习 | 基于量子游走的深度森林改进算法
今天给大家介绍的是厦门大学信息学院刘昆宏教授等人在Soft Computing上发表的论文”Improving deep forestby ensemble pruning based on feature vectorization and quantum walks”。众所周知,良好的剪枝策略可以提高随机森林的性能。作者创新性地利用量子游走这一图上的动力学过程,对随机森林中节点性能进行拓扑排序,从而实现了一种基于排序的高效剪枝策略,提高算法性能。
智能生信
2021/02/04
1.2K0
随机森林回归算法_随机森林算法的优缺点
随机森林回归模型由多棵回归树构成,且森林中的每一棵决策树之间没有关联,模型的最终输出由森林中的每一棵决策树共同决定。 随机森林的随机性体现在两个方面: 1、样本的随机性,从训练集中随机抽取一定数量的样本,作为每颗回归树的根节点样本;
全栈程序员站长
2022/09/24
1.5K0
随机森林回归算法_随机森林算法的优缺点
小菜鸟对周志华大神gcForest的理解
本文介绍了什么是gcForest,以及其整体实现流程。gcForest是一种基于决策树的集成学习算法,旨在解决深度学习的参数复杂性和训练数据不足的问题。该算法采用级联森林的思想,通过多粒度的扫描,将特征进行多级划分,从而能够很好地提高模型的泛化能力。在实验中,作者对比了gcForest和DNN、LR、RF、SVM等算法在大数据集和小数据集上的表现,结果表明,gcForest在多个数据集上都有很好的表现,证明了其作为一种集成学习算法的优越性和高效性。
王相军
2017/04/10
7.7K0
小菜鸟对周志华大神gcForest的理解
贝叶斯优化在XGBoost及随机森林中的使用
XGBoost和Random-Forest(RF,随机森林)都属于集成学习(Ensemble Learning),集成学习的目的是通过结合多个基学习器的预测结果来改善单个学习器的泛化能力和鲁棒性,通过组合各个决策树的输出来进行预测(分类或回归)。而集成学习按照个体学习器的生成方式,可以大致分为两类:一类是个体学习器之间存在强依赖关系,必须串行生成序列的方法;以及个体学习器之间不存在强依赖关系,可同时生成的并行化方法。前者的代表就是XGBoost,后者的代表是Random-Forest。
用户3578099
2019/08/15
3.5K0
Python人工智能:基于sklearn的随机森林分类算法实现方法
集成学习(Ensemble Learning)作为一种流行的机器学习,它通过在数据集上构建多个模型,并集成所有模型的分析预测结果。常见的集成学习算法包括:随机森林、梯度提升树、Xgboost等。
用户1143655
2023/03/21
5.4K0
Python人工智能:基于sklearn的随机森林分类算法实现方法
基于决策树的 VVC 快速算法
Versatile Video Coding (VVC) 是目前最优的视频编码标准,它具有很高的编码效率,同时也带来了很高的复杂度。为了解决这一问题,Kulupana 等人提出了一种基于机器学习(ML)的 VVC 帧间编码快速算法。
用户1324186
2021/09/17
1.5K0
随机森林--你想到的,都在这了
Bagging是bootstrap aggregating。思想就是从总体样本当中随机取一部分样本进行训练,通过多次这样的结果,进行投票获取平均值作为结果输出,这就极大可能的避免了不好的样本数据,从而提高准确度。因为有些是不好的样本,相当于噪声,模型学入噪声后会使准确度不高。
mantch
2019/07/30
1.5K0
python实现随机森林
在机器学习中,随机森林是一个包含多个决策树的分类器, 并且其输出的类别是由个别树输出的类别的众数而定。要想理解好随机森林,就首先要了解决策树。
西西嘛呦
2020/08/26
7290
python实现随机森林
随机森林算法
Bagging框架,即 Bootstrap Aggregating,是一个用于提高机器学习算法稳定性和准确性的方法。Bagging 算法通过对原始数据集进行有放回的抽样,生成多个不同的数据子集,然后分别在这些子集上训练模型。最后,通过对这些模型的预测结果进行投票(分类问题)或求平均(回归问题),得到最终的预测。Bagging 方法可以有效减少模型的方差,防止过拟合,并提高模型的泛化能力。
@小森
2024/03/15
1220
随机森林算法
数学建模--随机森林
随机森林是一种基于决策树的集成学习方法,通过构建多个决策树并汇总其预测结果来完成分类或回归任务。它属于Bagging(Bootstrap AGgregation)算法类型,每个决策树使用训练数据的不同子集进行训练,并且最终预测是所有决策树预测的平均值或多数投票。
用户11315985
2024/10/16
1560
数学建模--随机森林
决策树与随机森林
首先,在了解树模型之前,自然想到树模型和线性模型有什么区别呢?其中最重要的是,树形模型是一个一个特征进行处理,之前线性模型是所有特征给予权重相加得到一个新的值。决策树与逻辑回归的分类区别也在于此,逻辑回归是将所有特征变换为概率后,通过大于某一概率阈值的划分为一类,小于某一概率阈值的为另一类;而决策树是对每一个特征做一个划分。另外逻辑回归只能找到线性分割(输入特征x与logit之间是线性的,除非对x进行多维映射),而决策树可以找到非线性分割。
西西木木
2020/06/02
1.3K0
决策树与随机森林

相似问题

在随机森林中利用特征导入进行特征选择

10

在随机森林中决策树是如何平均的?

10

随机森林中混合特征的文本分类

10

为什么我们在随机森林中选择随机特征?

20

在随机森林中使用什么样的决策树?

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文