在Python中计算Fisher准则

1 投票
2 回答
4959 浏览
提问于 2025-04-17 19:31

有没有一个Python模块,可以在给定两个向量x和y的情况下,计算Fisher准则,其中y是一个二分类(0和1)?具体的计算公式可以在这里查看:http://compbio.soe.ucsc.edu/genex/genexTR2html/node12.html

请注意,我并不是想使用Fisher的线性判别,只是想要Fisher准则的计算 :).

提前谢谢大家!

2 个回答

1

这看起来非常像线性判别分析。如果你觉得这样可以,那你可以使用scikit-learnmlpy,或者其他很多支持向量机(SVM)的工具。

3

根据我所了解的情况,似乎没有现成的解决方案,但你可以自己写一个(请确保这个结果是正确的,我只是根据我对公式的理解来判断的)。

import numpy as np

def fisher_criterion(v1, v2):
    return abs(np.mean(v1) - np.mean(v2)) / (np.var(v1) + np.var(v2))

比如说,这样计算出来的结果是:

>>> fisher_criterion([0, 1, 2], [0, 1])
0.54545454545454553

撰写回答