Машинное обучение Golang

Go programlama diliyle yapay zeka projeleri geliştirmeye 2016 yıllarında başlamıştım ve kullandığım araçları kendi bloğumda(cihanozhan.com) в списке toplamıştım. Bloğumu kapattığım için bu kaynaklara ulaşamayanlar bana ulaşmaya başladı ve neyse ki Web.Archive.Org bloğumun kaydını tutmus! Bu içerikleri tekrar olarak buradan paylaşıyorum…

Orjinal Makale: Библиотека №4: Makine Öğrenmesi Kütüphaneleri

Artık Go ile çok daha güncel yapay zeka araçları var ve bunları да kullanıyoruz. Zamanla buradaki listeyi güncel hale getirerek yeniden yapılandıracağım. Ее ne kadar güncel olmayan araçlar olsa da ML/DL çok değişmedi. Halen bir perceptron ya da ANN’i sıfırdan kodlamak için aynı yapıları kullanmalısınız. Kimi ürün kimi de AR-GE amacıyla faydalı olacaktır bu araçların.

Go Programlama Dili Makine Öğrenmesi Kütüphaneleri

Go ve yapay zeka(makine öğrenmesi, derin öğrenme vb.) çalışmalarını yaparken karşılaştığım yararlı kütüphaneleri paylaşıyorum.

1Генел Макине Öğrenmesi Kütüphaneleri

  • gorgonia: Gorgonia — это библиотека, которая упрощает машинное обучение в Go.
  • Гомл
  • MLGo
  • байесовский: байесовский классификатор.
  • CloudForest: ансамбли деревьев решений в go/golang.
  • gobrain: Нейронные сети, написанные на Go.
  • godist: различные распределения вероятностей и связанные с ними методы.
  • go-fann: привязки Go для библиотеки Fast Artificial Neural Networks (FANN).
  • go-galib: библиотека генетических алгоритмов, написанная на Go.
  • golearn: машинное обучение для Go.
  • golinear: привязки liblinear для Go.
  • go-ml: линейная/логистическая регрессия, нейронные сети, совместная фильтрация и многомерное распределение по Гауссу.
  • тензор
  • go-pr: пакет распознавания образов классификатора Гаусса.
  • goRecommend: библиотека алгоритмов рекомендаций, написанная на Go.
  • libsvm: реализация libSVM в Go.
  • neural-go: реализует простую многослойную сеть перцептронов.
  • вероятность: функции распределения вероятностей — байесовский вывод.
  • рекомендовать: система рекомендаций и совместной фильтрации.
  • shield: байесовский текстовый классификатор с гибким токенизатором и поддержкой внутреннего хранилища.
  • regression: библиотека многомерной регрессии в Go.

2 — Нейронные сети

3 — Линейная алгебра

4 — Функции распределения вероятностей

5 — Деревья решений

6 — Байесовские классификаторы

7 — Системы рекомендаций в Go

8 — Обработка естественного языка

  • go-freeling: частичный порт Freeling 3.1. Реализует токенизацию текста, разделение предложений, морфологический анализ, обработку суффиксов, повторную токенизацию клитических местоимений, гибкое распознавание нескольких слов, разделение сокращений, вероятностное предсказание категорий неизвестных слов, обнаружение именованных сущностей, маркировку PoS, неглубокий анализ на основе диаграмм, классификацию именованных сущностей и разбор зависимостей на основе правил.
  • enca: минимальные привязки Cgo для libenca.
  • go-nlp: несколько структур для проведения НЛП-анализа/экспериментов.
  • go-eco: матрицы сходства, несходства и расстояния; меры разнообразия, справедливости и неравенства; оценщики видового богатства; Ценоклиновые модели.
  • golibstemmer: привязки Go для libstemmer.
  • go-ngram: индекс n-грамм в памяти со сжатием.
  • go-porterstemmer: нативная реализация Go для чистых помещений алгоритма Porter Stemming.
  • go-stem: Go-реализация алгоритма стемминга Портера.
  • gounidecode: транслитератор Unicode (также известный как unidecode) для Go.
  • guesslanguage: функции для определения естественного языка текста Unicode.
  • icu: привязка Cgo для функций обнаружения и преобразования библиотеки C icu4c.
  • libtextcat: привязка Cgo для библиотеки C libtextcat.
  • MMSEGO: Go реализация MMSEG (алгоритм разделения китайских слов).
  • paicehusk: реализация стеммера Paice/Husk.
  • porter: еще один порт стеммера Porter на Go.
  • porter2: действительно быстрый стеммер Porter 2.
  • segment: библиотека Go для выполнения сегментации текста Unicode, как описано в Приложении № 29 к стандарту Unicode.
  • snowball: оболочка Cgo для стеммера snowball.
  • snowball: встроенные стеммеры Go для английского, испанского, французского и русского языков.
  • snowball: стеммер Snowball для Go (cgo).
  • stemmer: английские и немецкие стеммеры в нативном Go.
  • textcat: пакет Go для категоризации текста на основе n-грамм с поддержкой utf-8 и необработанного текста.

