Szukam dobrej biblioteki open source dla scali do matematyki i statystyki. Miejmy nadzieję, że coś w rodzaju Apache Math lub Colt, ale zaimplementowane w Scali.
Czy ktoś może wskazać mi właściwy kierunek?
Szukam dobrej biblioteki open source dla scali do matematyki i statystyki. Miejmy nadzieję, że coś w rodzaju Apache Math lub Colt, ale zaimplementowane w Scali.
Czy ktoś może wskazać mi właściwy kierunek?
Odpowiedzi:
Tak, są jakieś:
Projekt ScalaLab ma na celu zapewnienie wydajnego naukowego środowiska programistycznego dla wirtualnej maszyny języka Java. Język skryptowy oparty jest na języku programowania Scala wzbogaconym o operatory naukowe wysokiego poziomu i zintegrowanym środowisku, które zapewnia styl pracy podobny do Matlab.
Kod skryptowy jest niezwykle szybki, zbliżony do języka Java (czasem wolniejszy, czasem szybszy) i zwykle szybszy od równoważnych skryptów Matlab .m!
Wysokowydajna biblioteka numerycznej algebry liniowej dla Scala, z bogatymi operatorami podobnymi do Matlaba na wektorach i macierzach; biblioteka procedur numerycznych; wsparcie dla kreślenia.
FACTORIE to zestaw narzędzi do możliwego do wdrożenia modelowania probabilistycznego, zaimplementowany jako biblioteka oprogramowania w Scali. Zapewnia użytkownikom zwięzły język do tworzenia wykresów czynników relacyjnych , szacowania parametrów i przeprowadzania wnioskowania.
przez Twittera do przetwarzania wykresów:
Cassovary został zaprojektowany od podstaw, aby efektywnie obsługiwać wykresy z miliardami krawędzi. Zawiera kilka typowych struktur danych węzłów i grafów oraz algorytmy przechodzenia. Typowym zastosowaniem jest eksploracja i analiza wykresów na dużą skalę.
Na Twitterze Cassovary stanowi dolną warstwę stosu, którego używamy do obsługi wielu naszych funkcji opartych na wykresach, takich jak „Kogo obserwować” i „Podobni do”. Używamy go również do oceny trafności w wyszukiwaniu na Twitterze i algorytmów określających, które produkty promowane zobaczą użytkownicy. Mamy nadzieję, że z biegiem czasu wprowadzimy do Cassovary więcej niezastrzeżonych rozwiązań logicznych z niektórych funkcji produktu.
Biblioteka algebry abstrakcyjnej z Twittera:
Kod jest przeznaczony do budowania systemów agregacji (poprzez Scalding lub Storm). Pierwotnie został opracowany jako część Matrix API firmy Scalding, w którym Matryce miały wartości będące elementami Monoidów, Grup lub Pierścieni. Następnie stało się jasne, że kod ma szersze zastosowanie w Scalding i innych projektach na Twitterze.
! ma status eksperymentalny!
sb_probdsl oferuje obsługę prostego dyskretnego programowania probabilistycznego przy użyciu nowej obsługi ograniczonych kontynuacji w scali.
Biblioteka łańcuchów Markov dla Scala
Łańcuchy Markowa reprezentują procesy stochastyczne, w których rozkład prawdopodobieństwa następnego kroku zależy nietrywialnie od bieżącego kroku, ale nie zależy od poprzednich kroków. Daj tej bibliotece trochę danych szkoleniowych, a wygeneruje nowe losowe dane, które są statystycznie do niej podobne.
Signal / Collect to model programowania i framework do przetwarzania wykresów na dużą skalę. Model jest wystarczająco wyrazisty, aby zwięźle sformułować wiele iterowanych algorytmów przepływu danych na wykresach, jednocześnie umożliwiając platformie przejrzystą równoległość przetwarzania.
Zawiera pakiety statystyk i narzędzi. Zawiera bardzo podstawowe i dobrze znane rzeczy, takie jak oznacza std ...
Chociaż nie jest to biblioteka, może ci bardzo pomóc w rozwiązywaniu problemów.
Figaro to biblioteka Scala do programowania probabilistycznego. Więcej informacji o Figaro można znaleźć tutaj Figaro Reference
Figaro można pobrać z Figaro Github
Autor tej biblioteki obecnie pisze książkę o programowaniu probabilistycznym przy użyciu Figaro. Oto link do strony książki: Probabilistic Programming Book
Spire to biblioteka numeryczna dla Scala, która ma być ogólna, szybka i precyzyjna.
Korzystając z takich funkcji, jak specjalizacja, makra, klasy typów i implikacje, Spire ciężko pracuje, aby przeciwstawić się konwencjonalnej wiedzy na temat kompromisów dotyczących wydajności i precyzji. Głównym celem jest umożliwienie programistom pisania wydajnego kodu numerycznego bez konieczności „pieczenia” określonych reprezentacji liczbowych. W większości przypadków implementacje generyczne używające wyspecjalizowanych klas typu Spire działają identycznie jak odpowiadające im implementacje bezpośrednie.