def start_realcase(experimenTimes, mode, worksfolder_repost, workfolder_sim): timenow = int(time.strftime("%H", time.localtime(time.time()))) worksfolder = workfolder_sim worksfolder_fig = gt.createFolder(worksfolder + 'figs\\') worksfolder_mat = gt.createFolder(worksfolder + 'graphs\\') from NetypesfromGraph import NetypesfromGraph as nety netky = nety() result = [] startimer = time.clock() # try: for casefile in os.listdir(worksfolder_repost): if os.path.splitext(casefile)[-1] != '.repost': return if os.path.exists(worksfolder_mat + '_' + str(mode) + '_' + casefile + '_1.adj'): print '_' + str(mode) + '_' + casefile + '.adj' continue print worksfolder_repost + casefile [ma_fans, cbm_frs, act_micorcnt, inv_mention] = input_init_real(worksfolder_repost + casefile)[0:4] input = [ma_fans, cbm_frs, inv_mention, act_micorcnt] print inv_mention # inputm = sp.asmatrix(input, long) personcnt = len(ma_fans) for i in range(experimenTimes): print '===============================================', i mat = getoutMatrix(personcnt, ma_fans, cbm_frs, inv_mention, act_micorcnt, worksfolder_fig, mode) g = ig.Graph.Adjacency(mat.tolist()) graphfilepath = str(worksfolder_mat + '_' + str(mode) + '_' + casefile + '_' + str(i) + '.adj') # print graphfilepath g.write_adjacency(graphfilepath) # gt.drawgraph(g,giantornot=False,figpath=worksfolder+'figs\\'+str(modefans)+'_'+str(modemen)+'_'+str(i)+'.png',show=False)#sw # resultone = netky.start(g) # result.append(resultone) # # xyz = zip(*result) # gt.saveList(xyz,worksfolder_mat+'_'+str(mode)+'_'+casefile+'_'+str(experimenTimes)+'.netattri',writype='w') # except: # pass # datapath2save = worksfolder_fig+'shapedis_'+str(personcnt)+'_'+str(experimenTimes)+'_'+str(modefans)+'_'+str(modemen) # classTypes_km(xyz,datapath2save,k=6,runtimes=10) endtimer = time.clock() duration = endtimer - startimer timestrline = str(time.asctime()) + ' in ' + str( duration / 60) + 'mins of modefans ' #+str(modefans)+' modemen '+str(modemen) print timestrline
def start_sim(self,personcnt,experimenTimes,mode,worksfolder): timenow = int(time.strftime("%H",time.localtime(time.time()))) # worksfolder = "G:\\HFS\\WeiboData\\CMO\\test\\" worksfolder_fig = gt.createFolder(worksfolder+'figs\\') worksfolder_mat = gt.createFolder(worksfolder+'graphs\\') from NetypesfromGraph import NetypesfromGraph as nety netky = nety() for modefans in [1,2,4]:#3,,5 for modefr in [1,2,4]:#3,,5 for modeal in [1,2,4]:#3,,5 for modemen in [1,2,4]:#3,,5 result = [] startimer = time.clock() for i in range(experimenTimes): print '===============================================',i,modefans,modemen [ma_fans,cbm_frs,inv_mention,act_micorcnt] = self.input_init(personcnt,fans_p=(modefans,1,10000),frs_p=(modefr,1,1000),micor_p=(modeal,0,1),men_p=(modemen,0,50)) input = [ma_fans,cbm_frs,inv_mention,act_micorcnt] # print act_micorcnt # inputm = sp.asmatrix(input, long) mat = self.getoutMatrix(personcnt,ma_fans,cbm_frs,inv_mention,act_micorcnt,worksfolder_fig,mode) g = ig.Graph.Adjacency(mat.tolist()) # print g.vcount(),g.ecount() graphfilepath = str(worksfolder_mat+str(personcnt)+'_'+str(experimenTimes)+'_'+str(i)+'_'+str(modefans)+'_'+str(modemen)+'.adj') # print graphfilepath g.write_adjacency(graphfilepath) # if g.vcount()>50: # gt.drawgraph(g,giantornot=False,figpath=worksfolder+'figs\\'+str(modefans)+'_'+str(modemen)+'_'+str(i)+'.png',show=True)#sw # gt.drawgraph(g,giantornot=True,figpath=worksfolder+'figs\\'+str(modefans)+'_'+str(modemen)+'_'+str(i)+'giant.png',show=True)#sw resultone = netky.start(g) result.append(resultone) xyz = zip(*result) gt.saveList(xyz,worksfolder_mat+str(personcnt)+'_'+str(experimenTimes)+'_'+str(modefans)+'_'+str(modefr)+'_'+str(modeal)+'_'+str(modemen)+'.netattri',writype='w') # datapath2save = worksfolder_fig+'shapedis_'+str(personcnt)+'_'+str(experimenTimes)+'_'+str(modefans)+'_'+str(modemen) # classTypes_km(xyz,datapath2save,k=6,runtimes=10) endtimer = time.clock() duration = endtimer-startimer timestrline = str(time.asctime())+' in '+str(duration/60)+'mins of modefans '+str(modefans)+' modemen '+str(modemen) print timestrline
def getLabels(att, workfolder_fig, k=6): x = zip(*att) xyz = x #zip(*x) xyzz = gt.normlistlist(listlista=xyz, metacolcount=0, sumormax='sum') #xyz[1:]# xy = zip(*xyzz) #[1:] z = zip(*xyz[:1]) from NetypesfromGraph import NetypesfromGraph as nety netky = nety() labels, res = [], [] # print len(xy),xy labels, kmcenter, kmfit = netky.kmeans(xy, k=k, runtimes=1) # labels.sort() # print len(labels)#kmcenter,labels centername = workfolder_fig + 'shapedis_kmeans_center.center' gt.savefigdata(centername, kmcenter, labels, kmfit) # gt.saveList(centername,kmcenter) return labels
def compute_sim(workfolder_sim, fplist, experimentimes, mod): from NetypesfromGraph import NetypesfromGraph as nety netky = nety() #for mod in range(2,5): degs, indegs, outdegs, ccs, apls, diams = [], [], [], [], [], [] for fp in fplist: for i in range(experimentimes): simf = "G:\\HFS\\WeiboData\\HFSWeibo_Sim\\test\\Mode" + str( mod) + '\\graphs\\' + '_' + str( mod) + '_' + fp + '.repost_' + str(i) + '.adj' # simf1 = workfolder_sim+'_'+str(mod)+'_'+fp+'.repost_1.adj' if os.path.exists(simf): g_sim = ig.Graph.Read_Adjacency(simf) res_sim = netky.start(g_sim) sim_resultset.append(res_sim) degs.extend(g_sim.degree()) indegs.extend(g_sim.indegree()) outdegs.extend(g_sim.outdegree()) ccs.append(g_sim.transitivity_undirected(mode='0')) apls.append(g_sim.average_path_length()) diams.append(g_sim.diameter()) return degs, indegs, outdegs, ccs, apls, diams
# print distLabel,res,oneres return res fig = plt.figure() plt.plot(range(10)) fig.dpi = 80 fig.savefig("G:\\HFS\\WeiboData\\CMO\\temp.png", dpi=fig.dpi) if __name__ == "__main__": personcnt = 20 experimenTimes = 12 timenow = int(time.strftime("%H", time.localtime(time.time()))) worksfolder = "G:\\HFS\\WeiboData\\CMO\\test\\" worksfolder_fig = worksfolder + 'figs\\' worksfolder_mat = worksfolder + 'graphs\\' from NetypesfromGraph import NetypesfromGraph as nety netky = nety() for modefans in [1, 2, 4]: #3,,5 for modemen in [1, 2, 4]: #,5 result = [] startimer = time.clock() for i in range(experimenTimes): print '===============================================', i, modefans, modemen [ma_fans, cbm_frs, inv_mention, act_micorcnt] = input_init(personcnt, fans_p=(modefans, 1, 10000), frs_p=(1, 1, 1000), men_p=(modemen, 0, 50), micor_p=(1, 1, 1000)) input = [ma_fans, cbm_frs, inv_mention, act_micorcnt] # inputm = sp.asmatrix(input, long)