Предположим, у меня есть функция, которая имеет три входа prob (x, mu, sig).
С размерами:
x = 1 x 3
mu = 1 x 3
sig = 3 x 3
Теперь у меня есть набор данных X, средняя матрица M и стандарт. матрица отклонений сигма.
Размеры: -
X : m x 3.
mean : k x 3.
sigma : k x 3 x 3
Для каждого значения m я хочу передать все значения k в функции prob, чтобы вычислить значение моей ответственности.
Я могу передавать значения одно за другим, используя циклы for.
Что было бы лучшим способом сделать это в NumPy.
Соответствующий код для справки:
responsibility = np.zeros((X.shape[0],k))
s = np.zeros(k)
for i in np.arange(X.shape[0]):
for j in np.arange(k):
s[j] = prob(X[i],MU[j],SIGMA[j])
s = s/s.sum()
responsibility[i] = s
responsibility = np.transpose(responsibility)