Skip to content
Anurag Singh edited this page Mar 20, 2022 · 8 revisions

Background

MLPACK is a fast, flexible machine learning library, written in C++, that aims to provide fast, extensible implementations of cutting-edge machine learning algorithms. mlpack provides these algorithms as simple command-line programs, Python bindings, and C++ classes which can then be integrated into larger-scale machine learning solutions.

Related work

The RcppMLPACK1 package embeds a copy of MLPACK version 1's source. This package is on CRAN but is no longer receiving updates and has fallen significantly behind recent advances in machine learning algorithm implementations. The reason for the lack of updates is due to the use of specific serialization code that is problematic for having a package listed on CRAN.

Meanwhile, work has begun on RcppMLPACK2 package, which is GitHub-only at the moment. This variant uses a system compiled version of the MLPACK binary. The package is only supported on Linux-based distributions. This is problematic because in order to be listed on CRAN, the package must support at least 2 of the 3 major operating systems (e.g. Linux, macOS, and Windows).

Details of your coding project

Possible goals:

  • Work on establishing MLPACK system binaries for all major systems.
  • Provide R functions that interface with MLPACK algorithms.

Expected impact

Throughout both academia and industry, the notions of Machine Learning are permutating all facets of society. MLPACK is an established high-performance backend with many interesting features, and the focus of ongoing research.
A tighter coupling to R would be very welcome.

Mentors

Students, please contact mentors below after completing at least one of the tests below.

  • James Joseph Balamuta balamut2@illinois.edu is graduate student and expert in R, Rcpp, and lots of other things.
  • Ryan Curtin ryan@ratml.org is one of the leading developers for MLPACK.
  • Dirk Eddelbuettel edd@debian.org has contributed greatly to the existing MLPACK interfaces and is also part of the Rcpp Core Team.

Tests

Students, please do one or more of the following tests before contacting the mentors above.

  • Easy: Add one or more additional examples or benchmarks to RcppMLPACK2.
  • Medium: Implement and document a new R function that hooks into MLPACK.
  • Hard: Begin working on building a link to the system binaries for macOS and Windows.

Solutions of tests

Students, please post a link to your test results here.

  • Student name: Anurag Singh

    Email: email@anuragsingh.dev

    University: Nitte Meenakshi Institute of Technology, Bangalore, India

    Program: Bachelor of Engineering in Information Science

    Solution To Easy Test: Easy Test

    Solution To Hard Test: Hard Test

  • Name : Aditya Samantaray

    Email : b517003@iiit-bh.ac.in, aditya.samantaray1@gmail.com

    University : International Institute of Information Technology, Bhubaneswar

    Course : Computer Engineering

    Solution to Easy Test : EasyTest Rmd

    Solution to Medium Test : MediumTest

    Solution to Hard Test : On it!

Clone this wiki locally