- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想为泰坦尼克号(Kaggle 的竞赛)制作反向传播算法。
这很容易做到,但我有一个问题。反向传播算法与数字有关。但泰坦尼克号中有字符串类型。例如,
我们有一栏“性别”(男性或女性)、“出发”(S、C 或 Q)。我不会使用“姓名”和“票证”。我不知道我能用“性别”和“出发”栏做什么。我如何将这些东西用于反向传播算法。
我的想法如何解决这个问题我想我可以对男性使用数字 int=1,对女性使用数字 int=2。另外,我可以使用数字 1 表示 S,使用 2 表示 C,使用 3 表示 Q。
你觉得我的想法怎么样?如何为泰坦尼克号制作反向传播算法? (也许我的想法不太好)。
最佳答案
My idea how to resolve this problem I think I can use number int=1 for male and number int=2 for female. Also I can use number 1 for S and 2 for C and 3 for Q.
这几乎是正确的。对于只有两个值的特征,用 0 和 1 编码就可以了。但是,如果您的分类特征具有超过 2 个可能值,则切勿将它们编码为单个数字。这种编码只能用于序数特征,这意味着,尽管“不是数字”,但它们确实有顺序。例如,如果您有“小、大、巨大”,那么您可以将它们编码为 1、2、3,但如果您的值完全不可排序,您应该对它们进行一次热编码,这意味着具有 K 的值可能的值在表示中变成 K 位,您只需将 1 放在给定位置(导致(红、蓝、绿)编码为 [1 0 0]、[0 1 0]、[0 0 1]。
如果您不遵守此规则会怎样?假设你的特征是一个名字,你有四种可能性“James、Mark、Eve、Kate”,你将它们编码为 1、2、3、4。然后,如果你的模型得知 James 和 Eve 获得了很好的分数,而Kate 不会,它会(或者至少有相当大的概率)推断出 Mark 也有很好的分数,因为从模型的角度来看,没有名字,只有任意特征,并且值为 1 的人是好,值 3 是好的,值 4 是坏的,因此假设“2”也是好的也是一个不错的推理。请注意,这只是编码的结果,如果您只是以不同的方式排列名称 - 您会得到不同的结果。 One-hot 编码不会发生这种情况。
如果您想使用仅在 R^d 空间上定义的方法,这就是 ML 中通常执行的操作。当然,如果人们对这一功能了解更多,有时可以提出更好的编码,例如颜色可以分解为其 RGB 表示形式,这样您就可以直接对红色、橙色和黄色之间的相似性进行编码。一般来说 - 一种热编码是最安全方法,任何其他方法都会引入一些可能误导您的模型的假设(如果它们是错误的)。
关于python - 我如何为泰坦尼克号制作反向传播算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41791850/
我是一名优秀的程序员,十分优秀!