Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a supervised learning algorithm that takes tags as input, and produces a probability as output?

Let's say I want to determine the probability that I will upvote a question on SO, based only on which tags are present or absent.

Let's also imagine that I have plenty of data about past questions that I did or did not upvote.

Is there a machine learning algorithm that could take this historical data, train on it, and then be able to predict my upvote probability for future questions? Note that it must be the probability, not just some arbitrary score.

Let's assume that there will be up-to 7 tags associated with any given question, these being drawn from a superset of tens of thousands.

My hope is that it is able to make quite sophisticated connections between tags, rather than each tag simply contributing to the end result in a "linear" way (much as words do in a Bayesian spam filter).

So for example, it might be that the word "java" increases my upvote probability, except when it is present with "database", however "database" might increase my upvote probability when present with "ruby".

Oh, and it should be computationally reasonable (training within an hour or two on millions of questions).

What approaches should I research here?

like image 700
sanity Avatar asked Apr 28 '11 04:04

sanity


People also ask

What are the two types of algorithms used for supervised learning?

Supervised machine learning includes two major processes: classification and regression. Classification is the process where incoming data is labeled based on past data samples and manually trains the algorithm to recognize certain types of objects and categorize them accordingly.

Which of the following algorithms is used for supervised learning?

Algorithms commonly used in supervised learning programs include the following: linear regression. logistic regression. neural networks.

What machine learning tool is a model that provides probabilities?

Training – use in Maximum likelihood estimation Many iterative machine learning techniques like Maximum likelihood estimation (MLE) are based on probability theory. MLE is used for training in models like linear regression, logistic regression and artificial neural networks.

Which algorithm is best in supervised learning?

3. Decision Tree. Decision Tree algorithm in machine learning is one of the most popular algorithm in use today; this is a supervised learning algorithm that is used for classifying problems. It works well in classifying both categorical and continuous dependent variables.


1 Answers

Given that there probably aren't many tags per message, you could just create "n-gram" tags and apply naive Bayes. Regression trees would also produce an empirical probability at the leaf nodes, using +1 for upvote and 0 for no upvote. See http://www.stat.cmu.edu/~cshalizi/350-2006/lecture-10.pdf for some readable lecture notes and http://sites.google.com/site/rtranking/ for an open source implementation.

like image 189
RecursivelyIronic Avatar answered Nov 15 '22 07:11

RecursivelyIronic