lr_model.py 680 B

123456789101112131415161718192021222324
  1. #coding utf-8
  2. import json
  3. import math
  4. def load_json(filename):
  5. with open(filename, 'r') as fin:
  6. json_data = json.load(fin)
  7. return json_data
  8. def sigmoid(x):
  9. return 1.0 / (1.0 + math.exp(-x))
  10. online_w = load_json('./ad_out_v1_online_w.json')
  11. def get_online_score(online_features):
  12. score = online_w.get('bias', 0.0)
  13. score += sum([online_w.get('#'.join([k, v]), 0.0) for k, v in online_features.items()])
  14. return score
  15. def get_final_score(online_features, offline_score):
  16. online_score = get_online_score(online_features)
  17. final_score = online_score + offline_score
  18. final_score = sigmoid(final_score)
  19. return final_score, online_score