首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

机器学习中如何用筛选器检测冗余?

筛选器试图在特征丛林中进行清洗,它独立于后续使用的任何机器学习方法。它基于统计方法找出冗余或无关特征。一般来讲,筛选器的工作流所图:

通过使用相关性,很容易看到特征之间的线性关系。这种关系可以用一条直线来拟合。在下面这些图中,我们可以看到不同程度的相关性,以及一个用红色虚线描绘出的潜在线性依赖关系(一个拟合的一维多项式)。每幅图上方的相关系数Cor(X1,X2)是用皮尔逊相关系数计算出来的(皮尔逊r值),采用的是scipy.stat里的rearsonr()函数。

给定两个大小相等的数据序列,它会返回相关系数值和p值所组成的元组。p值是该序列产生于一个不相关系统的概率。换句话说,p值越高,我们越不能信任这个相关系数:

在第一种情况下,知道这两个序列是相关的。而在第二种情况下,我们仍然有一个非零的r值。

然而,p值基本上告诉这个系数是什么样的,不应对它过多关注。

在前三个具有高相关系数的情形中,我们可能要把X1或X2扔掉,因为它们似乎传递了相似的信息。

然而在最后一种情况中,我们应该所两个特征都保留。在应用中,这种决策当然是由p值驱动的。

尽管这种方法在前面这个例子中工作得不错,但在实际应用中却并不好。基于相关性的特征选择方法的一个最大缺点就是,它只能检测出线性关系(可以用一条直线拟合的关系)。如果在非线性数据中使用相关性,就有问题了。

除右下图以外的所有图中,尽管人的眼睛可以立即看到X1或X2之间的关系,却没法发现相关系数。很明显,相关性在检测线性关系中是很有用的,但对于其他关系就不行了。而对于非线性关系,可以用互信息。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180110A0E5M300?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券