我有一个矩阵,在计算朴素贝叶斯分类器时未通过奇异性测试。我正在处理方程式中的ln(det(sigma))
部分。
if np.linalg.cond(covarianceMatrix) < 1/sys.float_info.epsilon:
return np.log(np.linalg.det(covarianceMatrix))
else:
return a pseudo determinant
当协方差矩阵是奇异的时候,我必须找到伪行列式。我该如何做呢?
我有一个矩阵,在计算朴素贝叶斯分类器时未通过奇异性测试。我正在处理方程式中的ln(det(sigma))
部分。
if np.linalg.cond(covarianceMatrix) < 1/sys.float_info.epsilon:
return np.log(np.linalg.det(covarianceMatrix))
else:
return a pseudo determinant
当协方差矩阵是奇异的时候,我必须找到伪行列式。我该如何做呢?
eig_values = np.linalg.eig(covarianceMatrix)
pseudo_determinent = np.product(eig_values[eig_values > 1e-12])