Top 10 bibliotecas de aprendizado de máquina para python

Top 10 bibliotecas de aprendizado de máquina para python

O que você quer criar? A questão importante!

Você veio aqui para usar o aprendizado de máquina (ML) . Você já considerou cuidadosamente o que? Quando você escolhe uma biblioteca de aprendizado de máquina, você precisa começar com a forma como vai usá -la. Mesmo se você estiver interessado em aprender, considere onde o aprendizado de máquina é usado e qual é o mais próximo do seu interesse principal. Você também deve considerar se deseja se concentrar em fazer algo em sua máquina local ou se estiver interessado em espalhar sua computação por muitos servidores.

No começo, comece fazendo algo funcionar.

Onde o aprendizado de máquina é usado

Você pode encontrar muitos projetos que usam ML, na verdade tantos que cada categoria tem páginas. A versão curta é 'em todo lugar', isso não é verdade, mas começa a se perguntar. Os óbvios são motores de recomendações, reconhecimento de imagem e detecção de spam. Como você já está programando em Python, você também estará interessado no software de conclusão de código de kite. Este é o outro uso é detectar erros da entrada manual de dados, diagnóstico médico e manutenção para grandes fábricas e outras indústrias

As bibliotecas em resumo:

  1. Scikit-Learn, De Scikit; Rotinas e bibliotecas em cima de Numpy, Scipy e Matplotlib. Esta biblioteca confia diretamente nas rotinas nas bibliotecas matemáticas nativas do Python. Você instala o Scikit-Learn com seu gerenciador regular de pacotes Python. O Scikit-Learn é pequeno e não suporta cálculos de GPU, isso pode colocar você, mas é uma escolha consciente. Este pacote é menor e mais fácil de começar. Ainda funciona muito bem em contextos maiores para fazer um cluster de cálculos gigantescos, você precisa de outros pacotes.
  2. Scikit-Image Especial para imagens! A imagem Scikit possui algoritmos para análise e manipulação de imagens. Você pode usá -lo para reparar imagens danificadas, bem como manipular cores e outros atributos da imagem. A idéia principal deste pacote é disponibilizar todas as imagens para Numpy, para que você possa fazer operações nelas como ndarrays. Dessa forma, você tem as imagens disponíveis como dados para executar todos os algoritmos.
  3. Shogun: Base C ++ com interfaces claras de API para Python, Java, Scala etc. Muitos, talvez a maioria dos algoritmos disponíveis para experimentar. Este está escrito em C ++ para eficiência, também há uma maneira de experimentá -lo na nuvem. Shogun usa SWIG para interagir com muitas linguagens de programação, incluindo Python. Shogun cobre a maioria dos algoritmos e é usado extensivamente no mundo acadêmico. O pacote tem uma caixa de ferramentas disponível em https: // www.Shogun-Toolbox.org.
  4. Spark mllib: É principalmente para Java, mas está disponível na Biblioteca Numpy para desenvolvedores de Python. O Spark Mllib é desenvolvido pela equipe Apache, para que tenha como objetivo distribuir ambientes de computação e deve ser executado com mestre e trabalhadores. Você pode fazer isso no modo independente, mas o poder real do Spark é a capacidade de distribuir os empregos por muitas máquinas. A natureza distribuída do Spark o torna popular entre muitas grandes empresas, como IBM, Amazon e Netflix. O principal objetivo é minerar "big data", o que significa que todas as migalhas de pão que você deixa para trás quando surfar e compra online. Se você quiser trabalhar com o aprendizado de máquina, o Spark Mllib é um bom lugar para começar. Os algoritmos que ele suporta estão espalhados por toda a gama. Se você está iniciando um projeto de hobby, pode não ser a melhor ideia.
  5. H2O: Visa os processos de negócios, portanto, suporta previsões para recomendações e prevenção de fraudes. O negócio, H20.AI visa encontrar e analisar os conjuntos de dados de sistemas de arquivos distribuídos. Você pode executá-lo na maioria dos sistemas operacionais convencionais, mas o principal objetivo é suportar sistemas baseados em nuvem. Inclui a maioria dos algoritmos estatísticos, para que possa ser usado para a maioria dos projetos.
  6. Mahout: É feito para algoritmos distribuídos de aprendizado de máquina. Faz parte do Apache devido à natureza distribuída dos cálculos. A idéia por trás de Mahout é para os matemáticos implementarem seus próprios algoritmos. Isso não é para um iniciante, se você está apenas aprendendo, é melhor usar outra coisa. Dito isto, Mahout pode se conectar a muitos back-ends.
  7. Cloudera oryx: Usado principalmente para aprendizado de máquina em dados em tempo real. Oryx 2 é uma arquitetura que coloca todo o trabalho para criar um sistema que possa reagir a dados em tempo real. As camadas também estão trabalhando em diferentes prazos, com uma camada de lote que constrói o modelo básico e uma camada de velocidade que modifica o modelo à medida que novos dados estão chegando. Oryx é construído sobre o Apache Spark e cria uma arquitetura inteira que implementa todas as partes de um aplicativo.
  8. Theano: Theano é uma biblioteca Python que é integrada com Numpy. Este é o mais próximo do python que você pode obter. Quando você usa o Theano, você é aconselhado a instalar o GCC. A razão para isso é que o Theano pode compilar seu código no código mais apropriado possível. Enquanto Python é ótimo, em alguns casos C é mais rápido. Então, o Theano pode se converter para C e compilar fazendo seu programa funcionar mais rápido. Opcionalmente, você pode adicionar suporte à GPU.
  9. Tensorflow: O tensor no nome aponta para um tensor matemático. Esse tensor tem lugares em uma matriz, no entanto, um tensor é uma matriz multidimensional. O Tensorflow tem algoritmos para fazer cálculos para tensores, daí o nome, você pode chamá -los de Python. Ele é construído em C e C ++, mas tem um front-end para Python. Isso facilita o uso e correr rapidamente. O TensorFlow pode ser executado na CPU, GPU ou distribuído por redes, isso é alcançado por um mecanismo de execução que atua como uma camada entre o seu código e o processador.
  10. Matplotlib: Quando você tiver um problema que pode resolver com o aprendizado de máquina, provavelmente desejará visualizar seus resultados. É aqui que o matplotlib entra. Ele foi projetado para mostrar valores de qualquer gráfico matemático e é fortemente usado no mundo acadêmico.

CONCLUSÃO

Este artigo lhe deu uma idéia sobre o que está disponível para programar em aprendizado de máquina. Para obter uma imagem clara do que você precisa, você deve começar fazendo alguns programas e ver como eles funcionam. Não até você saber como as coisas podem ser feitas, você pode encontrar a solução perfeita para o seu próximo projeto.