加入收藏 | 设为首页 | 会员中心 | 我要投稿 通化站长网 (https://www.0435zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 动态 > 正文

区块链行业发生了这十件大事!

发布时间:2021-01-31 15:42:06 所属栏目:动态 来源:互联网
导读:其中w_i在0到1之间,具体取决于组平均值的可信度。 接下来的三种算法(TargetEncoder,MEstimateEncoder和JamesSteinEncoder)基于它们定义w_i的方式而有所不同。 在TargetEncoder中,权重取决于组的数字和称为平滑的参数。当平滑为0时,我们仅依靠组均值。然

其中w_i在0到1之间,具体取决于组平均值的"可信度"。

接下来的三种算法(TargetEncoder,MEstimateEncoder和JamesSteinEncoder)基于它们定义w_i的方式而有所不同。

在TargetEncoder中,权重取决于组的数字和称为"平滑"的参数。当平滑为0时,我们仅依靠组均值。然后,随着平滑度的增加,全局平均权重越来越大,从而导致更强的正则化。

让我们看看结果如何随着一些不同的平滑值而变化。
 

哈希的基本属性是所得整数均匀分布。因此,如果将除数足够大,则不可能将两个不同的字符串映射到相同的整数。为什么这样有用?实际上,这有一个非常实用的应用程序,称为"哈希技巧"。

想象一下,您想使用Logistic回归进行电子邮件垃圾邮件分类。您可以通过对数据集中的所有单词进行一次热编码来做到这一点。主要缺点是您需要将映射存储在单独的字典中,并且模型尺寸会在出现新字符串时随时更改。

使用哈希技巧可以轻松解决这些问题,因为通过对输入进行哈希处理,您不再需要字典,并且输出尺寸是固定的(仅取决于您最初选择的除数)。而且,对于散列的属性,您可以肯定的是,新字符串的编码可能会与现有字符串不同。

11. TargetEncoder

假设您有两个变量:一个类别(x)和一个数字(y)。假设您要将x转换为数字变量。您可能希望使用y"携带"的信息。一个明显的想法是对x的每个级别取y的平均值。在公式中:
 

老实说,我不知道这种编码的任何实际应用(如果您愿意,请在下面发表评论!)。

10. HashingEncoder

在HashingEncoder中,使用某种哈希算法(例如SHA-256)对每个原始级别进行哈希处理。然后,将结果转换为整数,并采用该整数相对于某个(大)除数的模块。这样,我们将每个原始字符串映射到1到divisor-1之间的整数。最后,通过此过程获得的
 

输出由伪列组成(就像OneHotEncoder一样),但是它导致单热点的尺寸减少。

老实说,我不知道这种编码的任何实际应用(如果您愿意,请在下面发表评论!)。

9. BaseNEncoder

BaseNEncoder只是BinaryEncoder的概括。实际上,在BinaryEncoder中,数字以2为底,而在BaseNEncoder中,数字以n为底,n大于1。

让我们看一个以base = 3为例的例子。
 

我知道你在想什么数字变量如何与非数字变量具有线性(或二次或三次)关系?这是基于以下假设:基础分类变量具有不仅可观的而且均等间隔的级别。

因此,建议您仅在确信假设合理的情况下谨慎使用它。

8. BinaryEncoder

BinaryEncoder与OrdinalEncoder基本相同,唯一的区别是将整数转换为二进制数,然后每个位置数字都进行一次热编码。

(编辑:通化站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!