Tips from a new ‘Kaggler’ building CNN’s for blindness detection

Image for post
Image for post

After recently competing in the 2019 APTOS Blindness Detection Kaggle Competition and finishing in top 32%, I thought I would share my process for training convolutional neural networks. My only prior deep learning experience was completing the Deeplearning.ai Specialisation, hence this is all you should need to read this article.

Sections to this article

  1. Keeping a logbook
  2. Get more data
  3. Leveraging existing kernels
  4. Preprocessing images
  5. Training is a very very slow process (but don’t worry)
  6. Transfer learning
  7. Model selection

Competition context

I spent the last 2–3 months working on and off on the APTOS 2019 Blindness Detection Competition on Kaggle, which required you to grade images of people’s eyes to 5 categories of diabetic retinopathy severity. In the remainder of this article I talk about some tips and tricks you can use in any kaggle vision competition, as I feel that the things I learned from this competition are pretty much universally applicable.


Unity is a great tool for prototyping everything from games, to interactive visualisations. In this article, we run through all you need to know to get started using Unity.

First, a little bit about me: I’m a hobbyist unity developer, 3d modeler and graphic designer who’s worked with Unity and Blender for over 5 years. I’m now a Financial Maths student at University College Dublin, and occasionally I do freelance graphic design, web prototyping, and game prototyping.

Image for post
Image for post
Concept art is one of the earliest phases in the game dev process, over the last 5 years i’ve got a lot of exposure to all areas of game design. Check out my Portfolio of Graphic, UX, Concept Art, Game Dev etc…

Introduction

This article is aimed at anyone who has never used Unity before, but has some previous experience programming or in web design / development. By the end of this article, you should have a good general overview of the engine as well as all the necessary functions and code to start making a basic game. …


SVM’s are often considered ‘Black Boxes’. In this article we cover techniques to visualise learned SVM models and their performance on real world data.

Image for post
Image for post
Image Shot by Hugo Dolan

About the author

Hugo Dolan is an undergraduate Financial Mathematics student at University College Dublin. This is mostly based and motivated by recent data analytics and machine learning experiences in the NFL Punt Analytics Kaggle Competition and the being part of the team who won the Citadel Dublin Data Open, along with material from Stanford’s CS229 online course.

This article contains the following sections:

  1. Introduction to Linear Models, SVM’s and Kernels
  2. Interpreting high dimensional engineered feature spaces which are utilising SVM kernels…
  3. Techniques for evaluating the performance of high dimensional classification boundaries
  4. Practical options for working with large class imbalances
  5. How much data you need to train an…


Hugo Dolan is a Dubai College graduate class of 2018 who studied Maths, Further Maths, Physics and DT. He has over 5 years of programming as a hobby and is currently studying Financial Mathematics at University College Dublin. He is part of an international team competing in Citadel Securities Data Open Championships @ The NYSE in April 2019

Image for post
Image for post
“photo of library with turned on lights” by Janko Ferlič on Unsplash

Hey guys, over the past few years I’ve written a number of data analytics and web design related articles and currently a writer for Towards Data Science. I’m going to continually update this resource as I publish more articles.

The primary purpose of articles I write is to summarise information that is scattered around the web and often incomplete or misleading. I hope to clarify these topics and save you guys time when your programming. …


Image for post
Image for post
Photo by Clint McKoy on Unsplash

After recently using Pandas and Matplotlib to produce the graphs / analysis for this article on China’s property bubble , and creating a random forrest regression model to find undervalued used cars (more on this soon). I decided to put together this practical guide, which should hopefully be enough to get you up and running with your own data exploration using Pandas and MPL!

This article is broken up into the following Sections:

The Basic Requirements

  • Reading Data From CSV
  • Formatting, cleaning and filtering Data Frames
  • Group-by and Merge

Visualising Your Data

  • The Plot Function Basics
  • Seaborn violin and lm-plots
  • Pair plots and Heat…


China’s megacities cities occupy the top 4 spots of the worlds most expensive cities to buy property, but is this upwards only market too good to be true?

Image for post
Image for post

The Chinese economy shares many of the same characteristics displayed in Canada’s present property bubble; rising property prices and extraordinary levels of Non Financial Debt (NFD 290% of GDP) . The actual value of Canada’s non financial debt however pales into insignificance in comparison to China’s (Figure 1) and is a serious cause for concern.

Whilst for both countries; key indicators (NFD, Property Price Index, GNI per capita) appear to move reasonably in tandem up to the end of 2015. …


Why you should consider it, the pain points and how to write your own lightweight reactive store

Image for post
Image for post
Keeping multiple simultaneous clients updated can be a nightmare

I’ve written this article at the end of my latest Angular4 project: Moveseats.com , which was architected to work in real time across many clients (See demo). Now its time share what I learnt while its still fresh!

Git repo link (For walkthrough below)

If there are issues or helpful improvements you wish to make, leave a comment or fork my repo, Thanks.

An Introduction

A reactive application can help to create:

  • Fluid user experience
  • Maintain consistent application state across many simultaneous clients
  • Save time in testing when every component and service is using the latest app state

A reactive applications can be the right choice if you have any of the following…


Some simple tips and tricks to create great looking apps

I’m currently working on further parts to sw-toolbox tutorials, so stay tuned!

What are the things you need to make a our site look great:

Function

No one wants to use an app that doesn’t work. Apps with circuitous menu routes, extra pages and forms will cost you users.

Image for post
Image for post
If the app doesn’t function correctly, forget about making it look pretty.

Make it function

  1. Make sure that users can go back and make changes without having to start from scratch
  2. Core elements of app navigation should always be visible in your app window [Highlight in fig1]
  3. Display the information that matters to the users and remove the irrelevant clutter. …

How to store external API responses to decrease page response time

Image for post
Image for post
Getting external API data to cache on your site

Continuation

Welcome back, if you haven’t checked out the last article on setting up static asset caching do this here: [Part 1]

Dynamic asset caching

When you have external API links such as to Wordpress, Googleapis (fonts) or a CDN their may be responses you wish to cache for a period (> day, week etc) such that the user doesn’t spend time downloading old content.

Blogs and fonts

In my case this example I pulled blogs from a Wordpress site and several fonts from fonts.google.com, …


[Part 1] Get rapid offline capability in your Angular app with service worker

What it is, why you should use it and how to code it in less than one hour

Image for post
Image for post

Introduction

Service worker reduces your apps load time significantly by caching essential content to the browser. If you have any of the below capability in your app you should definitely read on:

  1. Significant quantities of static assets such as stylesheets, custom fonts or significant chunks of your app that don’t change much
  2. Considerable article / blog content which users may want to read later
  3. HTTP requests to external api’s which yield the same responses to clients for a prolonged period (> 1…

About

Hugo Dolan

UCD Statistics & ACM, Learning Data Science, Winning Team @ Citadel Dublin Data Open. www.hugodolan.com/linkedin | Mailing List: http://eepurl.com/gkV7ov

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store