首页 > 其他分享 >数据分析:5个数据相关性指标

数据分析:5个数据相关性指标

时间:2022-12-29 22:24:01浏览次数:61  
标签:数据分析 distance similarity Jaccard two 指标 相关性 between

1. 介绍

相似性度量是许多数据分析和机器学习任务中的重要工具,使我们能够比较和评估不同数据片段之间的相似性。有许多不同的指标可用,每个指标各有利弊,适用于不同的数据类型和任务。

本文将探讨一些最常见的相似性指标并比较它们的优缺点。通过了解这些指标的特点和局限性,我们可以选择最适合我们特定需求的指标,并确保结果的准确性和相关性。

2. 指标

2.1. 欧几里得距离

该指标计算 n 维空间中两点之间的直线距离。它常用于连续的数值数据,易于理解和实现。但是,它可能对异常值很敏感,并且没有考虑不同特征的相对重要性。

from scipy.spatial import distance

# Calculate Euclidean distance between two points
point1 = [1, 2, 3]
point2 = [4, 5, 6]

# Use the euclidean function from scipy's distance module to calculate the Euclidean distance
euclidean_distance = distance.euclidean(point1, point2)

2.2. 曼哈顿距离

该指标通过考虑两点坐标在每个维度中的绝对差异并将它们相加来计算两点之间的距离。它对离群点的敏感性不如欧氏距离,但在某些情况下可能无法准确反映点与点之间的实际距离。

from scipy.spatial import distance

# Calculate Manhattan distance between two points
point1 = [1, 2, 3]
point2 = [4, 5, 6]

# Use the cityblock function from scipy's distance module to calculate the Manhattan distance
manhattan_distance = distance.cityblock(point1, point2)

# Print the result
print("Manhattan Distance between the given two points: " + \
      str(manhattan_distance))

2.3. 余弦相似度

该指标通过考虑角度来计算两个向量之间的相似度。它通常用于文本数据并且可以抵抗向量大小的变化。但是,它没有考虑不同特征的相对重要性。

from sklearn.metrics.pairwise import cosine_similarity

# Calculate cosine similarity between two vectors
vector1 = [1, 2, 3]
vector2 = [4, 5, 6]

# Use the cosine_similarity function from scikit-learn to calculate the similarity
cosine_sim = cosine_similarity([vector1], [vector2])[0][0]

# Print the result
print("Cosine Similarity between the given two vectors: " + \
      str(cosine_sim))Jaccard Similarity

2.4. Jaccard相似度

该指标通过考虑两个集合的交集和并集的大小来计算两个集合之间的相似性。它通常用于分类数据并且可以抵抗集合大小的变化。但是,它不考虑集合的顺序或元素的频率。

def jaccard_similarity(list1, list2):
    """
    Calculates the Jaccard similarity between two lists.
    
    Parameters:
    list1 (list): The first list to compare.
    list2 (list): The second list to compare.
    
    Returns:
    float: The Jaccard similarity between the two lists.
    """
    # Convert the lists to sets for easier comparison
    s1 = set(list1)
    s2 = set(list2)
    
    # Calculate the Jaccard similarity by taking the length of the intersection of the sets
    # and dividing it by the length of the union of the sets
    return float(len(s1.intersection(s2)) / len(s1.union(s2)))

# Calculate Jaccard similarity between two sets
set1 = [1, 2, 3]
set2 = [2, 3, 4]
jaccard_sim = jaccard_similarity(set1, set2)

# Print the result
print("Jaccard Similarity between the given two sets: " + \
      str(jaccard_sim))

2.5. 皮尔逊相关系数

该指标计算两个变量之间的线性相关性。它通常用于连续的数值数据,并考虑不同特征的相对重要性。但是,它可能无法准确反映非线性关系。

import numpy as np

# Calculate Pearson correlation coefficient between two variables
x = [1, 2, 3, 4]
y = [2, 3, 4, 5]

# Numpy corrcoef function to calculate the Pearson correlation coefficient and p-value
pearson_corr = np.corrcoef(x, y)[0][1]

# Print the result
print("Pearson Correlation between the given two variables: " + \
      str(pearson_corr))

欢迎Star -> 学习目录


本文由mdnice多平台发布

标签:数据分析,distance,similarity,Jaccard,two,指标,相关性,between
From: https://www.cnblogs.com/swindler/p/17013691.html

相关文章

  • Linux 常用监控指标总结
    1.Linux运维基础采集项做运维,不怕出问题,怕的是出了问题,抓不到现场,两眼摸黑。所以,依靠强大的监控系统,收集尽可能多的指标,意义重大。但哪些指标才是有意义的呢,本着从实践中来......
  • 【爬虫+数据分析+数据可视化】python数据分析全流程《2021胡润百富榜》榜单数据!
    目录一、爬虫1.1爬取目标1.2分析页面1.3爬虫代码1.4结果数据二、数据分析2.1导入库2.2数据概况2.3可视化分析2.3.1财富分布2.3.2年龄分布2.3.3公司总部分布2.3.4......
  • 物体检测中的评价指标
    对于一个检测器,我们需要制定一定的规则来评价其好坏,从而选择需要的检测器。对于图像分类任务来讲,由于其输出是很简单的图像类别,因此很容易通过判断分类正确的图像数量来进行......
  • 如何精简 Prometheus 的指标和存储占用
    前言随着Prometheus监控的组件、数量、指标越来越多,Prometheus对计算性能的要求会越来越高,存储占用也会越来越多。在这种情况下,要优化Prometheus性能,优化存储占用......
  • 评价语言模型的预测性能的指标:困惑度
    斋藤康毅深度学习进阶:NLP学习笔记 ......
  • 模型评价指标
    准确度、精确度、召回率、F1值作为评估指标,经常用到分类效果的评测上。精确度:可以理解为预测出的东西有多少是用户感兴趣的;召回率:可以理解为用户感兴趣的东西有多少被预......
  • 网管型工业交换机的三大指标
    网管型工业交换机在应用过程中有很多优势,这其中都是因为网管型工业交换机的各个指标正常且达标,符合相关质量要求,那么,它其中的三个指标尤为重要,一起来看看吧!一、网管型工业交......
  • 声纹识别的评价指标(读书笔记)
    目录1.余弦相似度(cosinesimilarity)2.欧式距离(Euclideandistance)3.神经网络对于声纹识别技术,需要有统一的指标来衡量这些系统之间的优劣。声纹识别领域中通常使用等错......
  • 数据分析师成长体系漫谈 - 数仓模型设计
    备注: 本文是前阿里巴巴数据分析专家-张腾在infoQ账号 analysis-lion序看到标题,可能很多小伙伴都会疑惑,为什么笔者把数仓模型设计也纳入了数据分析师的成长体系之中,因为可......
  • 数据分析师成长体系漫谈 -- 数据埋点
    备​ 本文是前阿里巴巴数据分析专家-张腾在infoQ账号 analysis-lion序说起数据埋点,对于大多数的数据分析师来说并不陌生,并且可能在很多人的认知中,埋点的工作是由产品经......