You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于多变量人员数据集创建相似度heatmap的技术实现咨询

基于多变量人员数据集创建相似度heatmap的技术实现咨询

嘿,我来帮你搞定这个相似度热力图的问题!你的需求很清晰——根据Salary、GPA、IQ三个变量的匹配数量来定义人员间的相似度,完全匹配三个变量得1,匹配两个用另一种颜色区分,对吧?下面用Python来实现,步骤直观易懂:

第一步:把你的数据集整理成可处理的格式

首先我们用pandas把你给出的表格转成DataFrame,方便后续操作:

import pandas as pd

# 把你提供的数据转换成字典格式
data = {
    'Person': ['Alisson', 'Simon', 'Michael', 'Dani', 'Brian', 'David', 'Ilan', 'Juan', 'Julius', 'Philipp', 'Joshua', 'Rick', 'Moises', 'Fabian', 'Isaac', 'Kurt'],
    'Salary': [1, 1, 2, 2, 1, 1, 1, 2, 3, 3, 2, 2, 3, 3, 2, 2],
    'GPA': [1, 2, 3, 1, 2, 1, 1, 1, 3, 3, 1, 1, 1, 1, 2, 2],
    'IQ': [1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 1, 1, 1, 1, 2]
}
df = pd.DataFrame(data)

第二步:计算人员间的相似度矩阵

接下来我们要写一个小函数,用来计算任意两个人之间的相似度——统计三个变量中匹配的数量,再转换成你想要的比例(比如完全匹配3个得1,匹配2个得约0.67,这样数值和颜色对应更直观)。然后用这个函数填充一个相似度矩阵:

import numpy as np

def get_similarity(row_a, row_b):
    # 统计三个变量中相等的个数
    matched = sum([row_a[col] == row_b[col] for col in ['Salary', 'GPA', 'IQ']])
    # 转换成0-1之间的相似度值,你也可以直接返回匹配数量(3/2/1/0)
    return matched / 3

# 创建空的相似度矩阵,大小和人员数量一致
similarity_matrix = np.zeros((len(df), len(df)))

# 遍历填充矩阵
for i in range(len(df)):
    for j in range(len(df)):
        similarity_matrix[i][j] = get_similarity(df.iloc[i], df.iloc[j])

# 把矩阵转成带人名索引的DataFrame,方便后续绘图
similarity_df = pd.DataFrame(similarity_matrix, index=df['Person'], columns=df['Person'])

第三步:绘制相似度热力图

最后用seaborn库来画热力图,它能自动根据相似度值分配颜色,还可以显示每个单元格的具体数值:

import seaborn as sns
import matplotlib.pyplot as plt

# 设置画布大小,避免人名挤在一起
plt.figure(figsize=(12, 10))
# 绘制热力图:annot=True显示数值,cmap选颜色映射(viridis是很常用的配色),vmin/vmax限定数值范围
sns.heatmap(similarity_df, annot=True, cmap='viridis', vmin=0, vmax=1)
# 给热力图加标题
plt.title('Person Similarity Heatmap (Based on Salary, GPA, IQ)')
# 显示图形
plt.show()

效果说明

  • 完全匹配三个变量的单元格会显示1,颜色最深(或最亮,取决于你选的colormap)
  • 匹配两个变量的单元格显示约0.67,颜色次之
  • 匹配1个或0个的单元格颜色会更浅,一眼就能区分出来

如果你不想用比例值,直接用匹配的数量(3/2/1/0)作为相似度也可以,只要修改get_similarity函数的返回值为matched就行,热力图的颜色依然会自动区分不同的匹配等级。

备注:内容来源于stack exchange,提问作者user20378009

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 12:25:28