当前位置: 首页 > news >正文

【机器学习】4. 相似性比较(二值化数据)与相关度(correlation)

SMC

Simple Matching Coefficient 评估两组二进制数组相似性的参数
SMC = (f11 + f00) / (f01+f10+f11+f00)
其中,f11表示两组都为1的组合个数,f10表示第一组为1,第二组为0的组合个数。

这样做会有一个缺点,假设是比较稀疏的数据,如今天去哪一个地区,地区有成千上万个,但是去的只有一个地区。那么就会导致f00非常的大,如此计算的结果SMC必然很大,但是能够代表两组数据高度相关吗?这并不合理。

Jaccard

由于SMC不适配某些场景,Jaccard应运而生。
Jaccard剔除了f00,从而避免了f00过大导致的数值偏差。
J = f11 / (f01 + f10 + f11)

Cosine

  • 适用于二值化数据,也适用于非二值化数据。
  • 广泛用于文档的分类
    c o s ( A , B ) = A ∗ B ∣ ∣ A ∣ ∣ ∣ ∣ B ∣ ∣ cos(A,B) = \frac{A * B}{||A|| ||B||} cos(A,B)=∣∣A∣∣∣∣B∣∣AB
    ||A|| L2范式,即上一节讲的欧氏距离

A = [1 , 2, 3]
B = [4, 5, 6]
A*B = 1 * 4 + 2 * 5 + 3 * 6
||A|| = sqrt (1 * 1 + 2 * 2 + 3 * 3)
||B|| = sqrt (4 * 4 + 5 * 5 + 6 * 6)

0°相关
90°不相关
在这里插入图片描述
离的远则不相似,贴得近则相似

Correlation

c o r r ( X , Y ) = c o v a r ( x , y ) s t d ( x ) s t d ( y ) corr(X,Y) = \frac{covar(x,y)}{std(x)std(y)} corr(X,Y)=std(x)std(y)covar(x,y)
c o v a r ( x , y ) = 1 n − 1 ∑ k = 1 n ( x k − m e a n ( x ) ) ( y k − m e a n ( y ) ) covar(x,y) = \frac{1}{n-1}\sum^n_{k=1}(x_k - mean(x))(y_k - mean(y)) covar(x,y)=n11k=1n(xkmean(x))(ykmean(y))
s t d ( x ) = ∑ k = 1 n ( x k − m e a n ( x ) ) 2 n − 1 std(x) = \sqrt{\frac{\sum^n_{k=1}(x_k - mean(x))^2}{n-1}} std(x)=n1k=1n(xkmean(x))2

  • mean: 均值
  • 范围[-1,1] -1是负相关, 0 是不相关, 1 是正相关

http://www.mrgr.cn/news/6359.html

相关文章:

  • 责任链模式 和 状态模式
  • EKS开源系列之XF_UTILS工具库
  • Linux远程访问控制
  • Openstack 与 Ceph集群搭建(中): Ceph部署
  • 数据库;SQL语言; 数据库编程
  • 【在Linux世界中追寻伟大的One Piece】IO基础
  • 如何对 GitLab 中文版进行升级?
  • 大语言模型私有化部署和个性化调优的技术实践
  • 以FLV解复用为例详解开源库FFmpeg中解复用器的源码逻辑及处理流程
  • Springboot+vue实现webScoket
  • 远端登录基础配置实验
  • 【计算机网络】认识端口号 认识传输层协议 认识网络字节序 认识socket套接字
  • linux Qt QkeyEvent及驱动键盘按键捕获
  • SolidityFoundry Merkle Airdrop
  • Gene_processing_system-v2.0使用之环境变量配置
  • 鉴权Cookies、授权session、token
  • 2024 Python3.10 系统入门+进阶(七):字符串及其常用操作详解上篇
  • “CSS”第一步——WEB开发系列13
  • Python入门教程(超详细)
  • Unity URP Shader 修改深度让人物不再被地面遮挡