Наука про дані

10 найкращих бібліотек машинного навчання для Python

10 найкращих бібліотек машинного навчання для Python

Що ви хочете створити? Важливе питання!

Ви прийшли сюди, щоб використовувати машинне навчання (ML) . Чи ви ретельно продумували, для чого? Коли ви вибираєте бібліотеку машинного навчання, вам слід почати з того, як ви збираєтесь нею користуватися. Навіть якщо ви просто зацікавлені в навчанні, вам слід подумати, де використовується машинне навчання, а що найближче до ваших основних інтересів. Вам також слід подумати, якщо ви хочете зосередитись на тому, щоб щось робити на вашій локальній машині, або якщо ви зацікавлені в розповсюдженні своїх обчислень на багатьох серверах.

На початку починайте з того, що щось працює.

Де використовується машинне навчання

Ви можете знайти багато проектів, які використовують ML, насправді так багато, що кожна категорія займає сторінки. Коротка версія є "скрізь", це неправда, але варто почати дивуватися. Очевидні - це механізми рекомендацій, розпізнавання зображень та виявлення спаму. Оскільки ви вже програмуєте на Python, вас також зацікавить програмне забезпечення для завершення коду Kite. Це інше використання для виявлення помилок при ручному введенні даних, медичній діагностиці та технічному обслуговуванні великих заводів та інших галузей

Коротше бібліотеки:

  1. Scikit-learn, З scikit; Процедури та бібліотеки на вершинах NumPy, SciPy та Matplotlib. Ця бібліотека покладається безпосередньо на підпрограми математичних бібліотек, що є рідною для Python. Ви встановлюєте scikit-learn за допомогою звичайного менеджера пакетів Python. Scikit-learn невеликий і не підтримує обчислення графічного процесора, це може вас поставити, але це усвідомлений вибір. Цей пакет менший і легший для початку. Це все ще працює досить добре у більших контекстах, хоча, щоб зробити гігантський кластер обчислень, потрібні інші пакети.
  2. Scikit-образ Спеціально для зображень! Scikit-image має алгоритми для аналізу та маніпулювання зображеннями. Ви можете використовувати його для відновлення пошкоджених зображень, а також для маніпулювання кольором та іншими атрибутами зображення. Основна ідея цього пакету - зробити всі зображення доступними для NumPy, щоб ви могли робити операції з ними як ndarrays. Таким чином ви отримаєте зображення, доступні як дані для запуску будь-яких алгоритмів.
  3. Сьогун: База C ++ з чіткими інтерфейсами API для Python, Java, Scala тощо. Багато, можливо, більшість алгоритмів, доступних для експериментів. Цей написаний на C ++ для підвищення ефективності, є також спосіб спробувати його у хмарі. Сьогун використовує SWIG для взаємодії з багатьма мовами програмування, включаючи Python. Сьогун охоплює більшість алгоритмів і широко використовується в академічному світі. Пакет має набір інструментів, доступний за адресою https: // www.шогун-набір інструментів.орг.
  4. Іскра MLlib: В основному для Java, але доступна через бібліотеку NumPy для розробників Python. Spark MLlib розроблений командою Apache, тому він спрямований на розподілене обчислювальне середовище і повинен працювати разом із майстром та працівниками. Ви можете зробити це в автономному режимі, але справжня сила Spark - це можливість розподіляти завдання на багатьох машинах. Розподілений характер Spark робить його популярним серед багатьох великих компаній, таких як IBM, Amazon та Netflix. Основною метою є видобуток "Великих даних", тобто всіх тих сухарів, які ви залишаєте під час серфінгу та покупок в Інтернеті. Якщо ви хочете працювати з машинним навчанням, Spark MLlib - гарне місце для початку. Алгоритми, які він підтримує, розподілені по всьому діапазону. Якщо ви починаєте хобі-проект, це може бути не найкращою ідеєю.
  5. H2O: Орієнтована на бізнес-процеси, тому підтримує прогнозування рекомендацій та запобігання шахрайству. Бізнес, H20.ai спрямована на пошук та аналіз наборів даних із розподілених файлових систем. Ви можете запустити його на більшості звичайних операційних систем, але головна мета - підтримка хмарних систем. Він включає більшість статистичних алгоритмів, тому може бути використаний для більшості проектів.
  6. Махут: Створений для розподілених алгоритмів машинного навчання. Це частина Apache через розподілений характер розрахунків. Ідея Mahout полягає в тому, щоб математики реалізовували власні алгоритми. Це не для початківців, якщо ви тільки навчаєтесь, вам краще використовувати щось інше. Сказавши це, Mahout може підключатися до багатьох фонових фонів, тому, коли ви щось створили, загляньте, чи хочете ви використовувати Mahout для свого інтерфейсу.
  7. Клоудера Орікс: В основному використовується для машинного навчання на даних у реальному часі. Oryx 2 - це архітектура, яка накладає всю роботу на створення системи, яка може реагувати на дані в режимі реального часу. Шари також працюють у різні часові рамки, із пакетним шаром, який створює базову модель, і швидкісним шаром, який модифікує модель у міру надходження нових даних. Oryx побудований поверх Apache Spark і створює цілу архітектуру, що реалізує всі частини програми.
  8. Теано: Theano - це бібліотеки Python, інтегровані з NumPy. Це найближче до Python, яке ви можете отримати. Коли ви використовуєте Theano, вам рекомендується встановити gcc. Причиною цього є те, що Theano може скомпілювати ваш код у найбільш підходящий з можливих кодів. Хоча Python чудовий, в деяких випадках C швидший. Тож Theano може конвертувати в C та компілювати, щоб ваша програма працювала швидше. За бажання ви можете додати підтримку графічного процесора.
  9. Tensorflow: Тензор у назві вказує на математичний тензор. Такий тензор має 'n' місця в матриці, однак, тензор - це багатовимірний масив. TensorFlow має алгоритми для обчислення тензорів, звідси і назва, яку ви можете викликати з Python. Він побудований на C і C ++, але має інтерфейс для Python. Це робить його простим у використанні та швидким запуском. Tensorflow може працювати на процесорі, графічному процесорі або розподілятися по мережах, це досягається за допомогою механізму виконання, який діє як шар між вашим кодом і процесором.
  10. Матплотліб: Коли ви придумаєте проблему, яку ви можете вирішити за допомогою машинного навчання, ви, швидше за все, захочете візуалізувати свої результати. Тут з’являється matplotlib. Він призначений для відображення значень будь-яких математичних графіків і широко використовується в академічному світі.

ВИСНОВОК

Ця стаття дає вам уявлення про те, що можна програмувати в машинному навчанні. Щоб отримати чітке уявлення про те, що вам потрібно, потрібно для початку створити кілька програм і подивитися, як вони працюють. Тільки поки ви не знаєте, як це можна зробити, ви не зможете знайти ідеального рішення для вашого наступного проекту.

Open Source Ports of Commercial Game Engines
Free, open source and cross-platform game engine recreations can be used to play old as well as some of the fairly recent game titles. This article wi...
Кращі ігри командного рядка для Linux
Командний рядок - це не просто ваш найбільший союзник при використанні Linux, він також може бути джерелом розваг, оскільки ви можете використовувати ...
Кращі програми для картографування геймпадів для Linux
Якщо ви любите грати в ігри на Linux із геймпадом замість типової системи введення клавіатури та миші, є кілька корисних програм для вас. Багато ігор ...