Assume the following:
Category "Electronics" contains product "Bluerays" among other products.
What are some 开发者_C百科basic statistics I can implement to recommend more "Bluerays" when the user browses under Electronics? Right now I just have a lame "Bluerays were bought 3 out of 5 times under the Electronics category for this user" so the likelihood is 60% - recommend more Bluerays.
EDIT: What if I'm coming from a seller's perspective where I want to auto-fill the input box? Example: If the seller usually sells Bluerays used, I want to auto-fill the "condition" field the next time he sells under "Electronics" to enhance the user experience?
This is a pretty deep topic. I'd start doing some searches for collaborative item based filtering, or collaborative user based filtering.
These are some good books on the subject:
Programming Collective Intelligence http://my.safaribooksonline.com/book/web-development/9780596529321
Collective Intelligence In Action http://my.safaribooksonline.com/book/programming/java/9781933988313
Your question is about recommender systems. You are interesting in finding similarities that can help you to make good recommendations. These similarities can be measured in several different ways. The most common is to consider the past behavior of the people that have bought in your site and to seek similarities among them. This can be done using simple correlation among the vectors of products. If you have also data about the people (age,gender) that usually buy in your site, you can use this kind of information to improve your recommender system. Furthemore, a valuable piece of information is the one provided by rate systems (like and deslikes). Besides correlation (if you want to consider other simple measures, but not necessarily statistical ones) you can also use Euclidean distance, Minkowski distance, the cosine of the angle of the vectors and so on...
If the dimension of your vector is high, you may consider to reduce the dimmension of it including only the important components. This can be done using PCA (Principal Component Analysis) or Singular Value Decomposition.
However, if you consider to really improve your system you should consider using classifiers such as Nearest Neighbors, Decision Trees or support vector machines and using them to discover the class of your buyers. For instance, this can help you to know if a given buyer preffers cheap or expansive brands...
Finally, you can make online experiments using multi-armed bandit.
There are some books that can help you:
1) Recommender Systems
2) Bandit algorithm
3) Machine Learning
Perhaps involve other similar users. For instance, 75% of users who buy bluerays, also buy DVD Racks, so when someone buys a blueray, suggest to them the idea of a DVD Rack.
精彩评论