为了账号安全,请及时绑定邮箱和手机立即绑定

如何在学习中使用Mann-Whitney U检验

如何在学习中使用Mann-Whitney U检验

HUWWW 2021-03-19 14:09:58
我有一个表(X,Y),其中X是矩阵,Y是类的向量。这里是一个例子:X = 0 0 1 0 1   and Y = 1    0 1 0 0 0           1    1 1 1 0 1           0我想使用Mann-Whitney U检验来计算特征重要性(特征选择)from scipy.stats import mannwhitneyuresults = np.zeros((X.shape[1],2))for i in xrange(X.shape[1]):    u, prob = mannwhitneyu(X[:,i], Y)    results[i,:] = u, pro我不确定这是正确的还是否?我为大型表u = 990和某些列获取了较大的值。
查看完整描述

1 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

我认为使用Mann-Whitney U检验不是进行特征选择的好方法。曼恩·惠特尼(Mann-Whitney)测试了两个变量的分布是否相同,它并没有告诉您变量之间的相关性。例如:


>>> from scipy.stats import mannwhitneyu

>>> a = np.arange(100)

>>> b = np.arange(100)

>>> np.random.shuffle(b)

>>> np.corrcoef(a,b)

   array([[ 1.        , -0.07155116],

          [-0.07155116,  1.        ]])

>>> mannwhitneyu(a, b)

(5000.0, 0.49951259627554112) # result for almost not correlated

>>> mannwhitneyu(a, a)

(5000.0, 0.49951259627554112) # result for perfectly correlated

因为a和b具有相同的分布,所以我们无法拒绝零分布的假设,即该分布是相同的。


并且由于在特征选择中您尝试查找主要解释的特征Y,因此Mann-Whitney U不能为您提供帮助。


查看完整回答
反对 回复 2021-03-29
  • 1 回答
  • 0 关注
  • 458 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号