eRum 2020: Appsilon Presentations On xspliner, fast.ai, and Writing Production-Ready R Code
As you may already know, the <a href="https://2020.erum.io/">2020 European R Users Meeting</a> will be a virtual event. This year, <a href="https://wordpress.appsilon.com">Appsilon</a> engineers Krystian Igras, Marcin Dubel, and Jędrzej Świeżewski will be giving virtual presentations on <strong>Friday, June 19th</strong>. Tune in to learn about xspliner, making production-ready R code, and using R for Machine Learning projects with fast.ai. You can view all talks at the eRum 2020 Hopin event <a href="https://hopin.to/events/e-rum2020-conference">here</a> (make sure to bookmark this link for Friday). <img class="wp-image-4691 size-full" src="https://webflow-prod-assets.s3.amazonaws.com/6525256482c9e9a06c7a9d3c%2F65b0221110fa9efb4ccc1975_eRum_presentations_Appsilon.webp" alt="Appsilon Presentation Schedule" width="2000" height="1125" /> <em>All times are in CEST</em> The presentations are all on <b data-stringify-type="bold">Friday, June 19th. </b>Yes, two will happen in parallel – so you'll have to choose! <ul><li><b data-stringify-type="bold">10:15 CEST:</b> Krystian Igras: <em>Explaining Black-Box Models with Xspliner to Make Deliberate Business Decisions</em></li><li><b data-stringify-type="bold">11:50 CEST:</b> Marcin Dubel: <em>Tools and Patterns for Making Clean & Production-Ready R Code</em></li><li><b data-stringify-type="bold">11:50 CEST: </b>Jędrzej Świeżewski, PhD: <em>Fast.ai in R: Preserving Wildlife with Computer Vision</em></li></ul> We hope to see you there! Please find abstracts for each talk below: <img class="aligncenter size-full wp-image-4697" src="https://webflow-prod-assets.s3.amazonaws.com/6525256482c9e9a06c7a9d3c%2F65b02212790b9e1ad8902366_Krystian_eRum_presentations.webp" alt="" width="2000" height="1125" /> <h3>Krystian Igras: <em>Explaining black-box models with xspliner to make deliberate business decisions </em></h3> A vast majority of the state of the art ML algorithms are black boxes, meaning it is difficult to understand their inner workings. The more that algorithms are used as decision support systems in everyday life, the greater the necessity of understanding the underlying decision rules. This is important for many reasons, including regulatory issues as well as making sure that the model learned sensible features. You can achieve all that with the xspliner R package that I have created. One of the most promising methods to explain models is building surrogate models. This can be achieved by inferring Partial Dependence Plot (PDP) curves from the black box model and building Generalized Linear Models based on these curves. The advantage of this approach is that it is model agnostic, which means you can use it regardless of what methods you used to create your model. From this presentation, you will learn what PDP curves and GLMs are and how you can calculate them based on black box models. We will take a look at an interesting business use case in which we'll find out whether the original black box model or the surrogate one is a better decision system for our needs. Finally, we will see an example of how you can explain your models using this approach with the xspliner package for R (available on CRAN!). <img class="aligncenter size-full wp-image-4698" src="https://webflow-prod-assets.s3.amazonaws.com/6525256482c9e9a06c7a9d3c%2F65b02214a597077171c05952_Marcin_eRum_presentations-3.webp" alt="" width="2000" height="1125" /> <h3>Marcin Dubel: <em>Tools and Patterns for Making Clean & Production-Ready R Code</em></h3> In this talk you’ll learn the tools and best practices for making clean, reproducible R code in a working environment ready to be shared and productionized. Save your team’s time for maintenance, adjusting, and struggling with packages. R is a great tool for fast data analysis. Its simplicity in setup combined with powerful features and community support makes it a perfect language for many subject matter experts e.g. in finance or bioinformatics. Nevertheless what is often the case is that while the code is providing a great solution, the application or model is not easily distributed to other team members or outside the team. Both Appsilon and I personally have taken part in many R projects for which the goal was to clean and organize the code as well as the project structure. Data science teams working for our clients have all the expert knowledge and skills required to deliver the value, but they are missing the programming experience required to provide mature, reproducible and production quality code. We would like to share our approach, best practices and useful tools to share code shamelessly. During the presentation I will show: <ul><li style="font-weight: 400;">setting up the development environment with **packrat**, **renv** and **docker**,</li><li style="font-weight: 400;">organizing the project structure,</li><li style="font-weight: 400;">the best practices in writing R code, automated with **linter**,</li><li style="font-weight: 400;">sharing the code using git,</li><li style="font-weight: 400;">organizing workflow with **drake**,</li><li style="font-weight: 400;">optimizing the Shiny apps and data loading with **plumber** and **database**,</li><li style="font-weight: 400;">preparing the tests and continuous integration **circle CI**.</li></ul> <img class="aligncenter size-full wp-image-4700" src="https://webflow-prod-assets.s3.amazonaws.com/6525256482c9e9a06c7a9d3c%2F65b022149b9335fb8c0b3120_Jedrzej_eRum_presentations-4.webp" alt="" width="2000" height="1125" /> <h3>Jędrzej Świeżewski, PhD: <em>Fast.ai in R: Preserving Wildlife with Computer Vision</em></h3> In this presentation, we will discuss using the latest techniques in computer vision as an important part of “AI for Good” efforts, namely, enhancing wildlife preservation. We will present how to make use of the latest technical advancements in an R setup even if they are originally implemented in Python. A topic rightfully receiving growing attention among Machine Learning researchers and practitioners is how to make good use of the power obtained with the advancement of the tools. One of the avenues in these efforts is assisting wildlife conservation by employing computer vision in making observations of wildlife much more effective. We will discuss several of such efforts during the talk. One of the very promising frameworks for computer vision developed recently is the Fast.ai wrapper of PyTorch, a Python framework used for computer vision among other things. While it incorporates the latest theoretical developments in the field (such as one cycle policy training) it provides an easy to use framework allowing a much wider audience to benefit from the tools, such as AI for Good initiatives run by people who are not formally trained in Machine Learning. During the presentation we will show how to make use of a model trained using the Python’s fastai library within an R workflow with the use of the reticulate package. We will focus on use cases concerning classifying species of African wildlife based on images from camera traps. <h2>Learn More</h2> If you’re looking for some R tutorials, try these out: <ul><li><a href="https://appsilon.com/rstudio-shortcuts-and-tips/">RStudio Shortcuts and Tips</a></li><li><a href="https://appsilon.com/video-tutorial-create-and-customize-a-simple-shiny-dashboard/">Video Tutorial: Create and Customize a Simple Shiny Dashboard</a></li><li><a href="https://appsilon.com/is-it-possible-to-build-a-video-game-in-r-shiny/">Tutorial: How I Built a Video Game in R Shiny</a></li><li><a href="https://appsilon.com/howto-css-and-shiny/">Tutorial: How to Use CSS to Style Your R Shiny Dashboards</a></li></ul>