コード例 #1
0
import matplotlib.animation as animation
from mpl_toolkits.mplot3d import Axes3D
from SOM import SOM
from SOM_2 import SOM2

#load data
data = np.loadtxt("data1.txt")

#初期化
file = 9
D = 2
som = []
X = []

SOM = SOM()
SOM.initialize(data)
for t in range(50):
    SOM.fit(data, t)

#子SOM
for file_num in range(file):
    file_name = "data" + str(file_num + 1) + ".txt"
    print(file_name)
    X.append(np.loadtxt(file_name))
    som.append(SOM())
    som[file_num].initialize(X[file_num])

#V
v = []
for file_num in range(file):
    som[file_num].fit(X[file_num], 1)
コード例 #2
0
ファイル: som_main_anime.py プロジェクト: forusufia/harada
    ax_observable.scatter(data[:, 0], data[:, 1])

    ax_latent.scatter(lats[t][:, 0], lats[t][:, 1])
    ax_observable.scatter(obss[t][:, 0], obss[t][:, 1])

    plt.title("{}time".format(t))

fig = plt.figure(figsize=(12, 6))
ax_latent = fig.add_subplot(121)
ax_observable = fig.add_subplot(122)
lats = []
obss = []

#learn
som = SOM()
som.initialize(data)
for t in range(60):
    som.fit(data, t)

    #lat, = ax_latent.scatter(som.z[:, 0], som.z[:, 1], s=5)
    #obs, = ax_observable.scatter(som.y[:, 0], som.y[:, 1])
    #lats.append([lat])
    #obss.append([obs])
    obss.append(som.y)
    lats.append(som.z)

#plot
#ax_latent.scatter(som.zeta[:, 0], som.zeta[:, 1], s = 50, alpha = 0.5)
fargs = [ax_latent, ax_observable, obss, lats]
# ani = animation.FuncAnimation(fig, update, fargs=fargs, interval=100, repeat="True")
ani = animation.FuncAnimation(fig, update, fargs=fargs, frames=60, interval=100)