When algorithms drink beer

Last year, the BJCP released a new set of beer style guidelines that regrouped and reclassified the world of beer into styles and categories. This was based on a lot of hard work by some very smart people. So of course, I wanted to see how a computer could compare.

For this exercise, I am using data gathered from What to Brew, where there have been 169,989 votes on which additions pair with which styles. The styles used are from the first 27 categories in the BJCP 2015 style guide.

I used a k-means algorithm to group the styles into 27 clusters of similar styles, based on the additions that pair well according to the data set. Here are the clusters:

1: Belgian Pale Ale, International Pale Lager, Australian Sparkling Ale, Gueuze, American Lager
2: Vienna Lager, Czech Amber Lager, Dunkles Weissbier
3: American Barleywine, Schwarzbier
4: American IPA, Brown IPA, Scottish Light, International Amber Lager
5: Scottish Heavy, English Porter, Baltic Porter, London Brown Ale, Dunkles Bock
6: Kölsch, Trappist Single, Witbier
7: Kentucky Common, German Helles Exportbier, English Barleywine, Czech Dark Lager, Festbier, Amber Kellerbier, Ordinary Bitter
8: Wee Heavy, Rauchbier, Scottish Export, British Strong Ale
9: Weizenbock, Belgian Golden Strong Ale, Wheatwine, Märzen, Munich Helles, Bière de Garde, American Amber Ale, Eisbock
10: Munich Dunkel, Helles Bock, American Strong Ale, Dark Mild, Belgian Dark Strong Ale
11: Lambic, Fruit Lambic, Blonde Ale, Berliner Weisse
12: Saison
13: American Light Lager, California Common, Belgian IPA, German Pils
14: Sweet Stout, American Porter, Irish Extra Stout, Old Ale
15: Oud Bruin
16: Czech Premium Pale Lager
17: Belgian Blond Ale, Cream Ale, British Golden Ale, Red IPA, Flanders Red Ale, Czech Pale Lager
18: Belgian Tripel, American Wheat Beer, White IPA
19: German Leichtbier, Lichtenhainer, Pale Kellerbier
20: Gose
21: Best Bitter, Altbier, English IPA, International Dark Lager, Black IPA
22: Doppelbock, Rye IPA, Strong Bitter, Irish Red Ale, Piwo Grodziskie, Double IPA
23: Weissbier, American Pale Ale
24: Tropical Stout, Belgian Dubbel
25: British Brown Ale, American Brown Ale
26: Imperial Stout, Oatmeal Stout, Foreign Extra Stout
27: Irish Stout, American Stout

Interesting! Geography is not a factor at all here, so you get thing like #25 grouping together the brown ales. #18 groups together 3 that somehow make sense together, but are also very different- Belgian Tripel, American Wheat Beer, White IPA. Lambic and fruit lambic are paired together, and Berliner Weisse kind of makes sense there, but Blonde Ale seems a bit out of place. #8 is another grouping I wouldn’t have suggested, but somehow makes sense.

What other observations do you see? Did a computer do a better job than people?

Leave a Reply

Your email address will not be published. Required fields are marked *