美文网首页
数据分析:5个数据相关性指标

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

作者: 数据科学工厂 | 来源:发表于2022-12-28 22:16 被阅读0次

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多平台发布

相关文章

  • 【读书笔记】精益数据数据分析_20190827周二

    第一部分 别再欺骗自己了 基本的分析概念:定性数据和定量数据、虚荣指标、相关性、同期群、细分、先见性指标。 第1章...

  • 相关性及PCA分析

    简要介绍相关性及PCA分析 1、 相关性分析 本次使用数据如下所示: 加载数据 相关性分析 结果如下 2、PCA分...

  • 空间组数据和单细胞数据的相关性分析(Seurat)2022-05

    相似关键词 单细胞数据集相关性分析 空间组与单细胞数据集相关性分析 空间组数据集相关性分析 适用背景 近年来,单细...

  • 相关性分析的TIPS

    相关性分析 tips:相关性分析不要局限在数值型数据和数值型数据之间(散点图),还有其他的相关性可供分析: 1.数...

  • 数据分析的思路总结

    数据-数据指标-分析框架-分析方法 一、数据 数据:量化事物的指标 了解数据的来源看这个数据的样本范围,提取手段,...

  • 数据变化背后的趣事

    事物的发生都有它内因和外因,给你看到的不过是一个数据指标,若这个数据指标A与数据指标B之间无线性或相关性的话,那么...

  • Python数据分析 | 数据描述性分析

    目录: 数据准备 类别型数据分析 数值型数据分析查看数据分布查看异常值描述性统计分析数据分布模型 相关性分析 1....

  • 读书笔记20161106

    移动产品的数据分析指标 整理自腾讯课堂《移动产品数据分析指标》 - 移动应用的崛起 - 为什么要做数据分析 分析现...

  • Power BI多个度量值进行动态分析

    在数据分析中,经常会有多个指标进行数据的展现分析,但是如果指标过多则会影响数据的精准分析,那怎么样选择一个指标就对...

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

    1. 介绍 相似性度量是许多数据分析和机器学习任务中的重要工具,使我们能够比较和评估不同数据片段之间的相似性。有许...

网友评论

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

      本文链接:https://www.haomeiwen.com/subject/bfgzqdtx.html