输入数据的特征转换


22

我正在阅读有关OTTO Kaggle挑战的解决方案,并且第一位的解决方案似乎对输入数据X使用了多种转换,例如Log(X + 1),sqrt(X + 3/8)等。关于何时对各种分类器应用哪种类型的转换的一般指南?

我确实了解均值-均值和最小-最大归一化的概念。但是,对于上述转换,我的猜测是使用Log和Sqrt来压缩数据的动态范围。x轴偏移只是为了更新数据。但是,当输入不同的分类器时,作者选择对同一输入X使用不同的归一化方法。有任何想法吗?


1
不知道什么可能暗示这种公式,但是您可能希望查看box-cox转换,该转换建议变量的指数。
anymous.asker

Answers:


19

我们喜欢普通的形式

在大多数情况下,我们试图使它们表现得正常。它不是分类器的观点,而是特征提取的观点!

哪个转型

选择转换的主要标准是:什么对数据有效?如以上示例所示,考虑两个问题也很重要。

是什么使物理的(生物学的,经济的,无论是什么)有意义,例如在值变得很小或很大时限制行为的方面?这个问题经常导致对数的使用。

我们可以保持尺寸和单位简单方便吗?如果可能的话,我们更喜欢易于考虑的测量比例尺。

体积的立方根和面积的平方根都具有长度的尺寸,因此,除了使事情复杂化之外,这种变换可以简化它们。如前所述,倒数通常具有简单的单位。但是,通常有些复杂的单元是必须做出的牺牲。

什么时候使用什么

入门数据分析中最有用的转换是倒数,对数,立方根,平方根和平方。在下面的内容中,即使不强调转换,也假定仅在转换产生(有限)实数作为结果的范围内使用转换。

  • 倒数:x到1 / x的倒数,与x倒数到-1 / x的负倒数,是一个非常强的变换,对分布形状产生了巨大的影响。不能应用于零值。尽管可以将其应用于负值,但除非所有值均为正,否则它没有用。比率的倒数通常可以像比率本身一样容易地解释:示例:
    • 人口密度(每单位面积的人)变成每​​人的面积
    • 每名医生的人数成为每人的医生数
    • 腐蚀速率成为侵蚀单位深度的时间

(在实践中,我们可能希望将取倒数的结果乘以或除以某个常数(例如1000或10000),以获得易于管理的数字,但其本身对偏度或线性没有影响。)

相同符号值之间的倒数顺序相反:最大值变为最小等。负数倒数保留相同符号值之间的顺序。


  • 对数:对数x log 10 x或x log ex或ln x或x log 2 x,是对分布形状有重大影响的强变换。它通常用于减少右偏斜,并且通常适用于测量变量。不能将其应用于零或负值。对数刻度上的一个单位表示与所使用的对数的底数相乘。指数增长或下降。

    • y=aexp(bx)

lny=lna+bxx=0y=aexp(0)=a 因此,a是x = 0时的数量或计数。如果a和b> 0,则y以越来越快的速度增长(例如复利或不受控制的人口增长),而如果a> 0且b <0,则y下降的速度越来越慢(例如放射性衰变)。


  • 电源功能
  • y=axblogy=loga+blogx
    x=0b>0

  • y=axb=0

    • 考虑比率y = p / q,其中p和q在实践中均为正。
  • 例如:

    • 男/女
    • 家属/工人
    • 下游长度/下谷长度
  • 则y在0到无穷大之间,或者在最后一种情况下,在1到无穷大之间。如果p = q,则y =1。由于存在明确的下限而没有明确的上限,因此此类定义通常会导致数据偏斜。但是,对数即

  • log y = log p / q = log p-log q,在-infinity和infinity之间,并且p = q表示log y =0。因此,该比率的对数可能更对称地分布。


  • 立方根:立方根x 1/3。这是一个相当强的变换,对分布形状有很大影响:它比对数弱。它也用于减少右偏斜,并且具有可以应用于零和负值的优点。请注意,体积的立方根具有长度单位。它通常应用于降雨数据。

    • 适用于负值需要特别说明。考虑
      (2)(2)(2)= 8和(-2)(-2)(-2)= -8。这些示例表明,
      负数的立方根具有负号,并且
      绝对值与等效的正数的立方根相同。幂是
      奇数正整数的倒数(幂1 / 3、1 / 5、1 / 7等)的任何其他根都拥有相似的属性。

    • 此属性有点精致。例如,仅将功率从1/3更改为次幂,我们就不能再将结果定义为精确的三个项的乘积。但是,如果有用,可以利用该属性。


  • x(1/2)

  • x2

    y=a+bx+cx2



    通常仅使用二次方,因为它们可以模拟
    数据区域内的关系。在该区域之外,它们的
    行为可能非常差,因为它们对于x的极值采用任意大的值,并且除非将截距a约束为0,否则它们的行为可能会不切实际地接近原点。
    • (x)2x2


谢谢你的帖子。真的很有帮助。您是否可以通过一些示例和数字对其进行补充,以描述如何将原始数据转换为可分离的数据?
Mvkt

1
@svk:我只是以一种易于理解的方式进行格式化,我认为哈迪就是写答案的人。如果我的猜测是正确的,那么他可能已经从一本书中抄袭了。让我们看看他是否回覆/建议一些事情。否则会写一个答案
Toros91 '18

2
正如@ Toros91所说,这是不同来源的结合,我强烈建议看一下 如何赢得数据科学竞赛:向顶尖的Kagglersstata docs学习
hadi gharibi 18-4-17

祭坛。尽管你们其中之一可以在python或matlab中发布一些示例代码,以介绍如何将x轴转换为sq.root或cube根比例。matlab具有对数刻度的对数图。但是对于其他比例尺,使用这些变换轴进行绘图会很有帮助
Mvkt

1

这些特定的可能是纯粹的启发式方法。对于图像,虽然这是非常标准的:将RGB更改为BGR,然后从每个像素中减去平均值。这可用于Imagenet,Pascal VOC,MS COCO等所有竞赛/数据集。原因是该网络具有标准化的数据集,因为所有图像可能都非常不同。


0

同样在这里-不知道,以前没看过。我想他们尝试了不同的转换并选择了效果最好的转换。因为他们在报告中说其他一些转换也可以。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.