Python CSV 数据分组:使用 torch.pairwise_distance 计算相关性
使用 Python 将 CSV 记录根据相关性分组
本文介绍如何使用 Python 读取 CSV 文件,并利用 torch.pairwise_distance 计算记录之间的相关性。随后,根据相关性阈值 (0.6) 将相关性高的记录分组。
1. 读取 CSV 记录
import pandas as pd
df = pd.read_csv('data.csv') # 读取csv文件
records = df.values # 将记录转换为numpy数组
2. 计算记录之间的相关性
import torch
tensor_records = torch.tensor(records) # 将numpy数组转换为tensor
distances = torch.pairwise_distance(tensor_records, tensor_records) # 计算记录之间的欧几里得距离
similarities = 1 - distances / distances.max() # 计算相关性,将欧几里得距离转换为相似度
3. 根据相关性>0.6 将记录分组
import numpy as np
groups = []
for i in range(len(records)):
group = [i] # 将第i条记录作为一个分组的第一个元素
for j in range(i+1, len(records)):
if similarities[i][j] > 0.6: # 如果第i条记录与第j条记录的相关性大于0.6,则将第j条记录加入该分组
group.append(j)
if len(group) > 1: # 如果分组中元素个数大于1,则将该分组加入groups列表
groups.append(group)
最终,groups 列表中的每个元素都是一个分组,包含相关性大于 0.6 的记录的索引。
原文地址: https://www.cveoy.top/t/topic/nfLg 著作权归作者所有。请勿转载和采集!