Roy Hung


Implementing a Bayesian A/B Testing Framework in Django

  • Python, Django

Bayesian A/B testing is widely used in many online applications due to the advantages it has over its frequentist counterpart. In this post, I will provide a walkthrough on how a bayesian A/B testing framework can be implemented in django. This post also includes a simulator mini-app that demonstrates how different explore-exploit strategies work in an bayesian A/B test.

Generating Singapore News Headlines with a Recurrent Neural Network

  • Python, Tensorflow, Flask

In this post, we generate Singapore news headlines using a recuurent neural network trained on data from a local newspaper. The neural network is deployed using Flask and Nginx. Try it out for yourself here.

A Reversi Playing Agent and the Monte Carlo Tree Search Algorithm

  • Go, Javascript

Play against a Reversi (Othello) AI built using the Monte Carlo Tree Search (MCTS) Alogrithm. In this post, you get to play against an autonomous reversi/othello playing agent. I will discuss the efficacy of the algorithm used against a random play benchmark, its shortcomings, and other issues such as performance.

Jaccard's Index in Practice

  • Python, Numpy

The Jaccard's Index is a simple and effective tool to measure the similarity between two groups of elements. While it's use in data science is widely mentioned, there are few examples that show how such an algorithm is applied to datasets in the real world. In this post, I will build a simple and effective recommender system with this algorithm, using a real-world dataset. This post will cover both the math and code involved in creating this feature.


Vizualizing Singapore's Merchandise Trade

  • Python, Javascript, D3

Where do we get our stuff come from? Who buys the things we make? It is no surprise that almost all material goods found in Singapore originated from somewhere else outside the tiny island-nation. With one of the highest trade-to-GDP ratio in the world, Singapore's economy lives and dies by trade. In this post, I have visualized the history of Singapore's merchandise trade with her trading partners, and how Singapore's relationship with them has changed over the years.


A better way to visualize overlapping geospatial data

  • Python, Javascript, D3

When visualizing geospatial data in densely built-up areas, the display of large quantities of data points on a map can be obscured due to the close proximity of each data point. One possible solution to this is to spread out the overlapping data points in a random, normally distributed manner around the original coordinates. Doing so will better help visualize the "concentration" of an event occurring around the given point, rather than simply displaying a single point.