为什么使用OneHotEncoding可以更好地执行NN?

2024-06-02 11:34:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我想问一个一般情况的问题。所以我正在使用扑克手数据集,它有10个从0到9的可能输出,每个数字给出一个扑克手,例如royal flush

所以我在互联网上读到,在一个多类问题中使用OHE是必要的,因为如果没有OHE,就像一个人工秩序,例如,如果你与城市合作。但在我的情况下,扑克手有一个命令,从一对超过同花顺,直接到皇家同花顺,对吗

尽管我的nn在OHE上表现更好,但在没有OHE的情况下也能工作(但很糟糕)。 那么,为什么OHE的效果更好呢?我做了一个有两个隐藏层的密集网络


Tags: 数据命令情况互联网数字nn秩序人工
1条回答
网友
1楼 · 发布于 2024-06-02 11:34:35

简短回答-根据分类中特征的使用和所用分类器的实现,决定是否使用OHE。如果该功能是一个类别,因此排名没有意义(例如,卡套1=俱乐部,2=心脏…),那么您应该使用OHE(对于需要分类区分的框架),因为排名没有意义。如果该功能对分类有排名意义,,则保持原样(例如,获得某个winnig牌的概率)

由于您没有指定使用NN、损失函数和许多其他东西的任务,我只能假设,当您说“…我的NN使用OHE执行得更好”时,您希望将组合分类为一类扑克牌,在这种情况下,数据仅为学习者呈现类以区分它们(作为一个类别而不是作为一个等级)。你可以添加一个概率和/或手的力量等特征。这将是一个等级特征-对于结果分类器,如果添加它是否会改善(意味着特征的数量对分类性能的影响),这是一个完全不同的主题

希望我理解正确

注意-这是一个大问题,有很多人挥手,但这是范围

相关问题 更多 >