def main(): predictor = MFUPredictor() db_helper = ApeicDBHelper() users = db_helper.get_users() for user in users: logs = db_helper.get_logs(user) sessions = db_helper.get_sessions(user) training_logs, testing_logs = split(sessions, aggregated=True) predictor.train(training_logs) launches = map(lambda x: x['application'], testing_logs) predictions = map(lambda x: predictor.predict(x), testing_logs) hr, mrr = predictor.test(launches, predictions) print hr, mrr