@jnothman : `hinge_loss` does support strings. Please note that this works.

     hinge_loss(['spam', 'ham', 'ham', 'spam'],  [.1,.9,.9,.1])

Its only when the scond argument is a array of strings or something similar, it doesn't work.