<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Home on Yoke Keong</title><link>https://yokekeong.com/</link><description>Recent content in Home on Yoke Keong</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 25 Nov 2020 12:00:00 +0000</lastBuildDate><atom:link href="https://yokekeong.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Post Jupyter Notebooks to WordPress using plugin Documents from Git</title><link>https://yokekeong.com/post-jupyter-notebooks-to-wordpress-using-plugin-documents-from-git/</link><pubDate>Wed, 25 Nov 2020 12:00:00 +0000</pubDate><guid>https://yokekeong.com/post-jupyter-notebooks-to-wordpress-using-plugin-documents-from-git/</guid><description>&lt;p&gt;Jupyter Notebooks are a great way to communicate your findings or demonstrating certain concepts or applications in the Data Science and Machine Learning world. While you can easily convert notebooks to static pages using nbconvert, there are challenges integrating them with existing publishing platforms like WordPress.&lt;/p&gt;&#10;&lt;p&gt;If you are just starting out or don&amp;rsquo;t mind migrating to another platform, there are awesome alternatives such as FastPages (&lt;a href="https://github.com/fastai/fastpages"&gt;Github&lt;/a&gt; and &lt;a href="https://fastpages.fast.ai/"&gt;demo site&lt;/a&gt;) by Jeremy Howard and Hamel Husain.&lt;/p&gt;</description></item><item><title>Resources for the Google Cloud Professional Machine Learning Engineer Certification</title><link>https://yokekeong.com/resources-for-the-google-cloud-professional-machine-learning-engineer-certification/</link><pubDate>Sat, 21 Nov 2020 14:24:12 +0000</pubDate><guid>https://yokekeong.com/resources-for-the-google-cloud-professional-machine-learning-engineer-certification/</guid><description>&lt;p&gt;Recently I passed the &lt;a href="https://www.credential.net/62dd7f0d-d6b3-4e21-b86e-c9fde9e3a91d"&gt;Google Cloud Professional ML Engineer&lt;/a&gt; Certification Exam and received a few queries on how to prepare for the exam. Hence I am writing up a post to share some free/low-cost training offers and resources that have helped me pass the exam.&lt;/p&gt;&#10;&lt;p&gt;One thing to note is that I have previously completed the &lt;a href="https://www.credential.net/785d9923-f2a3-401b-9c17-b7ed4b916143"&gt;Google Cloud Professional Data Engineer&lt;/a&gt; Certification and have some prior experience with using Google Cloud Platform and TensorFlow/Keras before attempting this certification exam. I shall suggest some resources for learning the portions related to Data Engineering and TensorFlow if you are not familiar with them.&lt;/p&gt;</description></item><item><title>Note on tracking dotfiles across multiple instances easily with git</title><link>https://yokekeong.com/note-on-tracking-dotfiles-across-multiple-instances-easily-with-git/</link><pubDate>Tue, 20 Aug 2019 12:00:03 +0000</pubDate><guid>https://yokekeong.com/note-on-tracking-dotfiles-across-multiple-instances-easily-with-git/</guid><description>&lt;p&gt;Came across fast.ai&amp;rsquo;s &lt;a href="https://github.com/fastai/dotfiles"&gt;dotfiles repo&lt;/a&gt;, which provided gems of insight into &lt;a href="https://www.atlassian.com/git/tutorials/dotfiles"&gt;managing dotfiles&lt;/a&gt; in Linux (and Windows WSL) environment by using git bare repos. The repo also provided a very good quick start for some common command line configs. When you are working on various compute instances on cloud and/or on local, it is very handy to track and transfer dotfiles easily.&lt;/p&gt;&#10;&lt;h2 id="from-scratch"&gt;From scratch&lt;/h2&gt;&#10;&lt;p&gt;Create an empty repo on Github/Bitbucket/Gitlab named &lt;code&gt;dotfiles&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Dim Sum Classifier – from Data to App part 2</title><link>https://yokekeong.com/dim-sum-classifier-from-data-to-app-part-2/</link><pubDate>Thu, 15 Aug 2019 12:00:52 +0000</pubDate><guid>https://yokekeong.com/dim-sum-classifier-from-data-to-app-part-2/</guid><description>&lt;p&gt;&lt;em&gt;Picture Credits&lt;/em&gt; &lt;a href="https://www.wallpaperflare.com/vibrant-shot-of-feasting-on-chinese-steamed-and-fried-dim-sum-wallpaper-aaubx"&gt;&lt;em&gt;here&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;In the previous &lt;a href="https://yokekeong.com/dim-sum-classifier-from-data-to-app-part-1"&gt;post&lt;/a&gt;, we see how we can acquire data, process, clean and train an Image Classifier to identify some yummy dim sums.&lt;/p&gt;&#10;&lt;p&gt;In this post, we shall look at completing the loop by developing the web app using &lt;a href="https://www.starlette.io/"&gt;starlette&lt;/a&gt; (a framework similar to that of flask but supports asynchronous IO), setting up and automating deployment of our web app with Github, Docker contanier and &lt;a href="https://render.com/"&gt;Render&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;The very helpful &lt;a href="https://course.fast.ai/"&gt;fast.ai course&lt;/a&gt; team and community has given us a quick start with the following resources:&lt;/p&gt;</description></item><item><title>Dim Sum Classifier - from Data to App part 1</title><link>https://yokekeong.com/dim-sum-classifier-from-data-to-app-part-1/</link><pubDate>Tue, 13 Aug 2019 12:00:07 +0000</pubDate><guid>https://yokekeong.com/dim-sum-classifier-from-data-to-app-part-1/</guid><description>&lt;p&gt;&lt;em&gt;Picture Credits&lt;/em&gt; &lt;a href="https://www.wallpaperflare.com/vibrant-shot-of-feasting-on-chinese-steamed-and-fried-dim-sum-wallpaper-aaubx"&gt;&lt;em&gt;here&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;In a typically machine learning lifecycle, we will need to acquire data, process data, train and validate/test models and finally deploy the trained models in applications/services. In this first part of two post, inspired by fast.ai 2019 &lt;a href="https://github.com/fastai/course-v3/blob/master/nbs/dl1/lesson2-download.ipynb"&gt;lesson 2&lt;/a&gt;, we shall build a &lt;a href="https://en.wikipedia.org/wiki/Dim_sum"&gt;Dim Sum&lt;/a&gt; (a Cantonese bite-size style of cuisine with many yummy choices) classifier application by leveraging on Google Images as a data source.&lt;/p&gt;&#10;&lt;p&gt;Due to the wide variety of choices, we shall focus on 5 common dim sum dishes below, with links for your interest:&lt;/p&gt;</description></item><item><title>Rock, paper, scissors - vision transfer learning with fast.ai</title><link>https://yokekeong.com/rock-paper-scissors-vision-transfer-learning-with-fast-ai/</link><pubDate>Wed, 07 Aug 2019 12:00:00 +0000</pubDate><guid>https://yokekeong.com/rock-paper-scissors-vision-transfer-learning-with-fast-ai/</guid><description>&lt;p&gt;&lt;em&gt;Picture Credits:&lt;/em&gt; &lt;a href="https://en.wikipedia.org/wiki/Rock_paper_scissors"&gt;&lt;em&gt;Wikipedia&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;In the previous &lt;a href="https://yokekeong.com/serving-rock-paper-scissors-image-classifier-app-built-with-tensorflow-2-keras-and-flask"&gt;post&lt;/a&gt;, we used the Rock, Paper Scissors &lt;a href="https://github.com/yoke2/rps_tf2_flask_app/blob/master/misc/notebook/rock_paper_scissors_tf2b_colab.ipynb"&gt;notebook&lt;/a&gt; that trained a custom image classification model from scratch.&lt;/p&gt;&#10;&lt;p&gt;While the notebook is demonstrates building custom layers, for such a task, we can also leverage on Transfer Learning using models trained on similar image classification tasks that can often reduce time in training and experimentation and yet achieve results fairly good results, which will be shown here using the &lt;a href="https://github.com/fastai/fastai"&gt;fastai v1&lt;/a&gt; library as demonstrated by Jeremy Howard in his awesome &lt;a href="https://course.fast.ai/"&gt;Practical Deep Learning for Coders&lt;/a&gt; 2019 course.&lt;/p&gt;</description></item><item><title>Serving Rock, Paper, Scissors Image Classifier App built with Tensorflow 2, Keras and Flask</title><link>https://yokekeong.com/serving-rock-paper-scissors-image-classifier-app-built-with-tensorflow-2-keras-and-flask/</link><pubDate>Mon, 05 Aug 2019 12:00:00 +0000</pubDate><guid>https://yokekeong.com/serving-rock-paper-scissors-image-classifier-app-built-with-tensorflow-2-keras-and-flask/</guid><description>&lt;p&gt;&lt;em&gt;Picture Credits:&lt;/em&gt; &lt;a href="https://pixabay.com/vectors/interface-internet-program-browser-3614766/"&gt;&lt;em&gt;Pixabay&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;In this post, we shall be looking at serving a Tensorflow 2 Keras image classification model with a Flask app.&lt;/p&gt;&#10;&lt;p&gt;We shall be leveraging on the &lt;a href="https://github.com/lmoroney/io19/blob/master/Zero%20to%20Hero/Rock-Paper-Scissors.ipynb"&gt;Rock Paper Scissors Tensorflow 2 Notebook&lt;/a&gt; created by &lt;a href="http://laurencemoroney.com/"&gt;Laurence Moroney&lt;/a&gt; and built on the Image Classifier App template provided by &lt;a href="https://github.com/mtobeiyf"&gt;Fing&lt;/a&gt; on the Github repository &lt;a href="https://github.com/mtobeiyf/keras-flask-deploy-webapp"&gt;here&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h3 id="training-and-saving-the-model-in-google-colab"&gt;Training and saving the Model in Google Colab&lt;/h3&gt;&#10;&lt;p&gt;To train the model, we can run the aforementioned Jupyter Notebook on &lt;a href="https://colab.research.google.com/"&gt;Google Colab&lt;/a&gt;. To train the model successfully, we will need to ensure that Tensorflow 2 beta is installed with the following command:&lt;/p&gt;</description></item><item><title>Find difference between CSV files using PowerShell</title><link>https://yokekeong.com/find-difference-between-csv-files-using-powershell/</link><pubDate>Thu, 16 Feb 2017 11:00:08 +0000</pubDate><guid>https://yokekeong.com/find-difference-between-csv-files-using-powershell/</guid><description>&lt;p&gt;If you are on Windows, you can use PowerShell to find the differences between two CSV files. Sample code below:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#d8dee9;background-color:#2e3440;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;1&lt;/span&gt;&lt;span&gt;$file1 = import-csv -Path &amp;#34;D:\path\to\file1.csv&amp;#34;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;2&lt;/span&gt;&lt;span&gt;$file2 = import-csv -Path &amp;#34;D:\path\to\file2.csv&amp;#34;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;3&lt;/span&gt;&lt;span&gt;Compare-Object $file1 $file2 -property column_to_identify_row -IncludeEqual&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You can refer to &lt;a href="https://blogs.technet.microsoft.com/stefan_stranger/2011/02/08/compare-two-different-csv-files-using-powershell/"&gt;this article&lt;/a&gt; for more details.&lt;/p&gt;</description></item><item><title>Activating the free Let's Encrypt SSL certificate for your WordPress site</title><link>https://yokekeong.com/activating-the-free-lets-encrypt-ssl-certificate-for-your-wordpress-site/</link><pubDate>Thu, 09 Feb 2017 11:00:06 +0000</pubDate><guid>https://yokekeong.com/activating-the-free-lets-encrypt-ssl-certificate-for-your-wordpress-site/</guid><description>&lt;p&gt;WPBeginner has a easy to follow &lt;a href="http://www.wpbeginner.com/wp-tutorials/how-to-add-free-ssl-in-wordpress-with-lets-encrypt/"&gt;tutorial&lt;/a&gt; on activating the free Let&amp;rsquo;s Encrypt SSL certificate for your WordPress site, assuming your web host supports them. The &lt;a href="https://wordpress.org/plugins/really-simple-ssl/"&gt;really simple ssl&lt;/a&gt; plugin &lt;a href="http://www.wpbeginner.com/wp-tutorials/how-to-add-free-ssl-in-wordpress-with-lets-encrypt/"&gt;mentioned&lt;/a&gt; makes the process painless for existing sites.&lt;/p&gt;&#10;&lt;p&gt;If you are on HawkHost, you can view their announcements &lt;a href="https://blog.hawkhost.com/2016/11/08/hawk-host-now-officially-sponsors-lets-encrypt/"&gt;here&lt;/a&gt; on their Let&amp;rsquo;s Encrypt and 2FA support. In short, you can get the free SSL certificate by:&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Logging to cPanel, locate the Security section and click on &amp;ldquo;Lets Encrypt™ SSL&amp;rdquo; option to start the process.&lt;/li&gt;&#10;&lt;li&gt;You can then select the domain that you would like HawkHost to issue the SSL certificate to.&lt;/li&gt;&#10;&lt;li&gt;You will be brought to a confirmation page. On confirmation, HawkHost will generate the SSL certificate for you.&lt;/li&gt;&#10;&lt;li&gt;Back in your WordPress admin page, activate the really simple ssl plugin and click on the button &amp;ldquo;Go ahead, activate SSL!&amp;rdquo;.&lt;/li&gt;&#10;&lt;li&gt;You might be logged out of the admin page. If so, login again and you will discover that your WordPress site is now on SSL.&lt;/li&gt;&#10;&lt;li&gt;Refer back to the WPBeginner &lt;a href="http://www.wpbeginner.com/wp-tutorials/how-to-add-free-ssl-in-wordpress-with-lets-encrypt/"&gt;tutorial&lt;/a&gt; for additional details like Google Analytics updates.&lt;/li&gt;&#10;&lt;/ol&gt;</description></item><item><title>Find version of python package installed</title><link>https://yokekeong.com/find-version-of-python-package-installed/</link><pubDate>Thu, 04 Aug 2016 11:00:52 +0000</pubDate><guid>https://yokekeong.com/find-version-of-python-package-installed/</guid><description>&lt;p&gt;Below are 3 methods we can try to find the version of an installed python package. We shall use &lt;code&gt;scipy&lt;/code&gt; as an example.&lt;/p&gt;&#10;&lt;h3 id="using-pip"&gt;Using pip&lt;/h3&gt;&#10;&lt;p&gt;Method 1 - For pip 1.3 and above: &lt;code&gt;pip show scipy&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;Method 2 - Alternative (works with older versions of pip): &lt;code&gt;pip freeze | grep scipy&lt;/code&gt;&lt;/p&gt;&#10;&lt;h3 id="using-version-attribute"&gt;Using &lt;strong&gt;version&lt;/strong&gt; attribute&lt;/h3&gt;&#10;&lt;p&gt;Method 3 - Launch python/ipython, then execute the commands below:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#d8dee9;background-color:#2e3440;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;1&lt;/span&gt;&lt;span&gt;import scipy&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;2&lt;/span&gt;&lt;span&gt;scipy.__version__&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Reference for Method 1 is &lt;a href="http://stackoverflow.com/questions/10214827/find-which-version-of-package-is-installed-with-pip"&gt;here&lt;/a&gt;. Reference for Method 2 is &lt;a href="https://davidwalsh.name/python-package-version"&gt;here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Tool to read large text files</title><link>https://yokekeong.com/tool-to-read-very-large-text-files/</link><pubDate>Thu, 21 Jul 2016 11:00:05 +0000</pubDate><guid>https://yokekeong.com/tool-to-read-very-large-text-files/</guid><description>&lt;p&gt;Sometimes, you might need to view and search very large text files like logs or SQL dumps. On Windows and Linux, you can give &lt;a href="http://glogg.bonnefon.org/"&gt;glogg&lt;/a&gt; a try. Please note that this application is read-only.&lt;/p&gt;</description></item><item><title>Running Apache Spark with sparklyr and R in Windows</title><link>https://yokekeong.com/running-apache-spark-with-sparklyr-and-r-in-windows/</link><pubDate>Wed, 06 Jul 2016 17:00:50 +0000</pubDate><guid>https://yokekeong.com/running-apache-spark-with-sparklyr-and-r-in-windows/</guid><description>&lt;p&gt;RStudio recently released the &lt;a href="http://spark.rstudio.com/"&gt;sparklyr package&lt;/a&gt; that allows users to connect to Apache Spark instances from R. In addition, this package offers dplyr integration, allowing you to utilize Spark as you use dplyr functions like &lt;code&gt;filter&lt;/code&gt; and &lt;code&gt;select&lt;/code&gt;, which is very convenient. The package will also assist you in downloading and installing Apache Spark if it is a fresh install. This post covers the local install of Apache Spark via sparklyr and RStudio in Windows 10.&lt;/p&gt;</description></item><item><title>Downloading R packages securely</title><link>https://yokekeong.com/downloading-r-packages-securely/</link><pubDate>Tue, 25 Aug 2015 11:00:52 +0000</pubDate><guid>https://yokekeong.com/downloading-r-packages-securely/</guid><description>&lt;p&gt;JJ Allaire from RStudio wrote a &lt;a href="https://support.rstudio.com/hc/en-us/articles/206827897-Secure-Package-Downloads-for-R"&gt;step-by-step guide&lt;/a&gt; on how to configure secured downloads of R packages. Secured downloading of R packages (via HTTPS connection) ensures that you get your packages from legitimate, trusted sources.&lt;/p&gt;</description></item><item><title>Launching matlab command line in Windows</title><link>https://yokekeong.com/launching-matlab-command-line-in-windows/</link><pubDate>Tue, 21 Jul 2015 11:00:28 +0000</pubDate><guid>https://yokekeong.com/launching-matlab-command-line-in-windows/</guid><description>&lt;p&gt;Sometimes you would only want to launch Matlab&amp;rsquo;s command line window instead of the full IDE. To do that in Windows, type the following command in the command prompt: &lt;code&gt;matlab -nodesktop&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Getting session information in Python</title><link>https://yokekeong.com/getting-session-information-in-python/</link><pubDate>Tue, 07 Jul 2015 11:00:08 +0000</pubDate><guid>https://yokekeong.com/getting-session-information-in-python/</guid><description>&lt;p&gt;We&amp;rsquo;ve gone through how to get session information in R &lt;a href="https://yokekeong.com/getting-session-information-in-r/"&gt;previously&lt;/a&gt;, so how do we do the same for Python? It seems that there is no single convenient function available so here&amp;rsquo;s one approach.&lt;/p&gt;&#10;&lt;p&gt;To get the system information, you can utilize the commonly used IPython package:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#d8dee9;background-color:#2e3440;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;1&lt;/span&gt;&lt;span&gt;&lt;span style="color:#81a1c1;font-weight:bold"&gt;import&lt;/span&gt; &lt;span style="color:#8fbcbb"&gt;IPython&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;2&lt;/span&gt;&lt;span&gt;IPython&lt;span style="color:#81a1c1"&gt;.&lt;/span&gt;sys_info&lt;span style="color:#eceff4"&gt;()&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To find out packages that have been loaded at the time (includes modules loaded by Python itself and by any Python IDE), you can utilize the &lt;code&gt;sys.modules.keys()&lt;/code&gt; method. The code below gets the package name rather than the sub-components.&lt;/p&gt;</description></item><item><title>Getting session information in R</title><link>https://yokekeong.com/getting-session-information-in-r/</link><pubDate>Tue, 30 Jun 2015 11:00:15 +0000</pubDate><guid>https://yokekeong.com/getting-session-information-in-r/</guid><description>&lt;p&gt;When troubleshooting R bugs or asking for assistance in mailing lists and sites like StackOverflow, it is good to review or present information about your system and packages loaded.&lt;/p&gt;&#10;&lt;p&gt;I much prefer the &lt;code&gt;session_info()&lt;/code&gt; function from the devtools package over the default &lt;code&gt;sessionInfo()&lt;/code&gt; function as it&amp;rsquo;s output is not only more readable, it also provides useful information like timezone and additional packages (non-base) loaded at the time.&lt;/p&gt;&#10;&lt;p&gt;Assuming you have the devtools packages already installed, you can invoke the function in one line:&lt;/p&gt;</description></item><item><title>Updating packages after R upgrade</title><link>https://yokekeong.com/updating-packages-after-r-upgrade/</link><pubDate>Tue, 26 May 2015 11:00:50 +0000</pubDate><guid>https://yokekeong.com/updating-packages-after-r-upgrade/</guid><description>&lt;p&gt;Note to self: After upgrading R (or Revolution R Open) on Windows, run the following command to update the packages at one go.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#d8dee9;background-color:#2e3440;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;1&lt;/span&gt;&lt;span&gt;update.packages(checkBuilt = TRUE, ask = FALSE)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Drawing map shapes with rgdal</title><link>https://yokekeong.com/drawing-map-shapes-with-rgdal/</link><pubDate>Tue, 05 May 2015 11:00:06 +0000</pubDate><guid>https://yokekeong.com/drawing-map-shapes-with-rgdal/</guid><description>&lt;p&gt;In this post, let us explore the R package rgdal for map shape plotting. We shall attempt to plot the map of Singapore and display major road networks in Singapore.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Pre-requisites&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;To get the data you need, you can go to a GIS provider. In this post, we shall be using diva-gis.&lt;/p&gt;&#10;&lt;p&gt;Steps:&lt;/p&gt;&#10;&lt;p&gt;1. Go to: &lt;a href="http://www.diva-gis.org/gdata"&gt;http://www.diva-gis.org/gdata&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;2. Select &amp;lsquo;Spatial Data Download&amp;rsquo;&lt;/p&gt;&#10;&lt;p&gt;3. Select Country = &amp;lsquo;Singapore&amp;rsquo;&lt;/p&gt;&#10;&lt;p&gt;4. Select Subject = &amp;lsquo;Administrative areas (GADM)&amp;rsquo;&lt;/p&gt;</description></item><item><title>Reading tabular data with readr package</title><link>https://yokekeong.com/reading-tabular-data-with-readr-package/</link><pubDate>Tue, 14 Apr 2015 11:00:57 +0000</pubDate><guid>https://yokekeong.com/reading-tabular-data-with-readr-package/</guid><description>&lt;p&gt;Recently, Hadley Wickham introduced a new package to read tabular data (such as CSV), lines and entire files.&lt;/p&gt;&#10;&lt;p&gt;Advantages include:&lt;/p&gt;&#10;&lt;p&gt;1. Helpful defaults over base R &lt;code&gt;read.csv&lt;/code&gt; such as: Characters are never automatically converted to factors and row names are never set.&lt;/p&gt;&#10;&lt;p&gt;2. &lt;a href="http://blog.revolutionanalytics.com/2015/04/new-packages-for-reading-data-into-r-fast.html"&gt;Faster reads.&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;3. When reading large files, a progress bar is displayed.&lt;/p&gt;&#10;&lt;p&gt;4. A very useful &lt;code&gt;problems()&lt;/code&gt; function that allows you to zoom into rows of data that readr has issues loading into for e.g. expected integer for this column but actual data is text.&lt;/p&gt;</description></item><item><title>Handling line endings on Windows with git</title><link>https://yokekeong.com/handling-line-endings-on-windows-with-git/</link><pubDate>Tue, 07 Apr 2015 11:00:27 +0000</pubDate><guid>https://yokekeong.com/handling-line-endings-on-windows-with-git/</guid><description>&lt;p&gt;Note to self: When collaborating on different platforms, one of the most common issue is line endings - LF on Mac/Linux and CRLF on Windows. With git, you can address this issue in the following ways:&lt;/p&gt;&#10;&lt;h4 id="1-configure-global-settings"&gt;1) Configure Global Settings&lt;/h4&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Windows users: &lt;code&gt;git config --global core.autocrlf true&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;Mac/Linux users: &lt;code&gt;git config --global core.autocrlf input&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h4 id="2-configure-per-repository-settings"&gt;2) Configure Per-repository settings&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#d8dee9;background-color:#2e3440;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;1&lt;/span&gt;&lt;span&gt;echo &amp;#34;* text=auto&amp;#34; &amp;gt; .gitattributes&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;2&lt;/span&gt;&lt;span&gt;git add .&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;3&lt;/span&gt;&lt;span&gt;git commit -m &amp;#34;Files play nice in Mac, Linux and Windows&amp;#34;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;4&lt;/span&gt;&lt;span&gt;git push origin master&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Additional reading:&#10;&lt;a href="http://stackoverflow.com/questions/170961/whats-the-best-crlf-carriage-return-line-feed-handling-strategy-with-git"&gt;StackOverflow thread&lt;/a&gt; &lt;a href="https://help.github.com/articles/dealing-with-line-endings/#platform-all"&gt;Github help&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Reading excel files with readxl R package</title><link>https://yokekeong.com/reading-excel-files-with-readxl-r-package/</link><pubDate>Tue, 31 Mar 2015 11:00:05 +0000</pubDate><guid>https://yokekeong.com/reading-excel-files-with-readxl-r-package/</guid><description>&lt;p&gt;Recently, Hadley Wickham introduced a new package to read Excel files (XLS, XLSX). The main advantage is that no external dependencies is required for readxl. (xlsx package requires Java Runtime to be installed)&lt;/p&gt;&#10;&lt;p&gt;With xlsx:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#d8dee9;background-color:#2e3440;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;1&lt;/span&gt;&lt;span&gt;&lt;span style="color:#88c0d0"&gt;library&lt;/span&gt;&lt;span style="color:#eceff4"&gt;(&lt;/span&gt;xlsx&lt;span style="color:#eceff4"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;2&lt;/span&gt;&lt;span&gt;&lt;span style="color:#88c0d0"&gt;library&lt;/span&gt;&lt;span style="color:#eceff4"&gt;(&lt;/span&gt;httr&lt;span style="color:#eceff4"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;3&lt;/span&gt;&lt;span&gt;url &lt;span style="color:#81a1c1"&gt;&amp;lt;-&lt;/span&gt; &lt;span style="color:#a3be8c"&gt;&amp;#34;https://rawgit.com/yoke2/dsxref/master/iris.xlsx&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;4&lt;/span&gt;&lt;span&gt;&lt;span style="color:#88c0d0"&gt;GET&lt;/span&gt;&lt;span style="color:#eceff4"&gt;(&lt;/span&gt;url&lt;span style="color:#eceff4"&gt;,&lt;/span&gt; &lt;span style="color:#88c0d0"&gt;write_disk&lt;/span&gt;&lt;span style="color:#eceff4"&gt;(&lt;/span&gt;&lt;span style="color:#a3be8c"&gt;&amp;#34;iris.xlsx&amp;#34;&lt;/span&gt;&lt;span style="color:#eceff4"&gt;,&lt;/span&gt; overwrite&lt;span style="color:#81a1c1"&gt;=&lt;/span&gt;&lt;span style="color:#81a1c1;font-weight:bold"&gt;TRUE&lt;/span&gt;&lt;span style="color:#eceff4"&gt;))&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;5&lt;/span&gt;&lt;span&gt;iris &lt;span style="color:#81a1c1"&gt;&amp;lt;-&lt;/span&gt; &lt;span style="color:#88c0d0"&gt;read.xlsx&lt;/span&gt;&lt;span style="color:#eceff4"&gt;(&lt;/span&gt;&lt;span style="color:#a3be8c"&gt;&amp;#34;iris.xlsx&amp;#34;&lt;/span&gt;&lt;span style="color:#eceff4"&gt;,&lt;/span&gt; sheetIndex&lt;span style="color:#81a1c1"&gt;=&lt;/span&gt;&lt;span style="color:#b48ead"&gt;1&lt;/span&gt;&lt;span style="color:#eceff4"&gt;,&lt;/span&gt; header&lt;span style="color:#81a1c1"&gt;=&lt;/span&gt;&lt;span style="color:#81a1c1;font-weight:bold"&gt;TRUE&lt;/span&gt;&lt;span style="color:#eceff4"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;6&lt;/span&gt;&lt;span&gt;&lt;span style="color:#88c0d0"&gt;head&lt;/span&gt;&lt;span style="color:#eceff4"&gt;(&lt;/span&gt;iris&lt;span style="color:#eceff4"&gt;,&lt;/span&gt; &lt;span style="color:#b48ead"&gt;3&lt;/span&gt;&lt;span style="color:#eceff4"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#d8dee9;background-color:#2e3440;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;1&lt;/span&gt;&lt;span&gt;## NA. Sepal.Length Sepal.Width Petal.Length Petal.Width Species&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;2&lt;/span&gt;&lt;span&gt;## 1 1 5.1 3.5 1.4 0.2 setosa&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;3&lt;/span&gt;&lt;span&gt;## 2 2 4.9 3.0 1.4 0.2 setosa&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;4&lt;/span&gt;&lt;span&gt;## 3 3 4.7 3.2 1.3 0.2 setosa&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;With readxl:&lt;/p&gt;</description></item><item><title>Download files over HTTPS in R with httr</title><link>https://yokekeong.com/download-files-over-https-in-r-with-httr/</link><pubDate>Tue, 10 Mar 2015 11:00:52 +0000</pubDate><guid>https://yokekeong.com/download-files-over-https-in-r-with-httr/</guid><description>&lt;p&gt;To download a file over HTTP connection, we normally use &lt;code&gt;download.file&lt;/code&gt; command in R, for example:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#d8dee9;background-color:#2e3440;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;1&lt;/span&gt;&lt;span&gt;url &lt;span style="color:#81a1c1"&gt;=&lt;/span&gt; &lt;span style="color:#a3be8c"&gt;&amp;#34;http://vincentarelbundock.github.io/Rdatasets/csv/datasets/iris.csv&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;2&lt;/span&gt;&lt;span&gt;&lt;span style="color:#88c0d0"&gt;download.file&lt;/span&gt;&lt;span style="color:#eceff4"&gt;(&lt;/span&gt;url&lt;span style="color:#eceff4"&gt;,&lt;/span&gt; &lt;span style="color:#a3be8c"&gt;&amp;#34;iris.csv&amp;#34;&lt;/span&gt;&lt;span style="color:#eceff4"&gt;,&lt;/span&gt; quiet&lt;span style="color:#81a1c1"&gt;=&lt;/span&gt;&lt;span style="color:#81a1c1;font-weight:bold"&gt;TRUE&lt;/span&gt;&lt;span style="color:#eceff4"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;For HTTPS connections, &lt;code&gt;download.file&lt;/code&gt; may give you some issues. In situations like this you can consider using the &lt;a href="http://cran.r-project.org/web/packages/httr/index.html"&gt;httr&lt;/a&gt; package to download files:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#d8dee9;background-color:#2e3440;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;1&lt;/span&gt;&lt;span&gt;&lt;span style="color:#88c0d0"&gt;library&lt;/span&gt;&lt;span style="color:#eceff4"&gt;(&lt;/span&gt;httr&lt;span style="color:#eceff4"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;2&lt;/span&gt;&lt;span&gt;url &lt;span style="color:#81a1c1"&gt;&amp;lt;-&lt;/span&gt; &lt;span style="color:#a3be8c"&gt;&amp;#34;https://rawgit.com/yoke2/dsxref/master/iris.xlsx&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;3&lt;/span&gt;&lt;span&gt;&lt;span style="color:#88c0d0"&gt;GET&lt;/span&gt;&lt;span style="color:#eceff4"&gt;(&lt;/span&gt;url&lt;span style="color:#eceff4"&gt;,&lt;/span&gt; &lt;span style="color:#88c0d0"&gt;write_disk&lt;/span&gt;&lt;span style="color:#eceff4"&gt;(&lt;/span&gt;&lt;span style="color:#a3be8c"&gt;&amp;#34;iris.xlsx&amp;#34;&lt;/span&gt;&lt;span style="color:#eceff4"&gt;,&lt;/span&gt; overwrite&lt;span style="color:#81a1c1"&gt;=&lt;/span&gt;&lt;span style="color:#81a1c1;font-weight:bold"&gt;TRUE&lt;/span&gt;&lt;span style="color:#eceff4"&gt;))&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Data Science Learning - A Cross Reference</title><link>https://yokekeong.com/data-science-learning-a-cross-reference/</link><pubDate>Tue, 17 Feb 2015 11:00:12 +0000</pubDate><guid>https://yokekeong.com/data-science-learning-a-cross-reference/</guid><description>&lt;p&gt;While learning data science, I&amp;rsquo;ve discovered that it is very useful to think of the data science processing as a &amp;ldquo;pipeline&amp;rdquo; i.e. a series of actions in a process. Along this pipeline, you will be tackling lots of &amp;ldquo;How do I&amp;hellip;&amp;rdquo; questions like &amp;ldquo;How do I remove NA values?&amp;rdquo; and &amp;ldquo;How do I create N-grams?&amp;rdquo;&lt;/p&gt;&#10;&lt;p&gt;Furthermore, given the many data science tools and languages available online, you will most likely ask the same questions again when you are learning how to perform data science tasks in another language. While Google Search and Stack Overflow/Stack Exchange comes in very handy when searching for answers, I wanted some structure - a collection of sorts - to these questions and have working examples in different language implementations.&lt;/p&gt;</description></item><item><title>Completed Data Science Specialization</title><link>https://yokekeong.com/completed-data-science-specialization/</link><pubDate>Tue, 20 Jan 2015 11:00:32 +0000</pubDate><guid>https://yokekeong.com/completed-data-science-specialization/</guid><description>&lt;blockquote&gt;&#10;&lt;p&gt;&amp;ldquo;Data Science, a 10-course specialization by Johns Hopkins University on Coursera. Specialization Certificate earned on December 22, 2014&amp;rdquo;&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;Finally received the certification!&lt;/p&gt;</description></item><item><title>A virtual environment for data science</title><link>https://yokekeong.com/a-virtual-environment-for-data-science/</link><pubDate>Tue, 13 Jan 2015 11:00:23 +0000</pubDate><guid>https://yokekeong.com/a-virtual-environment-for-data-science/</guid><description>&lt;p&gt;I wanted to conveniently use data science tools without the hassle of installing the required languages and packages, while benefiting from the strengths of the Linux command line tools. There is a pre-packaged VM called the &lt;a href="http://datasciencetoolbox.org/"&gt;Data Science Toolbox&lt;/a&gt; that fills this need.&lt;/p&gt;&#10;&lt;p&gt;It comes with R and Python installed, along with the respective popular data analysis packages for R and Python. You will be able to install the VM successfully by following the instructions on the &lt;a href="http://datasciencetoolbox.org/"&gt;website&lt;/a&gt;, including installation of pre-requisites like VirtualBox and Vagrant.&lt;/p&gt;</description></item><item><title>Speeding up R</title><link>https://yokekeong.com/speeding-up-r/</link><pubDate>Tue, 16 Dec 2014 11:00:38 +0000</pubDate><guid>https://yokekeong.com/speeding-up-r/</guid><description>&lt;p&gt;When processing large datasets, some R commands operations requiring linear algebra libraries may run very slowly. As such you might want to try &lt;a href="http://mran.revolutionanalytics.com/open/"&gt;Revolution R Open&lt;/a&gt;, an enhanced R distribution using multi-threaded libraries. You can see some benchmarks &lt;a href="http://www.r-bloggers.com/r-r-with-atlas-r-with-openblas-and-revolution-r-open-which-is-fastest/"&gt;here&lt;/a&gt; and &lt;a href="http://blog.revolutionanalytics.com/2014/10/revolution-r-open-mkl.html"&gt;here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Exploring Focal Length with Exiftool and R</title><link>https://yokekeong.com/focal-length-with-exiftool-and-r/</link><pubDate>Thu, 16 Oct 2014 12:00:36 +0000</pubDate><guid>https://yokekeong.com/focal-length-with-exiftool-and-r/</guid><description>&lt;p&gt;&lt;em&gt;Picture Credits:&lt;/em&gt; &lt;a href="https://pixabay.com/vectors/statistic-analytic-diagram-1564428/"&gt;&lt;em&gt;Pixabay&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;A good way to understand your shooting style and guide your future camera equipment buying decisions will be to discover your frequently used focal lengths.&lt;/p&gt;&#10;&lt;p&gt;Focal Lengths can be extract from photos that have EXIF data, which in short refers to data on how these photos are taken. You can find out more from an introductory article &lt;a href="http://photographylife.com/what-is-exif-data"&gt;here&lt;/a&gt;. In this post, we are going to explore focal length usage with the flexible Exiftool and R.&lt;/p&gt;</description></item><item><title>#DataForGood Projects</title><link>https://yokekeong.com/portfolio/data-for-good-projects/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://yokekeong.com/portfolio/data-for-good-projects/</guid><description>&lt;h1 id="dataforgood-projects"&gt;#DataForGood Projects&lt;/h1&gt;&#10;&lt;p&gt;This page lists the various voluntary data projects that I&amp;rsquo;ve led or contributed to with DataKind Singapore in reverse chronological order.&lt;/p&gt;&#10;&lt;h2 id="volunteer-for-waterpoint-data-exchange-2019"&gt;Volunteer for WaterPoint Data Exchange (2019)&lt;/h2&gt;&#10;&lt;p&gt;I assisted to create an Image Classification Model to identify WaterPoint images.&lt;/p&gt;&#10;&lt;p&gt;Highlights&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Multi-class Image Classification&lt;/li&gt;&#10;&lt;li&gt;Transfer Learning&lt;/li&gt;&#10;&lt;li&gt;Tools used: Python, fastai&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/DataKind-SG/wpdx-watertech-classification-image"&gt;Github&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="data-ambassador-for-projects"&gt;Data Ambassador for Projects&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Community Justice Centre &amp;amp; Law Society Pro Bono Services (2018)&lt;/li&gt;&#10;&lt;li&gt;Singapore Children&amp;rsquo;s Society (2017)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;I co-led the above projects as a Data Ambassador, collaborating with non-profit representatives to discover business needs and translate them into data requirements, and worked with volunteer teams to deliver data insights and proof-of concepts in a weekend DataDive.&lt;/p&gt;</description></item><item><title>AI/ML Projects (Masters)</title><link>https://yokekeong.com/portfolio/ai-ml-projects-masters/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://yokekeong.com/portfolio/ai-ml-projects-masters/</guid><description>&lt;h1 id="aiml-projects-masters"&gt;AI/ML Projects (Masters)&lt;/h1&gt;&#10;&lt;p&gt;This page show cases work done during my internship as well as the AI and Machine Learning Systems (in reverse chronological order) collaboratively built with my fellow team mates during my study in the Masters of Technology in Intelligent Systems in the National University of Singapore, Institute of System Science from 2019 to 2020.&lt;/p&gt;&#10;&lt;h1 id="internship-at-the-chope-group"&gt;Internship at the Chope Group&lt;/h1&gt;&#10;&lt;p&gt;During this internship, I worked with Product &amp;amp; Engineering Teams and Data Science Lead on several projects and productionizing Machine Learning Services end-to-end.&lt;/p&gt;</description></item><item><title>Coursera Data Science Specialization Projects</title><link>https://yokekeong.com/portfolio/data-science-projects/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://yokekeong.com/portfolio/data-science-projects/</guid><description>&lt;h1 id="coursera-data-science-specialization-projects"&gt;Coursera Data Science Specialization Projects&lt;/h1&gt;&#10;&lt;p&gt;This page showcases the Data Science Projects that I&amp;rsquo;ve completed as part of the Johns Hopkins University Data Science Specialization Track offered through Coursera from 2014 to 2015. You will see a brief description on the project, followed by links to applications, repositories, presentations and/or reports, where applicable.&lt;/p&gt;&#10;&lt;h2 id="capstone-project"&gt;Capstone Project&lt;/h2&gt;&#10;&lt;p&gt;In this inaugural capstone run, which is offered &lt;a href="https://simplystatistics.org/posts/2014-08-19-swiftkey-and-johns-hopkins-partner-for-data-science-specialization-capstone/"&gt;in partnership with SwiftKey&lt;/a&gt;, I&amp;rsquo;ve created a text prediction application that allows a user to enter a phrase and subsequently predict the next word the user might enter.&lt;/p&gt;</description></item><item><title>Talks and Micro-Projects</title><link>https://yokekeong.com/portfolio/talks-and-micro-projects/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://yokekeong.com/portfolio/talks-and-micro-projects/</guid><description>&lt;h1 id="talks"&gt;Talks&lt;/h1&gt;&#10;&lt;h2 id="building-a-food-classifier-app-end-to-end-walk-through--sharings-jan-2020"&gt;Building a Food Classifier App End-to-End: Walk-through &amp;amp; Sharings (Jan-2020)&lt;/h2&gt;&#10;&lt;p&gt;I conducted a hands-on workshop to walk participants through the creation of a food classifier webapp from data collection to application deployment and sharing of lessons learnt.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/yoke2/tf2_data_to_app_workshop"&gt;GitHub&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="journal-clubs-learnings-and-walkthroughs"&gt;Journal Clubs, Learnings and Walkthroughs&lt;/h1&gt;&#10;&lt;p&gt;I shared presentations and walkthroughs of learnings from journals/articles in areas of interests in my Github repo. You can access the link below.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/yoke2/journal_walkthroughs"&gt;GitHub&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="micro-projects"&gt;Micro Projects&lt;/h1&gt;&#10;&lt;p&gt;Below are some micro projects I&amp;rsquo;ve written for AI, Machine Learning and Data Science. Please look at my blog for more posts.&lt;/p&gt;</description></item></channel></rss>