Estou procurando uma boa biblioteca de código aberto para scala para matemática e estatística. Esperançosamente, algo como Apache Math ou Colt, mas implementado em Scala.
Alguém pode me apontar na direção certa?
Estou procurando uma boa biblioteca de código aberto para scala para matemática e estatística. Esperançosamente, algo como Apache Math ou Colt, mas implementado em Scala.
Alguém pode me apontar na direção certa?
Respostas:
Sim, existem alguns:
O projeto ScalaLab visa fornecer um ambiente de programação científica eficiente para a máquina virtual Java. A linguagem de script é baseada na linguagem de programação Scala aprimorada com operadores científicos de alto nível e com um ambiente integrado que fornece um estilo de trabalho semelhante ao Matlab.
O código de script é extremamente rápido, próximo ao Java (às vezes mais lento, às vezes mais rápido) e geralmente mais rápido de scripts Matlab .m equivalentes!
Uma biblioteca de álgebra linear numérica de alto desempenho para Scala, com ricos operadores do tipo Matlab em vetores e matrizes; uma biblioteca de rotinas numéricas; suporte para plotagem.
FACTORIE é um kit de ferramentas para modelagem probabilística implantável, implementado como uma biblioteca de software em Scala. Oferece aos seus usuários uma linguagem sucinta para a criação de gráficos de fatores relacionais , estimativa de parâmetros e realização de inferências.
pelo Twitter para processamento de gráfico:
O Cassovary foi projetado desde o início para lidar de forma eficiente com gráficos com bilhões de arestas. Ele vem com algumas estruturas de dados comuns de nós e gráficos e algoritmos de passagem. Um uso típico é fazer mineração e análise de gráficos em grande escala.
No Twitter, o Cassovary forma a camada inferior de uma pilha que usamos para potencializar muitos de nossos recursos baseados em gráficos, incluindo "Quem Seguir" e "Semelhante a". Também o usamos para relevância na Pesquisa do Twitter e os algoritmos que determinam quais produtos promovidos os usuários verão. Com o tempo, esperamos trazer mais lógica não proprietária de alguns desses recursos do produto para o Cassovary.
Biblioteca de álgebra abstrata do twitter:
O código é voltado para a construção de sistemas de agregação (via Scalding ou Storm). Ele foi originalmente desenvolvido como parte da API Matrix de Scalding, onde Matrices tinham valores que são elementos de Monoids, Groups ou Rings. Posteriormente, ficou claro que o código tinha uma aplicação mais ampla no Scalding e em outros projetos no Twitter.
! tem status experimental!
sb_probdsl oferece suporte de programação probabilística discreta simples usando o novo suporte de continuações delimitadas do scala.
Uma biblioteca da Cadeia de Markov para Scala
Cadeias de Markov representam processos estocásticos onde a distribuição de probabilidade da próxima etapa depende não trivialmente da etapa atual, mas não depende das etapas anteriores. Forneça a esta biblioteca alguns dados de treinamento e ela gerará novos dados aleatórios que se assemelham estatisticamente a eles.
Signal / Collect é um modelo de programação e estrutura para processamento de gráficos em larga escala. O modelo é expressivo o suficiente para formular concisamente muitos algoritmos iterados e de fluxo de dados em gráficos, enquanto permite que o framework paralelize o processamento de forma transparente.
Inclui pacotes de estatísticas e utilitários. Contém coisas muito básicas e bem conhecidas, como meios std ...
Embora não seja uma biblioteca, pode ajudá-lo muito a lidar com as probabilidades.
Figaro é uma biblioteca Scala para programação probabilística. Você pode encontrar mais informações sobre o Figaro aqui Referência do Figaro
Figaro está disponível para download no Figaro Github
O autor desta biblioteca está atualmente escrevendo um livro sobre Programação Probabilística usando o Figaro. Aqui está o link para a página do livro: Livro de programação probabilística
Spire é uma biblioteca numérica para Scala que se destina a ser genérica, rápida e precisa.
Usando recursos como especialização, macros, classes de tipo e implícitos, o Spire trabalha duro para desafiar a sabedoria convencional sobre desempenho e compensações de precisão. Um dos principais objetivos é permitir que os desenvolvedores escrevam códigos numéricos eficientes sem ter que "preparar" representações numéricas específicas. Na maioria dos casos, as implementações genéricas usando as classes de tipo especializadas do Spire têm desempenho idêntico às implementações diretas correspondentes.