Package edu.wisc.game.math

## Class MannWhitneyComparison

- java.lang.Object
- - edu.wisc.game.math.MannWhitneyComparison

-     public class MannWhitneyComparison
      extends Object

  Comparing players or rules based on the Mann-Whitney test

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `MannWhitneyComparison.Mode` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `MannWhitneyComparison​(MannWhitneyComparison.Mode _mode)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `String` | `doCompare​(String nickname, String rule, Comparandum[][] allComp, Fmter fm, File[] csvOut)` | Carries out the comparison of the performance for different "keys" (algo nicknames or rule sets).
    `static File[]` | `expandCsvOutDir​(File csvOutDir)` | Suggests names for CSV output files
    `static void` | `main​(String[] argv)` |
    `Comparandum[][]` | `mkMlcComparanda​(String nickname, String rule)` | Creates a list of comparanda based on MLC data, either to compare ML algos or to compare rule sets.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### MannWhitneyComparison

          public MannWhitneyComparison​(MannWhitneyComparison.Mode _mode)

      Parameters:
        `_mode` - What are we going to compare? Rules (by the algos' performance on them), rules (by the humans' performance on them) or ML algos (by their performance on the

  - ### Method Detail

    - #### mkMlcComparanda

          public Comparandum[][] mkMlcComparanda​(String nickname,
                                                 String rule)

      Creates a list of comparanda based on MLC data, either to compare ML algos or to compare rule sets.
      Parameters:
        `rule` - In the CMP_ALGOS mode, we will be comparing algos with respect to their performance on this rule. In other modes, ignored
        `nickname` - In the CMP_RULES mode, we will be comparing rules with respect to this algo's performance on them. In other modes, ignored
      Returns:
        {learnedOnes[], nonLearnedOnes[]}

    - #### doCompare

          public String doCompare​(String nickname,
                                  String rule,
                                  Comparandum[][] allComp,
                                  Fmter fm,
                                  File[] csvOut)

      Carries out the comparison of the performance for different "keys" (algo nicknames or rule sets). In the CMP_ALGOS mode, a particular rule set is chosen, and ML algorithms are ranked by their performance on that rule set; thus the "key" is the algo nickname. In the CMP_RULES mode, a particular algorithm is chosen (the nickname) is specified, and the rule sets are ranked by their ease for this algorithm; thus the rule sets names are keys.
      Parameters:
        `allComp` - The things to compare. allComp[0] is the list of "learned" comparanda, and allComp[1] is the list of unlearned ones. The comparison is done under different criteria in each group.
        `csvOut` - If non-null, designates 3 files into which the raw M-W matrix, the M-W ratio matrix, and the final table will be written into

    - #### main

          public static void main​(String[] argv)

    - #### expandCsvOutDir

          public static File[] expandCsvOutDir​(File csvOutDir)

      Suggests names for CSV output files