code: Validated parsing copenhagen data set
This commit is contained in:
		@ -3,6 +3,7 @@
 | 
				
			|||||||
import sys
 | 
					import sys
 | 
				
			||||||
sys.path.insert(1, 'lib')
 | 
					sys.path.insert(1, 'lib')
 | 
				
			||||||
import argparse
 | 
					import argparse
 | 
				
			||||||
 | 
					import ast
 | 
				
			||||||
import csv
 | 
					import csv
 | 
				
			||||||
from datetime import datetime
 | 
					from datetime import datetime
 | 
				
			||||||
from geopy.distance import distance
 | 
					from geopy.distance import distance
 | 
				
			||||||
@ -31,6 +32,9 @@ rssi = 3
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def main(args):
 | 
					def main(args):
 | 
				
			||||||
 | 
					  '''
 | 
				
			||||||
 | 
					    Load data
 | 
				
			||||||
 | 
					  '''
 | 
				
			||||||
  # Get contacts from previous parsing
 | 
					  # Get contacts from previous parsing
 | 
				
			||||||
  cont_data = lmdk_lib.load_data(args, 'cont')
 | 
					  cont_data = lmdk_lib.load_data(args, 'cont')
 | 
				
			||||||
  if cont_data.size == 0:
 | 
					  if cont_data.size == 0:
 | 
				
			||||||
@ -57,10 +61,16 @@ def main(args):
 | 
				
			|||||||
      print('[Error: %s]' %(e))
 | 
					      print('[Error: %s]' %(e))
 | 
				
			||||||
    # Save to results
 | 
					    # Save to results
 | 
				
			||||||
    lmdk_lib.save_data(args, np.array(cont, np.float32), 'cont')
 | 
					    lmdk_lib.save_data(args, np.array(cont, np.float32), 'cont')
 | 
				
			||||||
 | 
					  '''
 | 
				
			||||||
 | 
					    Get users' landmarks
 | 
				
			||||||
 | 
					  '''
 | 
				
			||||||
  # Get all users
 | 
					  # Get all users
 | 
				
			||||||
  usrs = np.unique(np.concatenate((cont_data[:, uid_a], cont_data[:, uid_b]), 0))
 | 
					  usrs = np.unique(np.concatenate((cont_data[:, uid_a], cont_data[:, uid_b]), 0))
 | 
				
			||||||
  # Check each user
 | 
					  # Check each user
 | 
				
			||||||
  goal = [.2, .4, .6, .8]
 | 
					  goal = [.2, .4, .6, .8]
 | 
				
			||||||
 | 
					  # Get users' data from previous parsing
 | 
				
			||||||
 | 
					  usrs_expt = lmdk_lib.load_data(args, 'usrs_expt')
 | 
				
			||||||
 | 
					  if usrs_expt.size == 0:
 | 
				
			||||||
    # Users suitable for experiments
 | 
					    # Users suitable for experiments
 | 
				
			||||||
    usrs_expt = []
 | 
					    usrs_expt = []
 | 
				
			||||||
    for usr_i, usr in enumerate(usrs):
 | 
					    for usr_i, usr in enumerate(usrs):
 | 
				
			||||||
@ -101,6 +111,25 @@ def main(args):
 | 
				
			|||||||
              break
 | 
					              break
 | 
				
			||||||
    # Save to results
 | 
					    # Save to results
 | 
				
			||||||
    lmdk_lib.save_data(args, np.array(usrs_expt, str), 'usrs_expt')
 | 
					    lmdk_lib.save_data(args, np.array(usrs_expt, str), 'usrs_expt')
 | 
				
			||||||
 | 
					  '''
 | 
				
			||||||
 | 
					    Get contacts for uid 14
 | 
				
			||||||
 | 
					  '''
 | 
				
			||||||
 | 
					  usr = '14'
 | 
				
			||||||
 | 
					  # All user contacts
 | 
				
			||||||
 | 
					  usr_cont = cont_data[(cont_data[:, uid_a] == float(usr)) | (cont_data[:, uid_b] == float(usr))]
 | 
				
			||||||
 | 
					  # All user landmarks for different goals
 | 
				
			||||||
 | 
					  usr_lmdk = usrs_expt[usrs_expt[:, 0] == usr]
 | 
				
			||||||
 | 
					  for g in goal:
 | 
				
			||||||
 | 
					    # Get goal landmarks
 | 
				
			||||||
 | 
					    cont = ast.literal_eval(usr_lmdk[usr_lmdk[:, 1] == str(g)][0][2])
 | 
				
			||||||
 | 
					    usr_cont_cur = np.copy(usr_cont)
 | 
				
			||||||
 | 
					    # Remove goal landmarks from contacts
 | 
				
			||||||
 | 
					    for c in cont:
 | 
				
			||||||
 | 
					      # print(usr_cont)
 | 
				
			||||||
 | 
					      # exit()
 | 
				
			||||||
 | 
					      usr_cont_cur = usr_cont_cur[(usr_cont_cur[:, uid_a] != c) & (usr_cont_cur[:, uid_b] != c)]
 | 
				
			||||||
 | 
					    # Check
 | 
				
			||||||
 | 
					    print(g, (len(usr_cont) - len(usr_cont_cur))/len(usr_cont))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
'''
 | 
					'''
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user