diff options
author | Ben Cohen <ben@kensho.com> | 2019-07-28 15:53:43 -0400 |
---|---|---|
committer | Ben Cohen <ben@kensho.com> | 2019-07-28 15:53:43 -0400 |
commit | 89163791a377eccef3dda911e58e99e55dfb971b (patch) | |
tree | 8a15f39e9eb1a1f1f27e1d102d419f2b98b93f04 /utils.py | |
parent | 67c2499106d25d606243d633402fd0def4885e60 (diff) |
style
Diffstat (limited to 'utils.py')
-rw-r--r-- | utils.py | 141 |
1 files changed, 140 insertions, 1 deletions
@@ -176,4 +176,143 @@ def translate_to_style(beer_id, style): def get_drinks_like(beer_id): data = final_data[beer_id] - return data['alc']
\ No newline at end of file + return data['alc'] + +# print(styles) + +num_to_style = {0: 'European Export / Dortmunder', + 1: 'German Bock', + 2: 'Low Alcohol Beer', + 3: 'American Black Ale', + 4: 'German Helles', + 5: 'New England IPA', + 6: 'American Amber / Red Lager', + 7: 'Irish Dry Stout', + 8: 'Leipzig Gose', + 9: 'German Maibock', + 10: 'Scottish Gruit / Ancient Herbed Ale', + 11: 'Belgian Strong Pale Ale', + 12: 'Robust Porter ', + 13: 'English Dark Mild Ale', + 14: 'Belgian Lambic', + 15: 'Belgian IPA', + 16: 'American Pale Ale (APA)', + 17: 'American Imperial Porter', + 18: 'American IPA', + 19: 'Belgian Gueuze', + 20: 'American Wheatwine Ale', + 21: 'California Common / Steam Beer', + 22: 'Smoke Porter', + 23: 'English Pale Mild Ale', + 24: 'Rye Beer', + 25: 'Russian Kvass', + 26: 'German Altbier', + 27: 'American Malt Liquor', + 28: 'Foreign / Export Stout', + 29: 'Japanese Rice Lager', + 30: 'German Pilsner', + 31: 'German Weizenbock', + 32: 'Belgian Witbier', + 33: 'English Old Ale', + 34: 'American Imperial Red Ale', + 35: 'Belgian Quadrupel (Quad)', + 36: 'American Stout', + 37: 'Belgian Faro', + 38: 'Pumpkin Beer', + 39: 'American Porter', + 40: 'Vienna Lager', + 41: 'Belgian Dark Ale', + 42: 'American Brut IPA', + 43: 'British Barleywine', + 44: 'German Kölsch', + 45: 'American Barleywine', + 46: 'German Kellerbier / Zwickelbier', + 47: 'Scotch Ale / Wee Heavy', + 48: 'European Strong Lager', + 49: 'German Kristalweizen', + 50: 'Baltic Porter', + 51: 'Chile Beer', + 52: 'American Cream Ale', + 53: '[ India Pale Ales ]', + 54: 'American Imperial Pilsner', + 55: 'American Imperial IPA', + 56: 'English Porter', + 57: 'English Sweet / Milk Stout', + 58: 'American Lager', + 59: 'American Imperial Stout', + 60: 'Belgian Blonde Ale ', + 61: 'English India Pale Ale (IPA)', + 62: 'German Eisbock', + 63: 'Belgian Pale Ale', + 64: 'American Light Lager', + 65: 'Russian Imperial Stout', + 66: 'German Hefeweizen', + 67: 'German Märzen / Oktoberfest', + 68: 'Flanders Red Ale', + 69: 'English Stout', + 70: 'Belgian Dubbel', + 71: 'American Blonde Ale', + 72: 'American Brown Ale', + 73: 'Finnish Sahti', + 74: 'English Oatmeal Stout', + 75: 'Fruit and Field Beer', + 76: 'Belgian Tripel', + 77: 'Belgian Strong Dark Ale', + 78: 'American Dark Wheat Ale', + 79: 'Smoke Beer', + 80: 'English Extra Special / Strong Bitter (ESB)', + 81: 'European Pale Lager', + 82: 'American Amber / Red Ale', + 83: 'Flanders Oud Bruin', + 84: 'American Strong Ale', + 85: 'English Brown Ale', + 86: 'European Dark Lager', + 87: 'French Bière de Garde', + 88: 'American Pale Wheat Ale', + 89: 'Munich Dunkel Lager', + 90: 'German Doppelbock', + 91: 'German Rauchbier', + 92: 'German Roggenbier', + 93: 'Scottish Ale', + 94: 'German Dunkelweizen', + 95: 'English Bitter', + 96: 'English Strong Ale', + 97: 'Winter Warmer', + 98: 'Herb and Spice Beer', + 99: 'American Adjunct Lager', + 100: 'Belgian Fruit Lambic', + 101: 'Berliner Weisse', + 102: 'Irish Red Ale', + 103: 'Bière de Champagne / Bière Brut', + 104: 'English Pale Ale', + 105: 'American Brett', + 106: 'Belgian Saison', + 107: 'Japanese Happoshu', + 108: 'Bohemian Pilsener', + 109: 'German Schwarzbier', + 110: 'Braggot', + 111: 'American Wild Ale'} + +def normalize(ret): + s = sum(ret.values()) + for k, v in ret.items(): + ret[k] = v/s + return ret + + +def get_style_preds(beer_id): + data = final_data[beer_id] + local_styles = data['style'] + + top_5 = sorted(local_styles)[-5:] + print(top_5) + ret = {} + for idx, score in enumerate(local_styles): + # print(idx) + if score in top_5: + # print(style_keys[idx]) + # print(idx), styles[str(idx)][0] + ret[num_to_style[idx]] = score + + ret = normalize(ret) + return ret
\ No newline at end of file |