diff --git a/code/parse_copenhagen.py b/code/parse_copenhagen.py index 8b7d8fe..b6b1c3d 100644 --- a/code/parse_copenhagen.py +++ b/code/parse_copenhagen.py @@ -18,61 +18,22 @@ import zipfile ''' usr n - 109 6549 - 112 3277 - 113 4202 - 139 8681 - 14 9378 - 145 4192 - 147 4428 - 157 11503 - 164 8045 - 17 4238 - 176 19732 - 178 7738 - 186 3289 - 190 13843 - 216 6126 - 236 3810 - 244 10563 - 262 17567 - 264 9792 - 274 11572 - 275 4316 - 287 13394 - 299 7373 - 304 6502 - 317 3892 - 324 11349 - 344 14479 - 374 5512 - 383 18751 - 389 3438 - 396 7004 - 453 3957 - 474 7692 - 480 4009 - 504 2622 - 505 11200 - 561 4304 - 570 2136 - 576 6553 - 58 12755 - 593 3429 - 595 4982 - 619 6189 - 633 5229 - 657 10941 - 658 1658 - 663 11461 - 688 19794 - 691 6755 + 311 8193 + 317 2044 + 323 1642 + 366 3406 + 368 5099 + 478 2616 + 486 3112 + 508 4981 + 585 9443 + 595 4459 + 616 4355 + 623 1586 + 637 4479 + 664 4315 + 688 19728 705 5 - 76 4875 - 77 25 - 79 8892 - 81 8944 - 88 17254 ''' # https://cloud.delkappa.com/s/ACMsDr2jnW3b6Np @@ -140,19 +101,18 @@ def main(args): for_expt = True for g in goal: if for_expt: + # User's contacts + conts = np.unique(usr_cont[:, uid_b]) # Possible contacts pos_cont = [] - usrs_cur = list(usrs) - # Remove user - usrs_cur.remove(usr) # Check for every possible contact - for u in usrs_cur: + for c in conts: # Add possible contacts gradually - pos_cont.append(int(u)) + pos_cont.append(int(c)) # Remove from user contacts usr_cont_cur = np.copy(usr_cont) for pos_c in pos_cont: - usr_cont_cur = usr_cont_cur[usr_cont_cur[:, uid_a] != pos_c] + usr_cont_cur = usr_cont_cur[usr_cont_cur[:, uid_b] != pos_c] # Compare the difference diff = (len(usr_cont) - len(usr_cont_cur))/len(usr_cont) # Check if it is close enough to what we need @@ -164,24 +124,22 @@ def main(args): usrs_expt += usrs_expt_cur break elif diff > g: - print('[NOK]') + print('[%.2f]' %(diff)) for_expt = False break - # This user is no bueno - print('[NOK]') # Save to results lmdk_lib.save_data(args, np.array(usrs_expt, str), 'usrs_expt') - # Get all users + # # Get all users # usrs = np.unique(usrs_expt[:, 0]) # for usr in usrs: # usr_cont = cont_data[cont_data[:, uid_a] == float(usr)] # print(int(usr), len(usr_cont)) # exit() ''' - Get contacts for user 14 + Get contacts for user 623 9378 contacts ''' - usr = '14' + usr = '623' # All user contacts usr_cont = cont_data[cont_data[:, uid_a] == float(usr)] # All user landmarks for different goals @@ -192,7 +150,7 @@ def main(args): usr_cont_cur = np.copy(usr_cont) # Remove goal landmarks from contacts for c in cont: - usr_cont_cur = usr_cont_cur[usr_cont_cur[:, uid_a] != c] + usr_cont_cur = usr_cont_cur[usr_cont_cur[:, uid_b] != c] # Check print(g, (len(usr_cont) - len(usr_cont_cur))/len(usr_cont))