Some of the most ingenious ideas come from taking something that exists in one medium, and forcibly transforming it into another--like reproducing an expensive dish on a tight budget or walking around a city without a map. The same principle applies here: I’m taking something that exists on the frontier of data science--neural networks--and recreating it in an environment one step above doing math by hand. Along the way, I’m forced to find creative workarounds to problems I didn’t see coming, all the while strengthening my understanding of (and hopefully yours too) both Sheets and machine learning.
Read more in the corresponding article, which details the process of creating the spreadsheet, here.
View the Google Sheet document that contains the trained model here.
Though I re-derived each line for understanding, I referenced a Cornell Info 4940 lecture (which adapted from Stanford's CS231n) for the Python code (which involved Numpy, PyTorch, and scikit-learn). I also found the Google Sheets "Array" function list particularly helpful for translating matrix operations from NumPy code to Sheets.
While the article website is built from vanilla HTML and CSS, MathJax and highlights.js were two helpful libraries I used to render LaTeX math equations and the Python code block, respectively. All visuals in the article were either created in Google Drawings, or Google Sheets embeds.