Provided by: dbacl_1.12-3_amd64 bug

NAME

       bayesol - a Bayes solution calculator for use with dbacl.

SYNOPSIS


       bayesol [-DVNniv] -c riskspec [FILE]...

       bayesol -V

DESCRIPTION

       bayesol  is  a  Bayes  solution  calculator  designed  to  combine  the  output  of dbacl(1) with a prior
       distribution and a risk specification, and calculate the optimal Bayesian decision (which  minimizes  the
       posterior risk).

       The  risk  specification  is  read  from  the  text  file riskspec and must be written in a simple format
       described below. The dbacl(1) output can either be read from FILE or from STDIN.

EXIT STATUS

       On success, bayesol returns a positive integer corresponding to the category with the  lowest  risk.   In
       case of a problem, bayesol returns zero.

OPTIONS

       -c     Classify using riskspec.  See the section RISK SPECIFICATION.

       -i     Fully  internationalized mode. Forces the use of wide characters internally, which is necessary in
              some locales. This incurs a noticeable performance penalty.

       -n     Print risk scores for each category.  Each score is (approximately) the logarithm of the  expected
              risk under that category. The lowest score (ie closest to -infinity) is best, etc.

       -N     Print recursive risk scores for each category.  Each score is (approximately) the logarithm of the
              best  score  based  on the remaining categories, after the previously best scoring categories have
              been removed, and a normalizing factor was added. A full description is  given  in  the  technical
              report  listed  at  the end of this manpange. The largest score (ie closest to +infinity) is best,
              etc.

       -v     Verbose mode. Prints to STDOUT  the  category  with  minimum  posterior  risk.   In  case  several
              categories  are  possible,  prints  the  first  category  in the order in which they appear in the
              categories section of riskpspec.

       -D     Print debug output. Do not use.

       -V     Print the program version number and exit.

RISK SPECIFICATION

       bayesol needs to read a text file riskspec containing a risk specification. The format of this text  file
       is as follows

              categories { cat1, cat2,..., catN}
              prior { p1, p2,..., pN}
              loss_matrix {
              "regex1" c1 [ formula11, formula12,..., formula1N]
              "regex2" c2 [ formula21, formula22,..., formula2N]
               .
               .
              "regexM" cM [ formulaM1, formulaM2,..., formulaMN]
              }

       In the above, cat1, cat2,..., catN, are category names, p1, p2,..., pN, are non-negative numbers, regex1,
       regex2,..., regexM, are (possibly empty) regular expression strings, c1, c2,..., cM, are instances of the
       category names cat1, cat2,..., catN, and the formulas are numbers or mathematical expressions.

       Every  category  which  appears  in  the  categories section must appear at least once in the loss_matrix
       section, with an empty "" regular expression.  To construct the actual loss matrix used in  the  decision
       calculations, bayesol selects, for each category appearing in the categories section, the first row whose
       regular  expression  is  matched  within FILE or STDIN, or the first row with empty regular expression if
       there are no matches.

       Each formula can be either a single number, or an algebraic combination of the operators exp(), log(), +,
       -, *, /, ^ and parentheses (). The string "inf" is  parsed  as  the  value  infinity.  Also,  the  string
       "complexity"  is  recognized,  and converted to the complexity for that category as reported by dbacl(1).
       Finally, if the corresponding regular expression contains  submatches  delimited  by  parentheses,  their
       numerical  values  can  be  used  inside  the  formulas  as  the special variables $1, ..., $9. Note that
       submatches which aren't numerical are converted to the value zero.

       Case is important. Spaces and newlines can be liberally inserted. Comments must start with a # and extend
       to the end of the line.

USAGE

       Typically, bayesol is used together with dbacl(1).  An invocation looks like this:

       % dbacl -c one -c two -c three sample.txt -vna | bayesol -c toy.risk -v

       See   /usr/share/doc/dbacl/costs.ps   for   a   description   of   the   algorithm   used.    See    also
       /usr/share/doc/dbacl/tutorial.html for a more detailed overview.

SOURCE

       The source code for the latest version of this program is available at the following locations:

       http://www.lbreyer.com/gpl.html
       http://dbacl.sourceforge.net

AUTHOR

       Laird A. Breyer <laird@lbreyer.com>

SEE ALSO

       dbacl(1), mailcross(1), mailfoot(1), mailinspect(1), mailtoe(1), regex(7)

Version 1.12                              Bayesian Classification Tools                               BAYESOL(1)