- 论坛徽章:
- 0
|
写了一个plsa聚类算法,代码结构大体这样
pwz=[]
pzd=[]
def load_data():
global pzd
global pwz
pzd = [[]]* M
pwz = [[]]* K
for i in range(0,M):
pzd[i] = [0.0]*K
for k in range(0,K):
pwz[k] = [0.0]*N
for i in range(0,M):
sum = 0.0
for j in range(0,K):
pzd[i][j] = random.random()
sum += pzd[i][j]
for j in range(0,K):
pzd[i][j] = pzd[i][j]/sum
for i in range(0,K):
sum = 0.0
for j in range(0,N):
pwz[i][j] = random.random()
sum += pwz[i][j]
for j in range(0,N):
pwz[i][j] = pwz[i][j]/sum
#print pwz[i][j]
def em_plsa():
global pzd
global pwd
for i in range(0,M):
for k in range(0,K):
print pzd[i][k]
if __name__ == '__main__':
load_data()
em_plsa()
为什么在em_plsa()里面打印pzd时候并没有值,打印出的值为None.似乎在load_data()里头生成的pzd,pwz没有效果啊?这是为啥 |
|