def main(): gmm = GMM(N=1000) gmm.append(normalDist(array([0.,10.]), array([[5.,0.], [0.,3.]])), 0.4) gmm.append(normalDist(array([-5.,-10.]), array([[5.,0.], [0.,5.]])), 0.3) gmm.append(normalDist(array([15.,15.]), array([[5.,0.], [0.,5.]]))) (t,x) = gmm.sample().mixtures() colors = [['blue', 'red', 'green'][int(label)] for label in t] plt.scatter(x[:,0], x[:,1], color=colors) cls = linear() cls.fit(x,t,target=1) print(cls.wml) xlim = [min(x[:,0]), max(x[:,0])] tics = arange(xlim[0]-3,xlim[1]+3,0.01) plt.xlim(xlim[0]-3,xlim[1]+3) plt.plot(*cls.cPlane(tics), color='black') plt.show()
def main(): gmm = GMM(N=1000) gmm.append(normalDist(array([0., 10.]), array([[5., 0.], [0., 3.]])), 0.4) gmm.append(normalDist(array([-5., -10.]), array([[5., 0.], [0., 5.]])), 0.3) gmm.append(normalDist(array([15., 15.]), array([[5., 0.], [0., 5.]]))) (t, x) = gmm.sample().mixtures() colors = [['blue', 'red', 'green'][int(label)] for label in t] plt.scatter(x[:, 0], x[:, 1], color=colors) cls = linear() cls.fit(x, t, target=1) print(cls.wml) xlim = [min(x[:, 0]), max(x[:, 0])] tics = arange(xlim[0] - 3, xlim[1] + 3, 0.01) plt.xlim(xlim[0] - 3, xlim[1] + 3) plt.plot(*cls.cPlane(tics), color='black') plt.show()
def composeGMM(type=1): if type == 1: gmm = GMM(N=1000) gmm.append(normalDist(array([-10.,5.]), array([[5.,0.], [0.,3.]])), 0.4) gmm.append(normalDist(array([-5.,-10.]), array([[5.,0.], [0.,5.]])), 0.3) gmm.append(normalDist(array([15.,15.]), array([[5.,0.], [0.,5.]]))) elif type == 2: gmm = GMM(N=1000) gmm.append(normalDist(array([0.,5.]), array([[5.,0.], [0.,3.]])), 0.3) gmm.append(normalDist(array([-2.,-10.]), array([[5.,0.], [0.,5.]])), 0.3) gmm.append(normalDist(array([-5.,15.]), array([[5.,0.], [0.,5.]]))) elif type == 3: gmm = GMM(N=1000) gmm.append(normalDist(array([5.,5.]), array([[20.,0.], [0.,3.]])), 0.5) gmm.append(normalDist(array([-5.,-5.]), array([[20.,0.], [0.,3.]]))) return gmm
def composeGMM(type=1): if type == 1: gmm = GMM(N=1000) gmm.append(normalDist(array([-10., 5.]), array([[5., 0.], [0., 3.]])), 0.4) gmm.append(normalDist(array([-5., -10.]), array([[5., 0.], [0., 5.]])), 0.3) gmm.append(normalDist(array([15., 15.]), array([[5., 0.], [0., 5.]]))) elif type == 2: gmm = GMM(N=1000) gmm.append(normalDist(array([0., 5.]), array([[5., 0.], [0., 3.]])), 0.3) gmm.append(normalDist(array([-2., -10.]), array([[5., 0.], [0., 5.]])), 0.3) gmm.append(normalDist(array([-5., 15.]), array([[5., 0.], [0., 5.]]))) elif type == 3: gmm = GMM(N=1000) gmm.append(normalDist(array([5., 5.]), array([[20., 0.], [0., 3.]])), 0.5) gmm.append(normalDist(array([-5., -5.]), array([[20., 0.], [0., 3.]]))) return gmm