Awesome Machine Learning

repository·master·Indexed 13 days ago

https://github.com/josephmisiti/awesome-machine-learning

A curated collection of machine learning frameworks, libraries, and software categorized by programming language, including Python, C, C++, Julia, R, Common Lisp, and Clojure. The resource provides categorized lists of tools for general-purpose ML, computer vision, NLP, speech recognition, and reinforcement learning, as well as links to educational resources such as books, courses, and events.

Tokens
24K
Snippets
3
Records
123
Agent score
100%

What's inside Awesome Machine Learning

  1. Natural Language Processing libraries in Go

    master

    The following Go libraries are available for Natural Language Processing (NLP) tasks:

    • Cybertron: Transformers implementation in Go.
    • snowball: Snowball Stemmer for Go.
    • word-embedding: Full implementation of word2vec and GloVe in Go.
    • sentences: Punkt sentence tokenizer implementation.

    Note: go-ngram, paicehusk, and go-porterstemmer are deprecated.

  2. Computer Vision tools for MATLAB

    master

    MATLAB users can access several specialized transform and computer vision libraries:

    • Transforms: Contourlets, Shearlets, Curvelets (higher dimensional generalization of Wavelets), and Bandlets.
    • OpenCV Integration: mexopencv provides a collection of MATLAB mex functions for the OpenCV library.
  3. Data Analysis and Visualization tools in Java

    master

    Tools for distributed stream/batch processing and large-scale data analysis.

    Core Technologies:

    • Distributed Processing:
      • Apache Spark: Fast engine for large-scale data processing.
      • Apache Flink: Platform for distributed stream and batch data processing.
      • Apache Hadoop: Distributed storage and processing (HDFS).
      • Storm: Distributed realtime computation system.
      • Onyx: High-performance, fault-tolerant data processing written in Clojure.
    • Querying & Analysis:
      • Impala: Real-time query engine for Hadoop.
      • DataMelt: Software for numeric computation, statistics, and data visualization.

    Note: Dr. Michael Thomas Flanagan's Java Scientific Library is [Deprecated].

  4. General-Purpose Machine Learning libraries in Java

    master

    A variety of Java frameworks for machine learning, ranging from neural networks to distributed learning.

    Key Frameworks:

    • Deep Learning:
      • Deeplearning4j: Scalable deep learning with parallel GPU support.
      • deepjavalibrary/djl: High-level, engine-agnostic framework designed for Java developers.
    • Distributed Machine Learning:
      • MLlib (Apache Spark): Distributed ML library integrated with Spark.
      • FlinkML (Apache Flink): Distributed ML library in Flink.
      • Mahout: Distributed machine learning.
      • H2O: Supports distributed learning on Hadoop, Spark, or locally via R, Python, Scala, and REST/JSON APIs.
    • Neural Networks & Specialized Algorithms:
      • Encog: Advanced neural network framework with multithreaded training and GPU support.
      • Neuroph: Lightweight neural network framework.
      • Chips-n-Salsa: Genetic algorithms and evolutionary computation.
      • liblinear-java: Java port of liblinear.
      • knn-java-library: Implementation of K-Nearest Neighbors.
    • Data Mining & Statistics:
      • Weka: Collection of algorithms for data mining tasks.
      • ELKI: Toolkit for unsupervised data mining (clustering, outlier detection).
      • Smile: Statistical Machine Intelligence & Learning Engine.
      • rapaio: Statistics, data mining, and machine learning toolbox.
    • Other:
      • Tribuo: Machine learning library by Oracle.
      • SystemML: Flexible, scalable ML language.
      • aerosolve: Human-friendly ML library by Airbnb.
  5. Machine Learning libraries for PHP

    master

    Natural Language Processing

    • jieba-php: Chinese Words Segmentation Utilities.

    General-Purpose Machine Learning

    • PHP-ML: Comprehensive library covering algorithms, cross-validation, neural networks, preprocessing, and feature extraction.
    • PredictionBuilder: Builds predictions using linear regression.
    • Rubix ML: High-level machine learning library for building programs that learn from data.
    • 19 Questions: Bayesian inference for assigning attributes to objects.
  6. Machine Learning libraries for Fortran

    master

    Fortran libraries focus on high-performance neural networks and Bayesian analysis.

    • neural-fortran: A parallel neural net microframework.
    • ParaMonte: General-purpose library for Bayesian data analysis and visualization via serial/parallel Monte Carlo and MCMC simulations.
  7. ML Development Environments and IDE Extensions

    master

    Tools to enhance the coding and research experience for machine learning:

    • Bread Dataset Viewer: VS Code extension for exploring large datasets (CSV, JSON, Parquet) without crashing the editor.
    • Bread WandB Viewer: VS Code extension to view Weights & Biases experiments and logs directly within the IDE.
    • CatalyzeX: Browser extension (Chrome/Firefox) that finds code implementations for ML papers on Google, Arxiv, etc.
    • Deepnote: AI-first replacement for Jupyter with native data integrations and real-time collaboration.
    • ML Workspace: Web-based IDE deployed as a Docker container, preloaded with popular libraries (TensorFlow, PyTorch) and tools (Jupyter, VS Code).
    • Notebooks: A Jupyter notebook starter kit with Docker images for various Python and ML framework combinations.
  8. Explore Educational Tools for Machine Learning

    master

    For learning and visualizing machine learning concepts, use the following tools:

    • NN Visual: Interactive visualizations for neural networks, backpropagation, attention mechanisms, and transformers.
    • BESSER Neural Network Editor: A browser-based visual editor for designing neural networks that automatically generates PyTorch and TensorFlow code.
    • layer: A command-line tool for performing neural network inference.
  9. Explore Federated Learning frameworks in Python

    master

    If you are working with decentralized data, the following Python libraries provide frameworks for federated learning, analytics, and privacy:

    • Flower: A unified approach to federate any workload, ML framework, or programming language.
    • PySyft: A library focused on secure and private Deep Learning.
    • Tensorflow-Federated: A framework specifically for machine learning and computations on decentralized data using TensorFlow.
  10. JavaScript Natural Language Processing (NLP) libraries

    master

    A collection of JavaScript libraries for natural language processing tasks, including text processing, entity extraction, sentiment analysis, and language identification.

    Key libraries include:

    • natural: General natural language facilities for Node.js.
    • nlp.js: Built on Natural, supports entity extraction, sentiment analysis, and automatic language identification.
    • retext: An extensible system for analyzing and manipulating natural language.
    • NLP Compromise: Designed for NLP in the browser.
    • Twitter-text: JavaScript implementation of Twitter's text processing library.