10 Pacotes de aprendizado de máquina para dominar
Video: Aprendizagem de Máquina com Perceptron
Conteúdo
Há algumas grandes pacotes de aprendizado de máquina, como acento circunflexo (R) e NumPy (Python). Naturalmente, estes são bons, pacotes versáteis você pode usar para começar a sua jornada de aprendizagem de máquina. É importante ter mais do que algumas ferramentas em sua caixa de ferramentas, que é onde as sugestões encontradas aqui entram em jogo.
Cloudera Oryx
Cloudera Oryx é um projeto de aprendizado de máquina para Apache Hadoop que lhe fornece uma base para a execução de tarefas de aprendizagem de máquina. Ele enfatiza o uso de streaming de dados ao vivo. Este produto ajuda a aumentar a segurança, governança e funcionalidade de gerenciamento que está faltando a partir Hadoop para que você possa criar aplicativos de nível empresarial com maior facilidade.
A funcionalidade fornecida pela órix baseia-se em Apache Kafka e Apache faísca. tarefas comuns para este produto são os filtros de spam em tempo real e mecanismos de recomendação.
CUDA-Convnet
GPUs permitem executar tarefas de aprendizado de máquina significativamente mais rápido. Você pode adicionar Acelerar a Anaconda para fornecer suporte GPU básico para esse ambiente. Caffe é um produto separado que você pode usar para processar imagens usando Python ou MATLAB.
Se você precisa para executar o processamento de imagem séria, você obviamente precisa de uma GPU para fazê-lo. o biblioteca CUDA-Convnet fornece suporte específico para CUDA da Nvidia processador GPU, o que significa que ele pode fornecer um processamento mais rápido com o custo de flexibilidade de plataforma (você deve ter um processador CUDA em seu sistema). Para a maior parte, esta biblioteca vê usar em aplicações de rede neural.
ConvNetJS
Como descrito para CUDA-Convnet, sendo capaz de reconhecer objetos em imagens é uma importante tarefa aprendizado de máquina, mas fazer o trabalho sem uma boa biblioteca pode ser difícil ou impossível. Enquanto CUDA-Convnet fornece suporte para aplicativos de desktop pesados, ConvNetJS fornece suporte de processamento de imagem para aplicações javascript. A característica importante desta biblioteca é que ele funciona de forma assíncrona.
Quando você faz uma chamada, a aplicação continua a trabalhar. Uma resposta assíncrona permite a aplicação saber quando tarefas, tais como formação, completos para que o usuário não se sente como se o navegador tem congelado (deixar de responder de alguma forma). Dado que estas tarefas podem levar um longo tempo para ser concluído, o apoio chamada assíncrona é essencial.
e1071
Esta biblioteca R, e1071, desenvolvido pelo grupo TU Wien E1071 na teoria das probabilidades, fornece o suporte para support vector machines (SVMs). Por detrás da sua interface de comando R funciona uma biblioteca externa C ++ (com uma API C para fazer a interface com outras linguagens) desenvolvido na Universidade Nacional de Taiwan. Você pode encontrar mais informações sobre LIBSVM para a classificação SVM e regressão, juntamente com uma abundância de conjuntos de dados, tutoriais, e até mesmo um guia prático para obter mais de SVMs.
Além disso, você tem funções de suporte para análise de classe latente, de curta duração transformada de Fourier, de agrupamento Fuzzy, computação caminho mais curto, ensacados clustering, e classificadores Naive Bayes.
gbm
o máquinas impulsionando gradiente (GBM) algoritmo usa otimização de gradiente descendente para determinar os pesos corretos para a aprendizagem em conjunto. O aumento de desempenho resultante é impressionante, fazendo GBM uma das mais poderosas ferramentas de previsão que você pode aprender a usar em aprendizado de máquina. O pacote gbm adiciona suporte GBM para R.
Video: Machine Learning: Como fazer uma máquina aprender usando Python
Este pacote inclui também métodos de regressão de mínimos quadrados, perda absoluta, perda de distribuição t, regressão quantil, logísticas, logísticas multinominal, Poisson, riscos proporcionais de Cox probabilidade parcial, perda exponencial AdaBoost, perda de dobradiça Huberized, e de aprendizagem para Posição medidas (LambdaMart) .
O pacote também fornece funções convenientes para cross-validação e de descobrir como sintonizar sem overfitting o número de árvores, uma hiper-parâmetro crucial do algoritmo.
Gensim
Gensim é uma biblioteca Python que pode executar o processamento de linguagem natural (NLP) e aprendizado não supervisionado em dados textuais. Ele oferece uma ampla gama de algoritmos para escolher: TF-IDF, projeções aleatórios, alocação de Dirichlet latente, análise semântica latente, e dois algoritmos semânticos: word2vec e document2vec.
Video: inteligência artificial
Word2vec é baseado em redes neurais (, aprendizagem rasa não é profundo, redes) e permite transformações significativas de palavras em vetores de coordenadas que você pode operar de forma semântica. Por exemplo, operando no vector representando Paris, subtraindo o vector França, e, em seguida, adicionando o vetor Itália resulta no vetor Roma, demonstrar como você pode usar a matemática eo modelo Word2vec direito de operar as operações semânticas no texto.
glmnet
Regularização é como uma solução eficaz, rápido e fácil de usar quando você tem muitos recursos e quer reduzir a variância das estimativas devido à multicolinearidade entre seus preditores. Uma forma de regularização é Lasso, que é uma das formas de apoio que você começa de glmnet (Sendo o outro elástico-líquido). Este pacote se encaixa no linear, logístico e, modelos de regressão de Poisson e Cox multinomiais.
Você também pode usar glmnet para realizar a predição, traçando, e K-dobra de validação cruzada. Professor Rob Tibshirani, o criador do L1 (também conhecido como Lasso) regularização também ajudou a desenvolver este pacote. Além disso, Gensim fornece multiprocessamento e capacidades de fora-de-core, o que lhe permite acelerar o processamento de algoritmos e lidar com dados textuais maiores do que a memória RAM disponível.
Floresta aleatória
Você pode melhorar uma árvore de decisão, replicando-lo muitas vezes e uma média de resultados para obter uma solução mais geral. O pacote open source R para executar esta tarefa é Floresta aleatória. Você pode usá-lo para realizar tarefas de classificação e regressão com base em uma floresta de árvores usando entradas aleatórias. A versão Python deste pacote aparece como RandomForestClassifier e RandomForestRegressor, sendo que ambos são encontrados em scikit-learn.
Video: Mini Curso Reconhecimento de Padrões - Aula 2
SciPy
o pilha SciPy contém uma série de outras bibliotecas que você também pode fazer o download separadamente. Essas bibliotecas fornecem suporte para a matemática, ciência e engenharia. Quando você obter SciPy, você recebe um conjunto de bibliotecas projetados para trabalhar em conjunto para criar aplicações de vários tipos. Essas bibliotecas são
- NumPy
- SciPy
- matplotlib
- IPython
- SymPy
- pandas
A biblioteca SciPy-se centra-se em rotinas numéricos, como rotinas para integração numérica e otimização. SciPy é uma biblioteca de uso geral que fornece funcionalidade para domínios vários problemas. Ele também fornece suporte para bibliotecas específicas de domínio, tais como scikit-learn, Scikit-imagem, e statsmodels. O site contém muitos palestras e tutoriais sobre as funções do SciPy.
XGBoost
Outros tipos de máquinas impulsionar gradiente existem que são baseados em um conjunto ligeiramente diferente de abordagens de otimização e funções de custo. o XGBoost pacote permite aplicar GBM para qualquer problema, graças à sua grande variedade de funções objetivo e métricas de avaliação. Ele opera com uma variedade de línguas, incluindo Python, R, Java e C ++.
Apesar do fato de que GBM é um algoritmo sequencial (e, portanto, mais lento do que outros que podem tirar vantagem dos computadores multicore modernos), XGBoost aproveita o processamento multithread, a fim de pesquisar em paralelo para as melhores divisões entre as características. O uso de multissegmentação ajuda sua vez XGBoost em um desempenho inigualável quando comparado com outras implementações GBM, tanto em R e Python. Devido a tudo o que ela contém, o nome completo do pacote é extremo Gradiente Boosting (ou XGBoost para abreviar).