Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Nimbus ruby library.

Juanjo Bazán
October 12, 2011

Nimbus ruby library.

Nimbus is a ruby gem implementing random forest algorithm for genomic selection contexts.
http://www.nimbusgem.org

Slides of the presentation from the EAAP 2011 conference in Stavanger, Norway.

Juanjo Bazán

October 12, 2011
Tweet

More Decks by Juanjo Bazán

Other Decks in Research

Transcript

  1. An opensource library to implement random forests in genomic contexts

    Oscar González-Recio Juanjo Bazán Selma Forni
  2. The Problem Massive amount of information from high troughput genotyping

    platforms. Need to extract knowledge from large, noisy, redundant, missing and fuzzy data.
  3. The Problem Massive amount of information from high troughput genotyping

    platforms. Massive amount of information consumes the attention of its recipients. We need to allocate that attention efciently. Need to extract knowledge from large, noisy, redundant, missing and fuzzy data.
  4. Why Random Forest? Using Machine Learning techniques we can extract

    hidden relationships that exist in these huge volumes of data and do not follow a particular parametric design.
  5. Why Random Forest? Using Machine Learning techniques we can extract

    hidden relationships that exist in these huge volumes of data and do not follow a particular parametric design. Random Forest have desirable statistical properties.
  6. Why Random Forest? Using Machine Learning techniques we can extract

    hidden relationships that exist in these huge volumes of data and do not follow a particular parametric design. Random Forest have desirable statistical properties. Random Forest scales well computationally.
  7. Using Machine Learning techniques we can extract hidden relationships that

    exist in these huge volumes of data and do not follow a particular parametric design. Random Forest have desirable statistical properties. Random Forest scales well computationally. Random Forest performs extremely well in a variety of possible complex domains (Breiman, 2001; Gonzalez-Recio & Forni, 2011). Why Random Forest?
  8. Ensemble methods: - Combination of diferent methods (usually simple models).

    - They have very good predictive ability because use additivity of models performances. Based on Classifcation And Regression Trees (CART). Use Randomization and Bagging. Performs Feature Subset Selection. Convenient for classifcation problems. Fast computation. Simple interpretation of results for human minds. Previous work in genome-wide prediction (Gonzalez-Recio and Forni, 2011) The Algorithm
  9. The Algorithm Perform bootstrap on data: Ψ* = (y, X)

    Build a CART ( fi (y, X) = ht (x) ) using only mtry proportion of SNPs in each node. Repeat M times to reduce residuals by a factor of M. Average estimates c0 = μ ; ci = 1/M
  10. Let Ψ = (y, X) be a set of data,

    with y = vector of phenotypes (response variables) X = (x1, x2) = matrix of features y1 x11 x12 … … ... yi xi1 xi2 … … ... yn xn1 xn2 The Algorithm Classifcation and regression trees:
  11. Nimbus library Written in Ruby www.ruby-lang.org Open source programming language

    Syntax focused on simplicity Natural to read and easy to write
  12. Nimbus library How to install: > gem install nimbus Prerequisites:

    Ruby and Rubygems (default library manager) installed in the system
  13. Nimbus library Features, use cases: Training of a prediction forest

    Training of a prediction forest Genomic Prediction of a testing sample Using a training set of individuals Nimbus creates a reutilizable forest Nimbus calculates SNP importances Generalization error are computed for every tree in the forest Using a custom/reused forest, specif i ed via conf i g.yml Using a new trained forest
  14. More info: Nimbus website: Source code: Report bugs/request features: www.nimbusgem.org

    www.github.com/xuanxu/nimbus/issues www.github.com/xuanxu/nimbus