calc_ig: Calculate IG for single feature In biogram: N-Gram Analysis of Biological Sequences

Description

Computes information gain of single feature and target vector.

Usage

 1 calc_ig(feature, target_b, len_target, pos_target) 

Arguments

 feature feature vector. target_b target in bits (as per as.bit). len_target length of the target vector. pos_target number of positive cases in the target vector.

Details

The information gain term is used here (improperly) as a synonym of mutual information. It is defined as:

IG(X; Y) = ∑_{y \in Y} ∑_{x \in X} p(x, y) \log ≤ft(\frac{p(x, y)}{p(x) p(y)} \right)

In biogram package information gain is computed using following relationship: IG = E(S) - E(S|F)

Value

A numeric vector of length 1 representing information gain in nats.

Note

During calculations 0 \log 0 = 0. For a justification see References.

The function was designed to be as fast as possible subroutine of calc_criterion and might be cumbersome if directly called by a user.

References

Cover TM, Thomas JA Elements of Information Theory, 2nd Edition Wiley, 2006.

Examples

 1 2 3 4 tar <- sample(0L:1, 100, replace = TRUE) feat <- sample(0L:1, 100, replace = TRUE) library(bit) # used to code vector as bit calc_ig(feat, as.bit(tar), 100, sum(tar)) 

biogram documentation built on May 30, 2017, 6:18 a.m.