X = np.absolute(X),这行代码加在哪里啊
时间: 2024-02-26 14:59:18 浏览: 60
Python3X np.load.txt
这行代码应该在特征向量 `X` 计算之后,归一化相似度矩阵之前加入。可以将这行代码加在 `X = np.real(X)` 这行代码之后,如下所示:
```python
# 将特征向量转化为矩阵
X = np.array(X)
# 将复数类型的数据转换为实数类型
X = np.absolute(X)
# 计算相似度矩阵
S = np.dot(X, X.T)
# 归一化相似度矩阵
D = np.diag(np.sum(S, axis=1))
L = D - S
L_norm = np.dot(np.dot(np.sqrt(np.linalg.inv(D)), L), np.sqrt(np.linalg.inv(D)))
# 计算特征向量
eigvals, eigvecs = np.linalg.eig(L_norm)
idx = eigvals.argsort()[::-1]
eigvals = eigvals[idx]
eigvecs = eigvecs[:, idx]
Y = eigvecs[:, :2]
```
这样,就可以在不丢失虚部信息的情况下,将复数类型的特征向量转换为实数类型,避免出现警告信息。
阅读全文