#coding utf-8 import json import math def load_json(filename): with open(filename, 'r') as fin: json_data = json.load(fin) return json_data def sigmoid(x): return 1.0 / (1.0 + math.exp(-x)) online_w = load_json('./ad_out_v1_online_w.json') def get_online_score(online_features): score = online_w.get('bias', 0.0) score += sum([online_w.get('#'.join([k, v]), 0.0) for k, v in online_features.items()]) return score def get_final_score(online_features, offline_score): online_score = get_online_score(online_features) final_score = online_score + offline_score final_score = sigmoid(final_score) return final_score, online_score