Photo Rating System based of Community 'Likes' I'm hoping to get some assistance from some math gurus on a troubling problem i'm having with a website.
The site has a very large gallery (millions of photos) which are uploaded by users. The users of the community (currently 200k+) are able to 'like' photos similar to what happens on facebook and the alike. The idea was for this to be a way to state that the photo was a good photo. However, there is a problem with this model:

*

*some users 'like' photos that are friend's photos

*some users 'like' photos for the quality

*new users rarely get many likes due to their low profile on the site

I'd like to find a way to use the user actions to start to build a relatively good photo rating system. Some of the variables to possible consider are:

*

*how long the photo has be uploaded

*number of likes received

*recipricol liking ('you like me, i'll like you' mantality)

*like habits of the user (average number of daily liking, how long they have been a user, etc)

Most users can be classified in 1 of the following categories:

*

*'Quality user'  - uploads and likes photos based of personal taste (ideal)

*'New user' - someone who has just joined, just uploaded and maybe only started liking photos

*'Cliquers' - User who likes photos based off a friend status with other users and rarely likes photos outside their friends

*'Like Baiter' - User who likes as many photos as possible in hopes of receive a like back

I hope someone out there might be able to assist with this problem and help provide a formula or a thought through process for calculating a photo rating.
thanks in advance!
 A: *

*Unsupervised learning

I would either begin with a partitional clustering on some subsets of the huge database you have in hand, or a hierarchical one.
More precisely, you could focus on a subset of "qualities" of your database, then use partitional clustering(s) like (multiple runs of) k-means, pam, clara, dbscan  etc... and to analyze the resulting clusters w.r.t. the remaining qualities.  Note that the main problem here is represented by a suitable split of the database w.r.t. the quality assignment-this has to be done entirely by you- and the choice of metric to use.
This second topic is notoriously hard to manage: it strongly depends on your dataset.
A very easy example is represented by the iris database (you can find some details here): you can begin with easy clustering of the numerical "qualities" (in the link they are called features) of the database (i.e. Sepal length, Sepal Width, Petal Length and Petal Width) and compare the results with the three species of the flowers.
Hierarchical clustering (see here) is an option too: the resulting dendrograms could provide you with interesting information.

*

*Regression

If you want to use a variable model, then regression is probably the best choice.
In your question you write some variables that, in your opinion, should be considered to determine whether the given photo is good or not. As the response variable (i.e. the quality of the photo) is binary ("good" vs. "bad"), in this preliminary phase I would suggest the use of a logistic regression. The input variables provides you with a probability of being "good". The presence of a discrete classification of users suggests the use of the categorical variable formalism.
As you can see, options are many as the problem is quite broad. With more details and some practice you would be able to select 1-2 methods which could provide you with meaningful answers.
