Skip to content

ljr1981/simple_ml

Repository files navigation

simple_ml

DocumentationGitHubIssues

License: MIT Eiffel 25.02 DBC: Contracts

Production-ready machine learning algorithms for Eiffel with Design by Contract.

Part of the Simple Eiffel ecosystem.

Status

Production Ready — v1.1.0

  • 125 tests passing, 100% pass rate
  • 10 ML algorithms with regularization, kernel methods, ensemble learning
  • Design by Contract throughout
  • SCOOP concurrent-ready

Quick Start

model := create {LINEAR_REGRESSION_MODEL}.make
    .set_learning_rate (0.01)
    .set_max_iterations (100)

model.train (training_X, training_y)
prediction := model.predict (test_X)

For complete documentation, see our docs site.

Features

  • Supervised Learning - Linear/Logistic Regression, SVM, KNN, Decision Trees, Random Forests, Neural Networks
  • Regularization - L1, L2, ElasticNet for linear models (v1.1.0+)
  • Kernel Methods - RBF and Polynomial kernels for SVM (v1.1.0+)
  • Ensemble Methods - Gradient Boosting classifier (v1.1.0+)
  • Model Selection - K-fold cross-validation, grid search (v1.1.0+)
  • Probabilistic - Naive Bayes classifier (v1.1.0+)
  • Design by Contract - Every algorithm fully specified with require/ensure/invariant
  • SCOOP Ready - Void-safe (void_safety="all") with concurrent support

For details, see the User Guide.

Installation

# Add to your ECF:
<library name="simple_ml" location="$SIMPLE_EIFFEL/simple_ml/simple_ml.ecf"/>

License

MIT License - See LICENSE file

Support

About

Production-ready machine learning library for Eiffel with Design by Contract. Six algorithms: Linear Regression, Logistic Regression, Decision Trees, Random Forests, SVM, Neural Networks. 80 tests (100% pass rate), 74 contract clauses.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages