3 ms·
Umm...Let us see. Assume I am trying to build a fancy new recommendation system for movies on a completely new media device. Let us assume that for now we have
by eshvk 14y ago
Umm...Let us see. Assume I am trying to build a fancy new recommendation system for movies on a completely new media device. Let us assume that for now we have been collecting user data and recommending them random movies. The first thing we do is to go through this data and try to figure out what would be relevant user features. While you are at it, you might find that there are some odd issues with the way data is being collected which is creating statistical biases: Say for example, you only have server time when the user rating of the movie hit your system and not the actual time at which the user rated the movie. So you go back and fix those. Repeat, rinse and redo. Now, you go out and find out that your potential feature set is extremely sparse and high dimensional. So you think about adding other features from the Movie set. Go through those: Hopefully you are not starting the problem from scratch and you already have gone past the data collection and feature extraction problem when it comes to movies. Now, you start thinking algorithmically, nothing too complicated because everything has to be made production ready and adding bugs in machine learning algorithms is extremely easy (See Mahout ;-)). You prototype a few algorithms in Hive or your favorite scripting language and then get some data out for A/B testing. You run your A/B tests and hopefully you have something that looks significantly better than baseline. Now you go through the boring part of making that algorithm production ready: This means thinking in terms of scale: 1) How do I deliver these recommendations on the fly to millions of users who are using my fancy new media device. 2) How do I do this while not stressing out my system. So you write a bunch of code, integrate into your current APIs, run a cron and hope nothing breaks and monitor graphs like a nervous little rabbit.
Then, you repeat this and do all this over next week.
EDIT: Obviously depending on the company and the job, this entire story might completely change etc etc.