示例#1
0
            return None

    def infer(self, params):
        self.calc_dominance_distributions('in', params)
        self.calc_dominance_distributions('out', params)
        for user in self.users.iter():
            if user['location_point'] == None:
                user['location_point'] = self.infer_one(user['id'], params)

    def get_users(self):
        return self.users


if __name__ == '__main__':
    import sys
    from lib.users import Users
    from lib.graph import Graph

    if len(sys.argv) < 3:
        print '[usage]: python %s [users file path] [graph file path]' % sys.argv[0]
        exit()

    users = Users()
    users.load_file(sys.argv[1])
    graph = Graph()
    graph.load_file(sys.argv[2])

    lmm = LMM(users, graph)
    lmm.infer()
    print lmm.get_users()
        exit()

    args = {}
    for i in range(1, len(sys.argv)):
        key, value = sys.argv[i].split(':')
        args[key] = value

    test_users = Users()
    test_users.load_file(args['test'])
    training_users = Users()
    training_users.load_file(args['training'])
    ev = Evaluation(test_users)

    if args['method'] == 'naiveg':
        graph = Graph()
        graph.load_file(args['graph'])
        method = NaiveG(training_users, graph)
    elif args['method'] == 'naivec':
        db = DB(args['dbuser'], args['dbpass'], args['dbname'])
        tweets = Tweets(db)
        venues = Venues(db)
        method = NaiveC(training_users, tweets, venues)
    elif args['method'] == 'li':
        db = DB(args['dbuser'], args['dbpass'], args['dbname'])
        tweets = Tweets(db)
        venues = Venues(db)
        graph = Graph()
        graph.load_file(args['graph'])
        method = UDI(training_users, tweets, venues, graph)
    elif args['method'] == 'jurgens':
        graph = Graph()