我有一个用图表表示的药物数据集,每个数据集由三个非方矩阵描述:
我想在笛卡儿空间上绘制这些数据,看看集群是否是基于它们的活动标签创建的。我想,如果我能把每个矩阵缩小到空间中的一个点,对于每一个图,我就会有三个x,y,z坐标,然后就很容易画出这些点。在你看来这有意义吗?我如何使用python将一个矩阵转化为一个点呢?最后,我给大家留下一个我想要创建的图的例子,谢谢大家!
发布于 2022-10-02 08:59:56
你有三个矩阵,A,X,E,你想把它们映射到3D笛卡儿空间的一个点。这意味着每个矩阵都应该映射到一个数字,即A \to x、X \to y、E \to z,即您需要设计三个函数f(A) : A \to x、g(X) : X \to y、h(E) : E \to z。
主要问题是如何设计函数f(A)、g(X)和h(E),这里没有单一的菜谱。
最天真的方法是使用一些矩阵不变量。因为你的矩阵是矩形的,它可以是\sqrt{\mathrm{det}(AA^T)}。然而,这种映射缺乏任何物理意义,最好至少有一些。
我不知道A和E中的键是如何排列的,X中的原子是如何排列的,但是如果您只是将原子和键随机放置在一起,那么f和h应该对列的变化不变量(例如,必须是列之和的函数),而g应该对行的变化不变量。
您可以检查,您要建模的属性在数字键中是否是线性的。如果是的话,您的f和h将是线性的:f(A) = \sum\limits_{ij}f_{ij}a_{ij},h(E) = \sum\limits_{ij}h_{ij}e_{ij}。然后进一步探讨确定系数f_{ij}和h_{ij}。如果依赖是非线性的,你可以检查它是如何依赖于键数的,并将这种依赖加到f和h中,并与g做类似的事情,分析它们对原子数目的依赖。
模型的性质不仅取决于原子和键的数量,还取决于它们的排列。然后,它们在矩阵中的位置不是随机的。
通过这样的分析,在设计了函数f(A) : A \to x、g(X) : X \to y和h(E) : E \to z之后,您可以绘制出生成的3D-points,例如,根据本教程:链接。
https://datascience.stackexchange.com/questions/114132
复制相似问题