So I just completed an incredible project with Brain Thermal Tunnel Genix, where I learned so much about pattern recognition, machine learning and taking research and algorithms and pushing those into a production environment where it can be integrated into a real product. Today’s article takes those lessons and provides a sample on how to perform complex modelling and operationalize it in the cloud. The accompanying Gallery Example can be found here.
So there are a ton of articles out there on the theory of Reinforcement Learning, but very few with an actual application. I watched a few lectures from Berkley, and read a few articles by NVidia and thought, “Well, lets just give this a shot”. 8 hours later, this is what I had.
Herby V1 simply learns to go forward as much as possible while avoiding obstacles.
So I’ve been on a bender with this Python thing not having proper functional piping. I just can’t beleive it was not built in. Every language should have this. It cleans up your code so much its unbeleive-able. Fear not however, I have built one for Python :D. Now I just need to figure out how to create pip packages. Anyways, lets just do a quick walk through on what it is, how it works etc.
This is a short post. Basically I had a data set come in, where there were some funky characters involved. I was getting “Can’t read this; doesn’t appear to be UTF-8”. Looked around on stackoverflow for a while to little avail. I came up with this, which works.
So this is an interesting problem. You are collecting data from somewhere and you want to feed it into a neural network for classification. There is one main problem with this. The shape of the data! Neural networks and really just anything require specifically shaped data, you can’t just like give it something of ambiguous size. There are tons of papers out there on dimensionality reduction, but nothing on dimensionality reduction to a specified size. This article explains my approach.
This article is loosely based on a time series challenge from customer data. I have fabricated 3 data files such that they represent the same challenge and we will go through the process of discovering that data. The primary challenge in this data set is that it is from a sleep study and the researchers left the date portion of the time stamp off. What this means is that at midnight, the data plots at the beginning of the x-axis. The second challenge is lining up data to see if there is anything interesting with the time. So yes, you can simply plot using the index that python generates, however I’m also interested in the actual time itself as this is a study involving humans.
So today, I was asked to put some thought into what we should focus our entry level data scientists on in terms of tech skills. After I put a bunch of thought into it, I ended up coming up with this. I decided that the most important aspect of this was a few items fold
Don’t overload them
Can deliver to production where the target can be anything, including IoT.
They will not be concerned with building front ends.
I’m writing this article because believe it or not, this process is a pain in the neck and not completely documented in any one place. Lets start with why in the world you would want to do this. For me, I want to use Tensor Flow and NVidia embedded robotics SDKs. Unfortunately the only supported dev environment for this is Ubuntu. Not anything against Ubuntu it just appears to be fairly unstable in comparison to Mac and Windows, but that is neither here nor there, if you want to build intelligent robots, you need these tools.
This article is meant to explain how the K-Means Clustering algorithm works while simultaneously learning a little Python.
What is K-Means?
K-Means Clustering is an unsupervised learning algorithm that tells you how similar observations are by putting them into groups or “clusters”. K-Means is often used as a discovery step on new data to discover what various categories might be and then apply something such as a k-nearest-neighbor as a classifier to it after understanding the centroid labels. Where a centroid is the center of a “cluster” or group.
So this article is inspired by a customer doing financial analysis who can only grab a certain amount of data at a time from the data steward’s stores in chunks based on time windows. As time is constantly moving, what happens is that occasionally you get duplicate data in each request. If you attempt to grab exactly on the edges, you have a chance of missing something, so its best to have a bit of an overlap and just deal with that overlap. Continue reading →