9 — Анализ/визуализация данных

  • blas : реализация BLAS (базовые подпрограммы линейной алгебры).
  • gocomplex:библиотека комплексных чисел для языка программирования Go.
  • go-fn: математические функции, написанные на языке Go, которые не поддерживаются math pkg.
  • go-graph: библиотека графов для языка Go/golang.
  • go-gt: Алгоритмы теории графов.
  • go.matrix: линейная алгебра для го (зависла).
  • gonum/mat64: пакет общего назначения для вычисления матриц. Пакет mat64 предоставляет базовые операции линейной алгебры для матриц float64.
  • gonum/plot :gonum/plot предоставляет API для построения и рисования графиков в Go.
  • goraph: чистая библиотека теории графов Go (структура данных, визуализация алгоритма).
  • gostat: библиотека статистики для языка go.
  • streamtools: графический инструмент общего назначения для работы с потоками данных.
  • SVGo: библиотека языка Go для создания SVG.
  • vectormath:Vectormath для Go, адаптация скалярных функций C из библиотеки Vector Math от Sony, которая содержится в исходном коде Bullet-2.79 (в настоящее время неактивна).

10 — индексирование текста

  • bleve: современная библиотека индексации текста для Go.
  • fulltext: полнотекстовый индексатор Pure Go и библиотека поиска.
  • golucene: переход на порт Apache Lucene.
  • golucy: привязки Go для библиотеки полнотекстового поиска Apache Lucy.

11 — Извлечение и обработка данных

  • curl: автономная библиотека Curl для Go (libcurl не требуется).
  • facebook: библиотека Facebook Graph API SDK для Go.
  • fetchbot: простой и гибкий веб-сканер, который следует политикам robots.txt и задержкам сканирования.
  • gocrawl: вежливый, компактный и параллельный поисковый робот.
  • go-curl: привязки Go libcurl.
  • golang-curl: привязки Go для libcurl.
  • goquery: аналогично JQuery.
  • go-pkg-rss: этот пакет читает каналы RSS и Atom и предоставляет механизм кэширования, соответствующий спецификациям каналов.
  • go-pkg-xmlx: расширение стандартного пакета Go XML. Поддерживает дерево узлов, которое позволяет просматривать вперед/назад и предоставляет некоторые простые функции поиска с одним или несколькими узлами.
  • oauth: реализация OAuth 1.0 в Go.
  • oauth2: реализация OAuth 2.0 (официальный пакет Go).
  • purell: библиотека Go для нормализации URL-адресов.
  • twitterstream: API потоковой передачи Twitter для Go.
  • twty: клиент Twitter из командной строки.
  • go-webkit2: привязки WebKit API (WebKitGTK+ v2) для Go. Разрешает автономную работу WebKit.
  • webloop: безголовый WebKit с поддержкой сценариев и Go API. Как PhantomJS, но для Go. Рендеринг статических HTML-версий динамических приложений JavaScript, автоматизация просмотра, запуск произвольного JavaScript в контексте окна браузера и т. д. — все это с Go или из командной строки.

12 — API облачной инфраструктуры

  • aws-sdk-go: AWS SDK для языка программирования Go.
  • godropbox: общие библиотеки Dropbox для написания сервисов/приложений Go.
  • elastigo: клиентская библиотека Elasticsearch на основе Go.
  • etcd: высокодоступное хранилище ключ-значение для общей конфигурации и обнаружения служб.
  • gcloud-golang: клиентская библиотека Google Cloud API Go.
  • goamz: библиотека Golang Amazon.
  • gocloud: коллекция библиотек golang для облачных API.
  • godo: клиент DigitalOcean Go API.
  • gohadoop: собственные клиенты Go для Apache Hadoop YARN.
  • go-nsq: официальный пакет Go для распределенной платформы обмена сообщениями в реальном времени NSQ.

İyi çalışmalar.
Джихан Ожан