Code For Ass4 Q1
Code For Ass4 Q1
In [1]:
import numpy as np
from random import random
In [2]:
In [10]:
In [11]:
else:
y_1[i][j] = 1
return y_1
#plt.imshow(y_1)
#plt.show()
In [12]:
# define clusters
theta = 0.8
gamma = 0.5
c5 = np.log(c5)
c4 = np.log(c4)
c3 = np.log(c3)
c2 = np.log(c2)
c1 = np.log(c1)
In [13]:
def init_messages():
In [ ]:
In [14]:
m1 = m[0]
m2 = m[1]
m3 = m[2]
m4 = m[3]
m5 = m[4]
for s in range(6):
for i in range(99):
for j in range(100):
#a = max(c5[i][j][0][k]*m1[i+1][j][0][k] for k in range(2))
#b = max(c5[i][j][1][k]*m1[i+1][j][0][k] for k in
m5[i][j][0] = [max(c5[i][j][g][k] + m1[i+1][j][0][k] for k in range(2))
for g in range(2)]
m5[i][j][1] = [max(c5[i][j][k][g] + m1[i][j][2][k] for k in range(2)) f
or g in range(2)]
for i in range(100):
for j in range(99):
m4[i][j][0] = [max(c4[i][j][g][k] + m1[i][j+1][1][k] for k in range(2))
for g in range(2)]
m4[i][j][1] = [max(c4[i][j][k][g] + m1[i][j][3][k] for k in range(2)) f
or g in range(2)]
for i in range(100):
for j in range(100):
m3[i][j][0] = [c3[i][j][g][y1[i][j]] for g in range(2)]
for i in range(100):
for j in range(100):
a = [1,1]
b = [1,1]
c = [1,1]
d = [1,1]
if i-1>0:
a = m5[i-1][j][1]
if j-1>0:
b = m4[i][j-1][1]
if i<99:
c = m5[i][j][0]
if j<99:
d = m4[i][j][0]
for i in range(100):
for j in range(100):
a = [1,1]
b = [1,1]
c = [1,1]
d = [1,1]
if i-1>0:
a = m5[i-1][j][1]
if j-1>0:
b = m4[i][j-1][1]
if i<99:
c = m5[i][j][0]
if j<99:
d = m4[i][j][0]
return x
In [15]:
y1 = impute(y, 0.1)
y2 = impute(y, 0.2)
y3 = impute(y, 0.3)
c = init_clusters(theta,gamma)
#m1, m2, m3, m4, m5 = init_messages()
m = init_messages()
r1 = map_inference(c, m, y1)
r2 = map_inference(c, m, y2)
r3 = map_inference(c, m, y3)
In [22]:
#fig = plt.figure()
#a = fig.add_subplot(1, 2, 1)
#imgplot = plt.imshow(y2)
#a.set_title('Before')
#plt.colorbar(ticks=[0.1, 0.3, 0.5, 0.7], orientation='horizontal')
#a = fig.add_subplot(1, 2, 2)
#imgplot = plt.imshow(r2)
#imgplot.set_clim(0.0, 0.7)
#a.set_title('After')
#plt.colorbar(ticks=[0.1, 0.3, 0.5, 0.7], orientation='horizontal')
#print(theta, gamma)
In [17]:
return a
In [18]:
r = denoise(0.1, 0.4)
In [19]:
av_mislabels
Out[19]:
2005.6666666666667
In [20]:
y1 = impute(y, 0.1)
y2 = impute(y, 0.2)
y3 = impute(y, 0.3)
fig = plt.figure()
a = fig.add_subplot(3, 2, 2)
imgplot = plt.imshow(y3)
a.set_title('Before')
#plt.colorbar(ticks=[0.1, 0.3, 0.5, 0.7], orientation='horizontal')
a = fig.add_subplot(3, 2, 1)
imgplot = plt.imshow(r[2])
#imgplot.set_clim(0.0, 0.7)
a.set_title('After')
#plt.colorbar(ticks=[0.1, 0.3, 0.5, 0.7], orientation='horizontal')
print("p=0.3","theta = 0.6", "gamma = 0.1")
In [21]:
fig=plt.figure(figsize=(8, 8))
a = fig.add_subplot(2, 4, 1)
imgplot = plt.imshow(y1)
a.set_title("p=0.1, Before")
a = fig.add_subplot(2, 4, 2)
imgplot = plt.imshow(r[0])
a.set_title("p=0.1, After")
a = fig.add_subplot(2, 4, 3)
imgplot = plt.imshow(y2)
a.set_title("p=0.2, Before")
a = fig.add_subplot(2, 4, 4)
imgplot = plt.imshow(r[1])
a.set_title("p=0.2, After")
a = fig.add_subplot(2, 4, 5)
imgplot = plt.imshow(y3)
a.set_title("p=0.3, Before")
a = fig.add_subplot(2, 4, 6)
imgplot = plt.imshow(r[2])
a.set_title("p=0.3, After")
In [25]:
np.shape(r[1])
Out[25]:
(100, 100)
In [27]:
# Ascii for y:
k = []
for i in range(100):
for j in range(100):
k.append([i,j,y[i][j]])
In [34]:
g = np.reshape(y,10000)
In [39]:
list_1 = []
list_2 = []
for i in range(100):
for j in range(100):
list_1.append(i)
list_2.append(j)
import pandas
df = pandas.DataFrame(data={"i": list_1, "j": list_2, "val_ij": g})
df.to_csv("./y.csv", sep=',',index=False)
In [41]:
g = np.reshape(y1,10000)
In [42]:
g = np.reshape(r[1],10000)