Последствия проецирования данных на более низкие измерения - PullRequest
0 голосов
/ 24 ноября 2018
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
import math

na = 400

ma = [2, 1]

Sa = [[3, -2], [-2, 3]]

sigma1 = [3, 3]

nb = 400

mb = [8, 6]

Sb = [[3, -2], [-2, 3]]

xa, ya = np.random.multivariate_normal(ma, Sa, na).T

xb, yb = np.random.multivariate_normal(mb, Sb, nb).T

plt.plot(xa, ya, 'x')    
plt.plot(xb, yb, 'x')    
plt.axis('equal')    
plt.show()

Я случайно сгенерировал данные из двухмерных гауссовых распределений, и мне нужно спроецировать их на w=[0, 1] и построить гистограмму.Я попытался использовать plt.hist, но не позволяет умножение.

1 Ответ

0 голосов
/ 24 ноября 2018

Ниже ссылки могут быть полезны для обучения NumPy.

https://docs.scipy.org/doc/numpy-1.15.0/user/basics.creation.html https://jakevdp.github.io/PythonDataScienceHandbook/02.02-the-basics-of-numpy-arrays.html

Я думаю, что вы спрашиваете ниже:

w = np.array([2,1])
a = np.array([xa,ya]).T
b = np.array([xb,yb]).T

aw = np.dot(a,w)
bw = np.dot(b,w)

plt.figure(0)
plt.hist(aw,label='a',histtype='step')
plt.hist(bw,label='b',histtype='step')
plt.title('projected')
plt.legend()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...