banter v0.9.3

0

Monthly downloads

0th

Percentile

BioAcoustic EveNT ClassifiER

Create a hierarchical acoustic event species classifier out of multiple call type detectors as described in Rankin et al (2017) <doi:10.1111/mms.12381>.

Readme

banter

Description

banter is a package for creating hierarchical acoustic event classifiers out of multiple call type detectors.

Installation

To install the latest version from GitHub:

# make sure you have Rtools installed
if(!require('devtools')) install.packages('devtools')
# install from GitHub
devtools::install_github('ericarcher/banter')

Tutorial

The BANTER model is initialized with a data.frame of events. There is one row per event and it must have a column called event.id which is a unique id for each event, and a column called species which assigns each event to a given species. Every other column in the data.frame will be used as a predictor variable for the events.
In the package, an example data.frame is in the train.data example data list as the $events element.

data(train.data)
bant.mdl <- initBanterModel(train.data$events)

Next, detector data is added to the initialized BANTER model object. Each detector is a data.frame with a column called event.id that associates the detected call with an event that the model was initialized with, and a call.id column that provides a unique identifier for each call. Every other column will be used as a predictor variable for the calls.
In the package, example data.frames for three detectors are provided in the $detectors element of the train.data example data list. Here is an example of adding the burst pulse (bp) detector.

bant.mdl <- addBanterDetector(
  bant.mdl, 
  data = train.data$detectors$bp, 
  name = "bp",
  ntree = 10, 
  sampsize = 1
)

The addBanterDetector function can be called repeatedly to add additional detectors. Alternatively, if the detectors are all in a named list, they can be added at once:

bant.mdl <- addBanterDetector(
  bant.mdl, 
  data = train.data$detectors, 
  ntree = 10, 
  sampsize = 1
)

Once all of the detectors have been added, then the full BANTER model is run:

bant.mdl <- runBanterModel(bant.mdl, ntree = 5000, sampsize = 3)

The model can be easily summarized:

summary(bant.mdl)

The actual randomForest model can be extracted for the event or detector models:

# extract event Random Forest model
event.rf <- getBanterModel(bant.mdl, "event")

# extract burst pulse (bp) Random Forest model
bp.rf <- getBanterModel(bant.mdl, "bp")

These can then be visualized using other tools, such as those in the rfPermute package:

library(rfPermute)
plotVotes(event.rf)

To predict novel data, it must be in a list with the event data in the $events element, and the detector data in a named list called $detectors:

data(test.data)
predict(bant.mdl, test.data)

Contact

Reference

Rankin, S., Archer, F., Keating, J. L., Oswald, J. N., Oswald, M., Curtis, A. and Barlow, J. (2017) Acoustic classification of dolphins in the California Current using whistles, echolocation clicks, and burst pulses. Mar Mam Sci, 33: 520-540. doi:10.1111/mms.12381

version 0.9.2

  • Initial release

Functions in banter

Name Description
numCalls Number and Proportion of Calls
initBanterModel Initialize BANTER model
addBanterDetector Add a BANTER Detector Model
banter_detector-class Detector classification model
.rfFuncDetector Detector randomForest function
banter_model-class Events classification model
getDetectorNames Detector Names
numEvents Number of Events
banter-package BioAcoustic EveNT ClassifiER
getSampSize Sample Size
summary BANTER Classifier Model Summary
predict Predict BANTER events
test.data Testing events and detectors
modelPctCorrect Model Percent Correct
runBanterModel Run BANTER Model
plotDetectorTrace Plot BANTER Detector Traces
getBanterModel Extract Random Forest Model
getBanterModelData Extract Random Forest Model Data
train.data Training events and detectors
No Results!

Last month downloads

Details

Type Package
License GNU General Public License
RoxygenNote 6.0.1
NeedsCompilation no
Packaged 2018-07-09 15:02:20 UTC; ericarcher
Repository CRAN
Date/Publication 2018-07-10 15:20:06 UTC

Include our badge in your README

[![Rdoc](http://www.rdocumentation.org/badges/version/banter)](http://www.rdocumentation.org/packages/banter)