Databox Machine Learning Framework 0.6.0 випустила PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Випущена платформа Datumbox Machine Learning Framework 0.6.0

Випущена нова версія Datumbox Machine Learning Framework! Завантажте зараз з Github or Центральне сховище Maven.

Що нового?

Основна увага версія 0.6.0 полягає в тому, щоб розширити Framework для обробки великих даних, покращити архітектуру коду та загальнодоступні API, спростити аналіз даних, покращити документацію та перейти на дозвільну ліцензію.

Давайте детально розглянемо зміни цієї версії:

  1. Обробляйте великі дані: Покращене управління пам’яттю та нові механізми зберігання даних дозволили платформі обробляти великі набори даних розміром у кілька ГБ. Додавання підтримки MapDB Механізм баз даних дозволяє фреймворку уникнути зберігання всіх даних у пам'яті і, таким чином, мати можливість обробляти великі дані. Механізм InMemory за замовчуванням перероблено, щоб бути ефективнішим, тоді як двигун MongoDB було видалено через проблеми з продуктивністю.
  2. Покращена та спрощена архітектура Framework: Рівень абстракції значно знижений і кілька основних компонентів перероблено. Зокрема, переписані механізми постійного зберігання та видалено декілька непотрібних функцій і структур даних.
  3. Нові публічні API, схожі на Scikit-Learn: Усі загальнодоступні методи алгоритмів змінено, щоб нагадувати API Scikit-Learn від Python (парадигма підгонки/передбачити/перетворення). Нові публічні методи є більш гнучкими, простішими та дружнішими у використанні.
  4. Спростіть аналіз даних: Нова структура має набір зручних методів, які дозволяють швидко аналізувати CSV або текстові файли та їх конвертувати в об’єкти Dataset.
  5. Покращена документація: Усі загальнодоступні/захищені класи та методи Framework задокументовані за допомогою коментарів Javadoc. Крім того, нова версія надає покращені тести JUnit, які є чудовими прикладами того, як використовувати кожен алгоритм фреймворку.
  6. Нова ліцензія Apache: Ліцензію на програмне забезпечення фреймворку змінено з «GNU General Public License v3.0"Кому"Ліцензія Apache, версія 2.0“. Нова ліцензія є дозвільною і дозволяє перерозповсюджувати в рамках комерційного програмного забезпечення.

Оскільки значна частина фреймворка була переписана, щоб зробити її більш ефективною та простішою у використанні, версія 0.6.0 не є зворотною сумісністю з попередніми версіями фреймворку. Нарешті фреймворк перейшов з альфа-версії на фазу розробки бета-версії, і її слід вважати більш стабільною.

Як його використовувати

У попередній публікації блогу ми надали a детальна інструкція по установці про те, як встановити Framework. Цей посібник все ще дійсний для нової версії. Крім того, в цій новій версії ви можете знайти кілька Приклади коду про те, як використовувати моделі та алгоритми Framework.

Подальші кроки та дорожня карта

Розробка фреймворка триватиме, і перед випуском версії 1.0 необхідно внести такі покращення:

  1. UsІНГ Фреймворк з консолі: Незважаючи на те, що основною метою фреймворка є допомога в розробці програм машинного навчання, його слід спростити для використання розробниками, які не є Java. Дотримуючись аналогічного підходу, як Mahout, фреймворк має надавати доступ до алгоритмів за допомогою консольних команд. Інтерфейс повинен бути простим, простим у використанні, а різні алгоритми повинні легко комбінуватися.
  2. Підтримка багатопотокової роботи: На даний момент фреймворк використовує потоки лише для процесів очищення та асинхронного запису на диск. Тим не менш, деякі алгоритми можна розпаралелювати, що значно скоротить час виконання. Рішення в цих випадках має бути елегантним і має якомога менше змінювати внутрішню логіку/математичність алгоритмів машинного навчання.
  3. Зменште використання 2d-масивів і матриць: Невелика кількість алгоритмів все ще використовує 2d масиви та матриці. Це призводить до того, що всі дані завантажуються в пам'ять, що обмежує розмір набору даних, який можна використовувати. Деякі алгоритми (наприклад, PCA) слід перереалізувати, щоб уникнути використання матриць, тоді як для інших (таких як GaussianDPMM, MultinomialDPMM тощо) ми повинні використовувати розріджені матриці.

Інші важливі завдання, які слід виконати в наступних версіях:

  1. Включіть нові алгоритми машинного навчання: Фреймворк можна розширити для підтримки кількох чудових алгоритмів, таких як суміш гаусівських процесів, процеси гаусса, k-NN, дерева рішень, факторний аналіз, SVD, PLSI, штучні нейронні мережі тощо.
  2. покращити документацію, Випробування покриття & Приклади коду: Створюйте кращу документацію, покращуйте тести JUnit, покращуйте коментарі до коду, надавайте кращі приклади використання алгоритмів тощо.
  3. Покращити архітектуру & Оптимізувати код: Подальше спрощення та вдосконалення архітектури фреймворка, раціоналізація абстракції, покращення дизайну, оптимізація швидкості та споживання пам’яті тощо.

Як бачите, дорога довга, і мені знадобиться допомога. Якщо ви готові на виклик черкніть мені кілька рядків або надішліть запит на витяг на github.

Подяки

Я хотів би подякувати Елефтеріос Бампалетакіс за його неоціненний внесок у покращення архітектури Framework. Також я хотів би подякувати ej-technologies GmbH за надання мені ліцензії на їхній Java Profiler. Крім того, моя слава Ян Котек за його чудову роботу в системі зберігання MapDB. Останнє, але не менш важливе, моя любов до моєї дівчини Кіріакі за те, що вона мене мирилася.

Не забудьте завантажити код Datumbox v0.6.0 з Github. Бібліотека також доступна на Центральне сховище Maven. Щоб отримати додаткову інформацію про те, як використовувати бібліотеку у вашому проекті Java, перегляньте наступне керівництво або прочитайте інструкції на головній сторінці нашого репозиторія Github.

Чекаю на ваші коментарі та рекомендації. Запити на витягування завжди вітаються! 🙂

Часова мітка:

Більше від Датабокс