mlpack

Высокопроизводительная библиотека машинного обучения на C++, ориентированная на масштабируемость, скорость и простоту использования. Она предоставляет эффективные реализации широкого спектра алгоритмов и спроектирована как универсальный инструмент для исследователей и практиков машинного обучения. Библиотека включает интуитивно понятный API на C++, а также привязки (биндинги) к другим языкам программирования, что делает её доступной для решения разнообразных задач анализа данных.

Особенности

  • реализация широкого спектра алгоритмов машинного обучения: от линейной регрессии до нейронных сетей;
  • высокая производительность благодаря оптимизированному C++ коду и использованию библиотек Armadillo (линейная алгебра) и ensmallen (численная оптимизация);
  • простой, согласованный API для начинающих и гибкость для экспертов через продвинутые шаблонные возможности C++;

Основные компоненты

Библиотека состоит из нескольких модулей, реализующих различные алгоритмы машинного обучения, а также предоставляет унифицированный интерфейс для их использования как в C++, так и через биндинги (подробнее с документацией можно ознакомиться здесь).

C++ API

Основная функциональность реализована на C++. Для каждого алгоритма существует отдельное пространство имён и набор классов, что обеспечивает модульность и гибкость. Библиотека тесно интегрируется с Armadillo для работы с матрицами и векторами, и с ensmallen для оптимизации.

Регрессия и классификация

  • mlpack::regression::LinearRegression — линейная регрессия. Основные методы: Train() (обучение на данных), Predict() (предсказание для новых наблюдений).
  • mlpack::adaboost::AdaBoost — реализация AdaBoost.MH. Поддерживает различные слабые классификаторы (например, DecisionStump, Perceptron). Методы: Train(), Classify().
  • mlpack::logistic_regression::LogisticRegression — логистическая регрессия с L2-регуляризацией. Методы: Train(), Predict().

Кластеризация

  • mlpack::kmeans::KMeans — алгоритм k-средних. Поддерживает различные стратегии инициализации и методы ускорения. Основной метод: Cluster().

Поиск похожих объектов

  • mlpack::neighbor::KNN (K-Nearest Neighbors) — поиск k ближайших соседей. Методы: Train(), Search().
  • mlpack::neighbor::KFN (K-Furthest Neighbors) — поиск k наиболее удалённых соседей. Методы: Train(), Search().
  • mlpack::range::RangeSearch — поиск всех соседей в заданном радиусе. Методы: Train(), Search().

Снижение размерности

  • mlpack::pca::PCA — анализ главных компонент. Метод: Apply() для преобразования данных.

Другие алгоритмы включают наивный байесовский классификатор, гауссовы смеси (GMM), скрытые марковские модели (HMM), матричную факторизацию (NMF) и многие другие.

Использование в проекте

Документация по использованию Conan-пакетов для разработки приложений для ОС Аврора.

На сервере Conan библиотеки заранее собраны и размещены под различные версии ОС Аврора 4 и ОC Аврора 5. Для данных версий представлены архитектуры armv7hl, aarch64 и x84_64.

Библиотеку можно использовать в проекте с помощью данного conanfile.py

from conan import ConanFile

class Application(ConanFile):
    settings = "os", "compiler", "arch", "build_type"
    generators = "PkgConfigDeps"

    requires = (
        "mlpack/4.4.0@aurora",
    )    

Процесс локальной сборки описан в документации.

mlpack

mlpack: a fast, header-only C++ machine learning library
Лицензия
BSD-3-Clause
Версия
Домашняя страница
Скачать
package
1.08 Mb
MD5: d3cc92af2817e2f186639e3210d37c98
Updated: 13.11.2025, 13:48:39
Использование в проекте

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.