Если вы посмотрите на реализацию класса EmpiricalCovariance и утилиту функцию , которую она вызывает, вы увидите, что np.cov(data, bias=1)
(почти) совпадает с EmpiricalCovariance.fit(...).covariance_
.
Давайте проведем несколько экспериментов:
from sklearn.covariance import EmpiricalCovariance
import numpy as np
np.random.seed(10)
data = np.random.rand(10, 10)
np.allclose(EmpiricalCovariance().fit(data).covariance_, np.cov(data.T, bias=1))
# returns True !
Из официальных документов numpy вы можете видеть, что диагональные элементы ковариационной матрицы - это дисперсии строк:
np.isclose(np.var(data[0]), np.cov(data, bias=1)[0][0])
# returns TRUE