Safe Haskell | Safe-Infered |
---|
Scoring functions commonly used for evaluation of NLP
systems. Most functions in this module work on lists, but some take
a precomputed table of Counts
. This will give a speedup if you
want to compute multiple scores on the same data. For example to
compute the Mutual Information, Variation of Information and the
Adujusted Rand Index on the same pair of clusterings:
>>>
let cs = counts $ zip "abcabc" "abaaba"
>>>
mapM_ (print . ($ cs)) [mi, ari, vi]
- accuracy :: (Eq a, Fractional n) => [a] -> [a] -> n
- recipRank :: (Eq a, Fractional n) => a -> [a] -> n
- avgPrecision :: (Fractional n, Ord a) => Set a -> [a] -> n
- ari :: (Ord a, Ord b) => Counts a b -> Double
- mi :: (Ord a, Ord b) => Counts a b -> Double
- vi :: (Ord a, Ord b) => Counts a b -> Double
- type Count = Double
- data Counts a b
- counts :: (Ord a, Ord b) => [(a, b)] -> Counts a b
- sum :: Num a => [a] -> a
- mean :: (Fractional n, Real a) => [a] -> n
- jaccard :: (Fractional n, Ord a) => Set a -> Set a -> n
- entropy :: [Count] -> Double
Scores for classification and ranking
accuracy :: (Eq a, Fractional n) => [a] -> [a] -> nSource
Accuracy: the proportion of elements in the first list equal to elements at corresponding positions in second list. Lists should be of equal lengths.
recipRank :: (Eq a, Fractional n) => a -> [a] -> nSource
Reciprocal rank: the reciprocal of the rank at which the first arguments occurs in the list given as the second argument.
avgPrecision :: (Fractional n, Ord a) => Set a -> [a] -> nSource
Average precision. http://en.wikipedia.org/wiki/Information_retrieval#Average_precision
Scores for clustering
ari :: (Ord a, Ord b) => Counts a b -> DoubleSource
Adjusted Rand Index: http://en.wikipedia.org/wiki/Rand_index
mi :: (Ord a, Ord b) => Counts a b -> DoubleSource
Mutual information: MI(X,Y) = H(X) - H(X|Y) = H(Y) - H(Y|X). Also known as information gain.
vi :: (Ord a, Ord b) => Counts a b -> DoubleSource
Variation of information: VI(X,Y) = H(X) + H(Y) - 2 MI(X,Y)
Auxiliary types and functions
mean :: (Fractional n, Real a) => [a] -> nSource
The mean of a list of numbers.