Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
BAYESOL(1)							      BAYESOL(1)

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 cate-
     gory 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  in-
	    ternally,  which is necessary in some locales. This incurs a notice-
	    able 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  (ap-
	    proximately)  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) reg-
     ular  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 in-
     side  the	formulas  as  the  special variables $1, ..., $9. Note that sub-
     matches 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/local/share/dbacl/doc/costs.ps for a description of the  algorithm
     used.   See  also	/usr/local/share/dbacl/doc/tutorial.html  for a more de-
     tailed 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.14.1		  Bayesian Classification Tools 	      BAYESOL(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=bayesol&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help