One question that definitely has plagued me for a while is that of evaluation schemes of recommender systems... On multiple occasions I have designed recommender systems that give a fairly good user experience, but I just have not been able to quantify these results... any pointers on that will be really appreciated.
xlvector has a blog on recsys that talks about a good but overlooked feature of those systems from a user point of view: the ability to have the user make fortunate discoveries while looking for something seemingly unrelated:
Pretty interesting stuff..
Personally I wasn't a big fan of recommenders that rely on explicit interaction with the end users simply because it may be too much work for them.
Hunch, on the other hand seems to frame questions in a much more entertaining manner, I could see my colleagues having fun while answering questions, and even after 20, they went ahead and answered a few more.
The whole process definitely makes me think again about how to go about approaching recommender systems...
For what it's worth, I think it's important to start with interesting problems. My first interaction with ML was an implementation of Naive Baye's for classifying spam, borrowing much ideas from PG's A Plan for Spam from scratch (ie no libraries). This is what got me really interested in the field, much more than randomly picking up topics- there are just so many areas to choose from. Another approach would be to read up on standard supervised learning techniques and just observing how the parameters for these algos behave on datasets. something like a Weka really comes in handy if you wish to focus on analyzing behavior of such techniques first. Best of luck!
Second Michael's opinion...
Some really good python libraries out there besides NumPy and SciPy.
Pandas comes to mind http://code.google.com/p/pandas/
Pretty good for data analysis.
Besides this, I think there was a talk on Python for the Finance world in this year's PyCon, possibly worth a look too...
well so here is what I am doing instead...
I get only a notion of the likes of the user, and since "everything else" is too huge a domain to consider as dislike, I try and rank the user's like concepts and pick the lower one's as the one's they like lesser. This only for initialization, and then I leave the filter to tune itself through feedback. I know it's not the best approach in the world, but let me see how this shapes up. Thanks of course, and any other ideas still welcome!
You could try to identify a population of users whose likes and dislikes are expected to be "similar" to the user in question, though, and then base your training set off them. I believe that's how actual recommendation engines (eg. Amazon, YouTube) work. Of course, then you have to figure out how to identify similar users, which is another hard problem.
well there are loads of lectures on videolectures.net
definitely worth a view, in particular those from machine learning summer school(primarily because audio quality tends to be pretty sucky in some of the other ones)...