About this entry

Reference implementation of SPEAR algorithm released

I have just released the “reference” implementation of our SPEAR algorithm. The library is written in the Python programming language, and should be straight-forward to use. You can install the library via Python’s setuptools/easy_install or download it from GitHub.

Here’s a quick example on how to use it:

  1. >>> import spear
  2. >>> activities = [
  3. (datetime.datetime(2010,7,1,9,0,0), "alice", "http://www.quuxlabs.com/"),
  4. (datetime.datetime(2010,8,1,12,45,0), "bob", "http://www.quuxlabs.com/"),
  5. ]
  6. >>> spear_algorithm = spear.Spear(activities)
  7. >>> expertise_results, quality_results = spear_algorithm.run()


Get the top user and his expertise score:

  1. >>> expertise_score, user = expertise_results[0]
  2. >>> print "%s => %.4f" % (user, expertise_score)
  3. alice => 0.5858

Get the top resource and its quality score:

  1. >>> quality_score, resource = quality_results[0]
  2. >>> print "%s => %.4f" % (resource, quality_score)
  3. http://www.quuxlabs.com/ => 1.0000

You can also use the library to simulate the HITS algorithm of Jon Kleinberg. Simply supply a credit score function C(x) = 1 to the SPEAR algorithm (see the documentation of the Spear.run() method).

Feel free to play around with it and send me feedback!

PS: The SPEAR Python library requires SciPy/NumPy. If you don’t have these installed already, here are some installation instructures to get you started.