вычислить оценку плотности ядра для алгоритма kmeans - PullRequest
0 голосов
/ 06 апреля 2019

kde_numpy Меня попросили вычислить K (z) на основе функции плотности вероятности, используя np.linalg.norm.

это то, что я пытался, кто-нибудь знаетчто я делаю wroing?

def kernel(z):
# z: (N, 2) numpy.array
# returns (N, 1) numpy.array

k_zee=[]
for i in range (0,len(z)):
    dat=z[i]
    norm=LA.norm(dat, ord=2)
    k_zee.append((1/(np.sqrt(2*math.pi)))**(-(norm/2)))
return np.array(k_zee)

1 Ответ

1 голос
/ 06 апреля 2019

Заменить ** на np.exp:

Кроме того, ваш отступ неправильный - после строки def весь код должен быть с отступом один раз.

def kernel(z):
# z: (N, 2) numpy.array
# returns (N, 1) numpy.array
    k_zee=[]
    for i in range (0,len(z)):
        dat=z[i]
        norm=np.linalg.norm(dat, ord=2)
        k_zee.append((1/(np.sqrt(2*math.pi)))*np.exp(-(norm**2/2)))
    return np.array(k_zee)
...