Skip to content

Commit 6c7efc2

Browse files
authored
Merge pull request #562 from Open-Deep-ML/moe18-patch-8
Fix covariance matrix calculation logic
2 parents 7998b03 + 4798db8 commit 6c7efc2

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
import numpy as np
22

33
def calculate_covariance_matrix(vectors: list[list[float]]) -> list[list[float]]:
4-
n_features = len(vectors)
5-
n_observations = len(vectors[0])
6-
covariance_matrix = [[0 for _ in range(n_features)] for _ in range(n_features)]
4+
n_observations = len(vectors)
5+
n_features = len(vectors[0])
6+
covariance_matrix = [[0 for _ in range(n_observations)] for _ in range(n_observations)]
77

8-
means = [sum(feature) / n_observations for feature in vectors]
8+
means = [sum(feature) / n_features for feature in vectors]
99

10-
for i in range(n_features):
11-
for j in range(i, n_features):
12-
covariance = sum((vectors[i][k] - means[i]) * (vectors[j][k] - means[j]) for k in range(n_observations)) / (n_observations - 1)
10+
for i in range(n_observations):
11+
for j in range(i, n_observations):
12+
covariance = sum((vectors[i][k] - means[i]) * (vectors[j][k] - means[j]) for k in range(n_features)) / (n_features - 1)
1313
covariance_matrix[i][j] = covariance_matrix[j][i] = covariance
1414

1515
return covariance_matrix

0 commit comments

Comments
 (0)