python 给一组矢量点创建亲和矩阵的代码
时间: 2024-12-11 12:32:21 浏览: 10
在Python中,你可以使用scikit-learn库中的`pairwise_distances`函数来计算一组向量点之间的相似度,然后转换为亲和矩阵。假设我们有一组二维向量列表(每个元素是一个列表代表一个点),可以这样做:
```python
from sklearn.metrics.pairwise import cosine_similarity # 使用余弦相似度作为例子,其他距离衡量方法也可替换
# 假设你的向量数据存储在一个名为points的列表里,每个元素是个长度相同的列表表示一个点
points = [
[0, 0], # 点1
[1, 1], # 点2
[-1, -1], # 点3
# 更多点...
]
# 计算所有点对之间的相似度
similarity_matrix = cosine_similarity(points)
# 将相似度转换为亲和矩阵(通常我们会取相似度的倒数作为亲和度)
affinity_matrix = 1 / similarity_matrix
# 或者直接保留原相似度值,视具体需求而定
# affinity_matrix = similarity_matrix
print("Affinity Matrix:")
print(affinity_matrix)
```
这里我们使用了余弦相似度,如果需要其他类型的距离(如欧氏距离、曼哈顿距离等),只需替换`cosine_similarity`即可。
阅读全文