Teaching Shiny Workshop at SatRday Johannesburg

Eating the cake first and playing games!

This month three SatRdays took place on the same day around the world. I was invited to one of them, SatRday Johannesburg, to give a training and a talk at. I was excited about it because it was my first #rstats event in Africa and I wanted to contribute to events in the region where few conferences are held relative to Europe or the US. The workshop I gave was about Building Web Applications in Shiny. [Read More]

Collaborative Filtering Using Embeddings

goodreads recommendations

Everyday we deal with online platforms that use recommendation systems. There are different approaches to implement such systems and it depends on the product, the available data and more. This post will mainly focus on collaborative filtering using embeddings as a way to learn about latent factors. I learned about this approach months ago from fast.ai Practical Deep Learning for Coders lessons. I also found out that StichFix wrote about the same concept in a blog post last year Understanding Latent Style. [Read More]

Intro to Text Classification with Keras (Part 3 - CNN and RNN Layers)

In part 1 and part 2 of this series of posts on Text Classification in Keras we got a step by step intro about: processing text in Keras. embedding vectors as a way of representing words. defining a sequential models from scratch. Since we are working with a real dataset from the Toxic Comment Classification Challenge on Kaggle, we can always see how our models would score on the leaderboard if we competed with the final submissions. [Read More]

Divergent Bars in ggplot2

Step by step guide

A couple of days ago I was asked by one of the participants I met at the workshop I gave in DataFest Tbilisi about a simple tutorial on plotting divergent bars in ggplot2 and other bar chart stuff. I was going to write a gist with explanation but I decided to write this post instead to share with others whenever they ask during/after a workshop or in other occasions. In this post, I will give 2 step-by-step examples: [Read More]

Intro to Text Classification with Keras (Part 2 - Multi-Label Classification)

In the previous post, we had an overview about text pre-processing in keras. In this post we will use a real dataset from the Toxic Comment Classification Challenge on Kaggle which solves a multi-label classification problem. In this competition, it was required to build a model that’s “capable of detecting different types of toxicity like threats, obscenity, insults, and identity-based hate”. The dataset includes thousands of comments from Wikipedia’s talk page edits and each comment can have more than one tag. [Read More]

Intro to Text Classification with Keras (Part 1)

pre-processing, embeddings and more

Keras provides a simple and flexible API to build and experiment with neural networks. I used it in both python and R, but I decided to write this post in R since there are less examples and tutorials. This series of posts will focus on text classification using keras. The introductory post will show a minimal example to explain: text pre-processing in keras. how and why to use embeddings. [Read More]

R-Ladies at DataFest Tbilisi

In November 2018, I attended DataFest Tbilisi 2018 as I was invited by R-Ladies Tbilisi to give a talk, a workshop and mentor participants in a Datathon. It was a great opportunity and I would particularly highlight the second and third day were we had R-Ladies Room for R lovers with a series of workshops and a Datathon organized and led by R-Ladies who were the main representatives of the R community there. [Read More]

Handling R errors the rlang way

Custom conditions, subclasses and more!

Every day we deal with errors, warnings and messages while writing, debugging or reviewing code. The three types belong to conditions in R. You might hope to see as few of them as possible, but actually they are so helpful when they describe the problem concisely and refer to its source. So if you write functions or code for yourself or others, it is a good practice to spend more time in writing descriptive conditions. [Read More]

Tidy Eval Meets ggplot2

The Bang Bang Plots

Almost a year ago I wrote about my My First Steps into The World of Tidy Eval. At the end I tweeted asking Hadley Wickham and Lionel Henrey whether ggplot2 was compatible with the tidy eval, They said that it was on the todo list. Finally, ggplot2 3.0.0 got released last week with the support of tidy eval, so I thought it was time to write about it! ggplot2 3.0.0 now on CRAN — https://t. [Read More]

#runconf18: My First rOpenSci Unconf Experience

Last week I had the opportunity to attend rOpenSci #runconf18. It was a remarkable event, in which ~60 diverse people gathered to work on projects related to open data, package development, data visualization, reproducibility, education and more. But before talking about the unconf details, let me tell you my story with rOpenSci! I don’t remember exactly the first time I heard about rOpenSci, but I think it was around two years ago. [Read More]