Learn R Programming

NNbenchmark

NNbenchmark was created during the Google Summer of Code, 2019 as a part of The R Project for Statistical Computing, to verify the convergence of the training algorithms provided in 69 Neural Network R packages available on CRAN to date. Neural networks must be trained with second order algorithms and not with first order algorithms as many packages seem to do.

The purpose of this project is to verify the quality of the training algorithms in R packages that provide neural network of perceptron type (one input layer, one normalized layer, one hidden layer with nonlinear activation function usually tanh(), one normalized layer, one output output layer) for regression purpose i.e. NN(X1, ..., Xn) = E[Y].

Packages Tested

This GSoC project will conduct a comprehensive survey of all packages that have the “neural network” keyword in thepackage title or in the package description. There are currently 69 packages on CRAN with this keyword.

Packages
AMOREANN2appnnautoencoderautomlBNN
brnnBuddleCaDENCEcld2cld3condmixt
DALEX2DamiaNNdeepnetdeepNNDNMFelmNNrcpp
ELMREnsembleBaseevclassgamlss.addgcForestGMDH
GMDH2GMDHreggrnnh2ohybridEnsembleisingLenzMC
keraskerasformulakerasRleabRalearNNLilRhino
monmlpneuralneuralnetNeuralNetToolsNlinTSnnet
nnetpredintnnforonnxOptimClassifierOSTSCpnn
polyregpredictoRqrnnQuantumOpsquarrintradiant.model
rasclassrcanerminerrmnRSNNSruta
simpleNeuralsnnrsoftmaxregSojourn.DataspnnTeachNet
tensorflowtfestimatorstrackdemTrafficBDEvalidann

Evaluation Criteria


The algorithms were tested on 12 regression datasets (both univariate and multivariate) of varying complexity.

The score for each package was based on the following parameters:

  • Documentation (0-3 stars or a binary value of 0/1)
  • UtilFunction (0-3 stars or a binary value of 0/1)
  • ConvergenceQuality (0-3 stars based on percentile method)
  • ConvergenceTime (0-3 stars based on percentile method)

To obtain the final rating, we take a weighted average of these 4 columns (giving more weight to ConvergenceQuality and ConvergenceTime).

Authors

Selected Students:

  • Akshaj Verma
  • Salsabila Mahdi

Mentors:

  • Patrice Kiener
  • Christophe Dutang
  • John C. Nash

Copy Link

Version

Install

install.packages('NNbenchmark')

Monthly Downloads

196

Version

3.2.0

License

GPL-2

Issues

Pull Requests

Stars

Forks

Maintainer

Patrice Kiener

Last Published

June 5th, 2021

Functions in NNbenchmark (3.2.0)

uNeuroOne

Dataset uNeuroOne
funRMSE

Calculate the RMSE, MSE, MAE, and WAE Rounded to 4 digits
uGauss3

Dataset uGauss3
createTimer

Create a timer object. Get the data frame of a timer object
uGauss2

Dataset uGauss2
uDreyfus1

Dataset uDreyfus1
uDmod2

Dataset uDmod2
mIshigami

Dataset mIshigami
mFriedman

Dataset mFriedman
ht

Concatenates head() and tail() in vector, list, matrix, data.frame, array
bWoodN1

Dataset bWoodN1
plotNN

Create a Plot, Add Lines or Points Depending The Context
timestart

Collect the difftime between two events
mDette

Dataset mDette
mRef153

Dataset mRef153
prepareZZ

Prepare a Dataset For All Possible Formats
timeR

A R6 Class to represent a timer.
uDmod1

Dataset uDmod1
uDreyfus2

Dataset uDreyfus2
uGauss1

Dataset uGauss1
NNdataSummary

A Summary (in data.frame format) of NNdatasets
NNtrainPredict

Generic Functions for Training and Predicting
NNbenchmark-package

Package NNbenchmark
cc

Concatenates List and Vectors into a List
add2csv

Create or Append a data.frame to a csv File
clearNN

Detach the Loaded Packages and the ZZ object
NNsummary

Summarize Calculations of RMSE, MSE, MAE, and WAE
NNbigdatasets

Big Datasets in One list (2020)
NNdatasets

All Datasets in One List