余弦相似度行向量相似度矩阵,列向量相似度矩阵python代码
时间: 2023-06-11 07:05:51 浏览: 109
以下是计算行向量相似度矩阵和列向量相似度矩阵的Python代码:
```python
import numpy as np
# 计算行向量相似度矩阵
def row_similarity_matrix(X):
sim_mat = np.zeros((X.shape[0], X.shape[0]))
for i in range(X.shape[0]):
for j in range(X.shape[0]):
sim_mat[i, j] = np.dot(X[i], X[j]) / (np.linalg.norm(X[i]) * np.linalg.norm(X[j]))
return sim_mat
# 计算列向量相似度矩阵
def col_similarity_matrix(X):
sim_mat = np.zeros((X.shape[1], X.shape[1]))
for i in range(X.shape[1]):
for j in range(X.shape[1]):
sim_mat[i, j] = np.dot(X[:, i], X[:, j]) / (np.linalg.norm(X[:, i]) * np.linalg.norm(X[:, j]))
return sim_mat
```
其中,输入参数 `X` 是一个二维的数组,行代表样本数,列代表特征数。函数 `row_similarity_matrix` 返回的是行向量相似度矩阵,大小为样本数×样本数。函数 `col_similarity_matrix` 返回的是列向量相似度矩阵,大小为特征数×特征数。这里使用了 numpy 库中的 dot 函数计算向量点积和 linalg.norm 函数计算向量范数。
阅读全文