-
Notifications
You must be signed in to change notification settings - Fork 51
Home
DynaML is a Scala environment for conducting research and education in machine learning. DynaML comes packaged with a powerful library of classes for various predictive models and a Scala REPL where one can not only build custom models but also play around with data work-flows.
DynaML uses the newly minted Wisp plotting library to generate aesthetic charts of common model validation metrics.
DynaML was born out of the need to have a performant, extensible and easy to use Machine Learning research environment. Scala was a natural choice for these requirements due to its sprawling data science ecosystem (i.e. Apache Spark), its functional object-oriented duality and its interoperability with the Java Virtual Machine.
DynaML is a fledgling open source project that is in a phase of rapid expansion. Currently it supports.
- Regularized Ordinary Least Squares
- Logistic and Probit Models for binary classification
- Regression with kernel based Dual LS-SVM
- Regression with Gaussian Processes
- Feed forward Neural Networks
- Committee Models
- Neural Committee Models
- Gaussian Process Committee Models
- Model Learning and Optimization
- Gradient Descent
- Conjugate Gradient
- Committee Model Solver
- Back propogation with momentum
- LSSVM linear solver
- Model tuning
- Grid Search
- Maximum Likelihood (ML-II)
- Coupled Simulated Annealing
- Model validation metrics (RMSE, Area under ROC)
- Entropy based data subset selection
- Data Pipes for configurable workflows
Going ahead we aim to introduce (but not limit to)
- Sampling based Bayesian models
- Large scale committee models (Apache Spark RDD based implementations)
- GPU support