肯德尔系数主要是用来判断两个有序序列的相关性

大致的计算流程:

  1. 对x与y先进行排序,得到不同的值对应的顺序
  2. x与y配对计算,判断他们的顺序的一致对 (x的顺序与y的顺序相同) 和分歧对 (x的顺序与y的顺序相反)
  3. 最后根据这个顺序的统计结果计算得到肯德尔系数的结果

注:我们可以看到,如果x或y序列中有大量的值重复,比如部分完全相同的x与y序列,这个就很难区分了。因此有基于这种思想的不同的计算方法(成为肯德尔系数的变种),在scipy.stats.kendalltau中参数variant='b'就是指定变种。

更多请参考:scipy.stats.kendalltau文档参考:https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.kendalltau.html

简易示例:

from scipy.stats import kendalltauif __name__ == '__main__':corr_values = kendalltau([1, 2, 3, 4, 5],[5, 4, 3, 2, 5],)print(corr_values)

示例代码

import pandas as pd
from sklearn.datasets import make_classificationdef kendalltau_selection(x_data, y_data):"""肯德尔相关系数"""from scipy.stats import kendalltauparam_dict = []for col_name, c_data in x_data.iteritems():sp = kendalltau(c_data, y_data)[0]param_dict.append([col_name, abs(sp)])max_param3 = sorted(param_dict, key=lambda x: -x[1]) # 对结果排序# 打印结果print("kendalltau:")for param in max_param3:print(param[0], ":", param[1])if __name__ == '__main__':value_x, value_y = make_classification(n_samples=1000, n_classes=4, n_features=10, n_informative=8)df_x = pd.DataFrame(value_x, columns=['f_1', 'f_2', 'f_3', 'f_4', 'f_5', 'f_6', "f_7", "f_8", "f_9", "f_10"])df_y = pd.Series(value_y)# 下面是筛选单变量特征feature_df = kendalltau_selection(df_x, value_y)

参考资料

常用的特征选择方法之 Kendall 秩相关系数:https://guyuecanhui.github.io/2019/08/10/feature-selection-kendall/

特征筛选6——肯德尔相关系数筛选特征(单变量筛选)相关推荐

  1. 皮尔森、斯皮尔曼,肯德尔相关系数的理解

    pandas中的corr()方法可使用如下方法,检测特征间的关系 皮尔森相关系数(线性相关) 计算公式:两个连续变量(X,Y)的pearson相关性系数(Px,y)等于(X, Y)的协方差cov(X, ...

  2. 相关系数和相关性分析(下):肯德尔相关系数

    专注系列化.高质量的R语言教程 推文索引 | 联系小编 | 付费合集 前面已经介绍了皮尔逊相关系数和斯皮尔曼相关系数,详见推文:相关系数和相关性分析(上):皮尔逊相关系数.斯皮尔曼相关系数. 本篇目录 ...

  3. 皮尔逊、斯皮尔曼、肯德尔相关系数python实现

    文章目录 一.肯德尔系数 1. 定义: 2. python实现 二.肯德尔系数.皮尔逊系数.斯皮尔曼系数 2. python实现 一.肯德尔系数 1. 定义: Kendall(肯德尔)系数的定义:n个 ...

  4. 肯德尔系数怎么分析_Kendall Rank(肯德尔等级)相关系数

    1.简介 在统计学中,肯德尔相关系数是以Maurice Kendall命名的,并经常用希腊字母τ(tau)表示其值.肯德尔相关系数是一个用来测量两个随机变量相关性的统计值.一个肯德尔检验是一个无参数假 ...

  5. 三大统计学相关系数(pearson皮尔森、spearman斯皮尔曼、kendall肯德尔)

    目录 1 person correlation coefficient(皮尔森相关性系数) 2 spearman correlation coefficient(斯皮尔曼相关性系数) 3 kendal ...

  6. 统计学三大相关系数之肯德尔(kendall)相关性系数

    肯德尔相关性系数,又称肯德尔秩相关系数,它也是一种秩相关系数,不过它所计算的对象是分类变量. 分类变量可以理解成有类别的变量,可以分为 无序的,比如性别(男.女).血型(A.B.O.AB): 有序的, ...

  7. 斯皮尔 皮尔森 肯德尔_一起来学应用统计学(全部)(二)持续更新

    应用统计基本内容(简略版) 描述统计:统计图表,集中趋势(平均数,中数,众数),离散趋势(极差,离均差,平均差,方差,标准差,差异系数,z分数) 数学基础(概率论基础,抽样分布理论) 推断统计:参数估 ...

  8. Pearson皮尔逊,Kendall肯德尔和Spearman斯皮尔曼三种相关分析方法的异同

    在SPSS软件相关分析中,pearson(皮尔逊),kendall(肯德尔)和spearman(斯伯曼/斯皮尔曼)三种相关分析方法有什么异同      两个连续变量间呈线性相关时,使用Pearson积 ...

  9. 斯皮尔 皮尔森 肯德尔_统计学-三大相关性系数 | 生物统计学基础系列课

    原标题:统计学-三大相关性系数 | 生物统计学基础系列课 什么是生物统计学 生物统计学是一种很有用的工具,正确使用这一工具可以使科学研究更加有效,使科学研究可以更加高效的开展.因此,它是每位生物科学工 ...

最新文章

  1. web.py下获取get参数
  2. 是我,一行代码三个 Bug!!! | 每日趣闻
  3. python操作文件和目录_Python操作文件和目录
  4. 图像传感器与信号处理——自动曝光算法
  5. 一个C实现的线程池(产品暂未运用)
  6. C#在ASP.NET4.5框架下的首次网页应用
  7. npm install报错 npm ERR,code ERESOLVE npm ERR,ERESOLVE unable to resolve dependency tree
  8. shell脚本中的条件测试if中的-z到-d的意思
  9. 【docker】第四节:通过docker容器,进行部署fastadmin。
  10. vlan跨交换机 udp广播_网络交换VLAN基础入门
  11. linux c libcurl的简单使用
  12. 电脑更新系统时间显示rpc服务器不可用,win7系统时间同步出错RPC服务器不可用的解决方法...
  13. 英特尔傲腾内存linux,英特尔一面优化傲腾可持续内存性能 一面不忘科普
  14. 苹果ipad邮箱找不到服务器,ipad怎么设置qq邮箱?苹果ipad qq邮箱设置教程
  15. 网络游戏外挂与反外挂的研究
  16. Typer Girl安装补丁DLC
  17. 大一计算机系要什么游戏本,大一新生笔记本电脑推荐-大一新生笔记本推荐性价比高榜单...
  18. 支持Tasker控制的app合集
  19. 指针定义、指针与数组、指针运算、比较
  20. Docker常用容器命令

热门文章

  1. metrics的timer功能在java项目中的使用方法
  2. SPH(光滑粒子流体动力学)流体模拟实现二:SPH算法(4)-算法实现1
  3. python 文件管理_python 文件操作
  4. 用SSE加速CPU蒙皮计算
  5. 图形学理论知识 BRDF 双向反射分布函数
  6. Trace文件过量生成问题解决
  7. 武汉往事之撰写的SAP软文被微信公众号充公
  8. jQuery EasyUI使用教程之创建展开行详细编辑表单的CRUD应用
  9. python3 slice
  10. cacheinterceptor第二次访问没被调用_双分派访问者模式的前世今生