Ciência de Dados

Dez principais bibliotecas de aprendizado de máquina para Python

Dez principais 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ê considerou cuidadosamente para quê? Ao escolher uma Biblioteca de Aprendizado de Máquina, você precisa começar explicando como vai usá-la. Mesmo se você estiver apenas interessado em aprender, deve considerar onde o Aprendizado de Máquina é usado e o que está mais próximo de seu interesse principal. Você também deve considerar se deseja se concentrar em fazer algo funcionar em sua máquina local ou se está interessado em espalhar sua computação em 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 todos os lugares', isso não é verdade, mas comece a se perguntar. Os mais óbvios são mecanismos de recomendações, reconhecimento de imagem e detecção de spam. Como você já está programando em Python, também terá interesse no software de preenchimento de código The Kite. Outros usos são para detectar erros de entrada manual de dados, diagnóstico médico e manutenção para grandes fábricas e outras indústrias

Resumindo, as bibliotecas:

  1. Scikit-learn, Do scikit; Rotinas e bibliotecas além de NumPy, SciPy e Matplotlib. Esta biblioteca depende diretamente de rotinas nas bibliotecas matemáticas nativas do Python. Você instala o scikit-learn com seu gerenciador de pacotes Python regular. Scikit-learn é pequeno e não suporta cálculos de GPU, isso pode confundi-lo, mas é uma escolha consciente. Este pacote é menor e mais fácil de começar. Ele ainda funciona muito bem em contextos maiores, embora para fazer um cluster de cálculos gigantesco, você precisa de outros pacotes.
  2. Scikit-image Especial para imagens! Scikit-image 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 ideia principal deste pacote é disponibilizar todas as imagens para o NumPy para que possa fazer operações nelas como ndarrays. Desta forma, você tem as imagens disponíveis como dados para a execução de quaisquer algoritmos.
  3. Shogun: Base C ++ com interfaces API claras para Python, Java, Scala etc. Muitos, talvez a maioria dos algoritmos disponíveis para experimentar. Este foi escrito em C ++ para maior eficiência, também há uma maneira de testá-lo na nuvem. Shogun usa SWIG para fazer interface com muitas linguagens de programação, incluindo Python. O Shogun cobre a maioria dos algoritmos e é amplamente usado no mundo acadêmico. O pacote possui uma caixa de ferramentas disponível em https: // www.caixa de ferramentas shogun.org.
  4. Spark MLlib: É principalmente para Java, mas está disponível através da Biblioteca NumPy para desenvolvedores Python. O Spark MLlib é desenvolvido pela equipe Apache para que seja voltado para ambientes de computação distribuída e deve ser executado com mestre e trabalhadores. Você pode fazer isso no modo autônomo, mas o verdadeiro poder do Spark é a capacidade de distribuir os trabalhos por várias máquinas. A natureza distribuída do Spark o torna popular com muitas grandes empresas, como IBM, Amazon e Netflix. O objetivo principal é extrair "Big Data", ou seja, todas as migalhas de pão que você deixa para trás quando navega e faz compras online. Se você deseja trabalhar com aprendizado de máquina, Spark MLlib é um bom lugar para começar. Os algoritmos que ele suporta estão espalhados por toda a gama. Se você está começando um projeto de hobby, pode não ser a melhor ideia.
  5. H2O: Destina-se a processos de negócios, por isso suporta previsões para recomendações e prevenção de fraudes. O negócio, H20.ai visa encontrar e analisar conjuntos de dados de sistemas de arquivos distribuídos. Você pode executá-lo na maioria dos sistemas operacionais convencionais, mas o objetivo principal é oferecer suporte a sistemas baseados em nuvem. Inclui a maioria dos algoritmos estatísticos, então pode ser usado para a maioria dos projetos.
  6. Mahout: É feito para algoritmos de aprendizado de máquina distribuídos. Faz parte do Apache devido à natureza distribuída dos cálculos. A ideia por trás do Mahout é que os matemáticos implementem seus próprios algoritmos. Isso não é para um iniciante, se você está apenas aprendendo, é melhor usar outra coisa. Dito isso, o Mahout pode se conectar a muitos back-ends, então quando você tiver criado algo, verifique se deseja usar o Mahout para o seu frontend.
  7. Cloudera Oryx: Usado principalmente para aprendizado de máquina em dados em tempo real. Oryx 2 é uma arquitetura que coloca em camadas todo o trabalho para criar um sistema que pode reagir a dados em tempo real. As camadas também estão trabalhando em intervalos de tempo diferentes, com uma camada de lote que constrói o modelo básico e uma camada de velocidade que modifica o modelo conforme novos dados chegam. Oryx é construído em cima do Apache Spark e cria uma arquitetura inteira que implementa todas as partes de um aplicativo.
  8. Theano: Theano é uma biblioteca Python integrada com NumPy. Este é o mais próximo do Python que você pode obter. Quando você usa o Theano, é aconselhável ter o gcc instalado. A razão para isso é que Theano pode compilar seu código no código mais apropriado possível. Embora Python seja ótimo, em alguns casos C é mais rápido. Então Theano pode converter para C e compilar fazendo seu programa rodar mais rápido. Opcionalmente, você pode adicionar suporte para GPU.
  9. Tensorflow: O tensor no nome aponta para um tensor matemático. Esse tensor tem 'n' 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 o torna fácil de usar e rápido. O Tensorflow pode ser executado em CPU, GPU ou distribuído em redes, isso é obtido por um mecanismo de execução que atua como uma camada entre seu código e o processador.
  10. Matplotlib: Quando você tiver um problema que possa resolver com o aprendizado de máquina, provavelmente desejará visualizar seus resultados. É aqui que entra o matplotlib. Ele é projetado para mostrar os valores de qualquer gráfico matemático e é muito usado no mundo acadêmico.

CONCLUSÃO

Este artigo deu a você uma ideia sobre o que está disponível para programar em Aprendizado de Máquina. Para ter uma ideia clara do que você precisa, você deve começar fazendo alguns programas e ver como eles funcionam. Só depois de saber como as coisas podem ser feitas, você poderá encontrar a solução perfeita para seu próximo projeto.

Mecanismos de jogos gratuitos e de código aberto para o desenvolvimento de jogos Linux
Este artigo cobrirá uma lista de mecanismos de jogo gratuitos e de código aberto que podem ser usados ​​para desenvolver jogos 2D e 3D no Linux. Exist...
Tutorial de Shadow of the Tomb Raider para Linux
Shadow of the Tomb Raider é a décima segunda adição à série Tomb Raider - uma franquia de jogos de ação e aventura criada pela Eidos Montreal. O jogo ...
Como aumentar o FPS no Linux?
FPS significa Quadros por segundo. A tarefa do FPS é medir a taxa de quadros em reproduções de vídeo ou desempenho de jogos. Em palavras simples, o nú...