def cross_validation(NetFile, NetName, fold=10): methods = [ 'CN', 'Salton', 'Jaccard', 'Sorenson', 'HPI', 'HDI', 'LHN-I', 'PA', 'AA', 'RA', 'LP', 'Katz' ] auc_mix = np.zeros(23) for i in range(10): MatrixAdjacency_Net, MaxNodeNum = Initialize.Init(NetFile) MatrixAdjacency_Train, MatrixAdjacency_Test = Initialize.Divide( NetFile, MatrixAdjacency_Net, MaxNodeNum, NetName) auc = get_auc_mix(MatrixAdjacency_Train, MatrixAdjacency_Test, MaxNodeNum) auc = np.array(auc) auc_mix += auc auc_mix = (0.1) * auc_mix auc_mix = pd.Series(auc_mix, index=methods + (list(range(1, 12)))) auc_mix.name = 'auc' return auc_mix
def cross_validation(NetFile, NetName, fold=10): auc_val = np.zeros(12) methods = [ 'CN', 'Salton', 'Jaccard', 'Sorenson', 'HPI', 'HDI', 'LHN-I', 'PA', 'AA', 'RA', 'LP', 'Katz' ] for i in range(10): MatrixAdjacency_Net, MaxNodeNum = Initialize.Init(NetFile) MatrixAdjacency_Train, MatrixAdjacency_Test = Initialize.Divide( NetFile, MatrixAdjacency_Net, MaxNodeNum, NetName) auc = get_auc_all(MatrixAdjacency_Train, MatrixAdjacency_Test, MaxNodeNum) auc = np.array(auc) auc_val += auc auc_val = (0.1) * auc_val auc_val = pd.Series(auc_val, index=methods) auc_val.name = 'auc' return auc_val
NetFile = u'Data/INT.txt' NetName = 'INT' elif Set == 6: NetFile = u'Data/USAir.txt' NetName = 'USAir' else: print 'Input Error' print "\nLink Prediction start:\n" TrainFile_Path = 'Data\\'+NetName+'\\Train.txt' if os.path.exists(TrainFile_Path): Train_File = 'Data\\'+NetName+'\\Train.txt' Test_File = 'Data\\'+NetName+'\\Test.txt' MatrixAdjacency_Train,MatrixAdjacency_Test,MaxNodeNum = Initialize.Init2(Test_File, Train_File) else: MatrixAdjacency_Net,MaxNodeNum = Initialize.Init(NetFile) MatrixAdjacency_Train,MatrixAdjacency_Test = Initialize.Divide(NetFile, MatrixAdjacency_Net, MaxNodeNum,NetName) #计算相似性矩阵 # READEME = '''\nPlease choose a method: # CN 0 # Salton 1 # Jaccard 2 # Sorenson 3 # HPI 4 # HDI 5 # LHN-I 6 # PA 7 # AA 8 # RA 9 # LP 10