25 Java 기계 학습 도구 및 라이브러리
IT 산업이 점점 더 대중화되고 있습니다. 더 많은 새로운 세력이 IT 제품군에 합류함에 따라 Java가 차지하는 비중이 점점 더 커지고 있습니다.
1. Weka는 데이터 마이닝 작업을 위해 머신러닝 알고리즘을 통합합니다. 이러한 알고리즘은 데이터 세트에 직접 적용할 수도 있고 고유한 코드를 작성하여 호출할 수도 있습니다. Weka에는 데이터 전처리, 분류, 회귀, 클러스터링, 연관 규칙 및 시각화와 같은 일련의 도구가 포함되어 있습니다.
2.MOA(Massive Online Analysis)는 데이터 스트림 마이닝을 위한 인기 있는 오픈 소스 프레임워크이며 매우 활발하게 성장하는 커뮤니티를 보유하고 있습니다. 여기에는 다양한 기계 학습 알고리즘(분류, 회귀, 클러스터링, 이상 탐지, 개념 드리프트 탐지 및 추천 시스템)과 평가 도구가 포함됩니다. WEKA 프로젝트와 관련된 MOA도 Java로 작성되었으며 확장성이 더 뛰어납니다.
3. MEKA 프로젝트는 다중 라벨 학습 및 평가 방법의 오픈 소스 구현을 제공합니다. 다중 레이블 분류에서는 각 입력 인스턴스에 대해 여러 출력 변수를 예측하려고 합니다. 이는 단일 대상 변수만 포함하는 "일반적인" 경우와 다릅니다. 또한 MEKA는 WEKA의 머신러닝 툴킷을 기반으로 합니다.
4. 고급 데이터 마이닝 및 머신 러닝 시스템(ADAMS)은 현실 세계에서 복잡한 지식 흐름을 신속하게 구축하고 유지하도록 설계된 새로운 유형의 유연한 워크플로우 엔진입니다.
5. ELKI(인덱스 구조 지원) KDD 애플리케이션 개발 환경은 Java 기반 오픈 소스(AGPLv3) 데이터 마이닝 소프트웨어입니다. ELKI는 주로 알고리즘 연구에 중점을 두고 있으며, 클러스터 분석의 비지도 방법 및 이상 탐지에 중점을 두고 있습니다.
6. Mallet은 Java 기반 텍스트 파일용 머신러닝 툴킷입니다. Mallet은 최대 엔트로피, Naive Bayes 및 의사결정 트리 분류와 같은 분류 알고리즘을 지원합니다.
7. Encog는 SVM(지원 벡터 머신), 인공 신경망, 유전 알고리즘, 베이지안 네트워크, HMM(은닉 마르코프 모델), 유전 프로그래밍 및 유전 알고리즘을 통합하는 고급 기계 학습 프레임워크입니다.
8. Datumbox 기계 학습 프레임워크는 기계 학습 및 통계 애플리케이션의 신속한 개발을 가능하게 하는 Java로 작성된 오픈 소스 프레임워크입니다. 프레임워크의 핵심 초점에는 중간 규모의 데이터 세트를 처리할 수 있는 광범위한 기계 학습 알고리즘과 통계 테스트가 포함됩니다.
9. Deeplearning4j는 Java 및 Scala로 작성된 최초의 상용급 오픈 소스 분산 딥 러닝 라이브러리입니다. 이는 연구 도구가 아닌 비즈니스 환경에서 사용하도록 설계되었습니다.
10. Mahout은 알고리즘이 내장된 머신러닝 프레임워크입니다. Mahout-Samsara는 사람들이 자신만의 수학을 만들 수 있도록 돕고 기성 알고리즘 구현을 제공합니다.
11. Rapid Miner는 독일 도르트문트 공과대학교에서 개발했습니다. 개발자가 애플리케이션을 개발할 수 있도록 GUI(Graphical User Interface)와 Java API를 제공합니다. 또한 데이터 처리, 시각화 및 모델링을 위한 일부 기계 학습 알고리즘을 제공합니다.
12. Apache SAMOA는 분산 스트리밍 ML 알고리즘에 대한 프로그래밍 추상화를 포함하고 기본 분산 스트림 처리 엔진(DSPEe, Apache Storm, Apache S4 및 Apache samza)를 사용하여 새로운 ML 알고리즘을 개발합니다. 사용자는 여러 DSPE에서 실행될 수 있는 분산 스트리밍 ML 알고리즘을 개발할 수 있습니다.
13. Neuroph는 신경망 생성, 훈련 및 저장을 지원하는 Java 네트워크 라이브러리와 GUI 도구를 제공하여 신경망 개발을 단순화합니다.
14. Oryx 2는 Apache Spark 및 Apache Kafka를 기반으로 구축된 Lambda 아키텍처 구현이지만 점차 실시간 대규모 기계 학습에 특화되고 있습니다. 이는 애플리케이션 구축을 위한 프레임워크일 뿐만 아니라 협업 필터링, 분류, 회귀 및 클러스터링을 위한 패키징 및 엔드투엔드 애플리케이션도 포함합니다.
15. Stanford Classifier는 데이터 항목을 카테고리에 배치할 수 있는 기계 학습 도구입니다. 이와 같은 확률적 분류기는 데이터 항목에 대한 클래스 할당의 확률 분포를 제공할 수 있습니다. 이 소프트웨어는 최대 엔트로피 분류자의 Java 구현입니다.
16.io는 빠르고 정확한 두뇌형 자연어 처리 알고리즘을 갖춘 Retina API입니다.
17.JSAT는 빠른 시작이 가능한 머신러닝 라이브러리입니다. 이 라이브러리는 여가 시간에 개발되었으며 GPL3을 기반으로 출시되었습니다. 라이브러리의 일부는 독립적으로 학습할 수 있습니다. 예를 들어 모든 코드는 독립적입니다. JSAT는 외부 종속성이 없으며 순수 Java로 작성되었습니다.
18. N-Dimensional Arrays for Java(ND4J)는 JVM용 과학 컴퓨팅 라이브러리입니다. 이는 프로덕션 환경에서 사용하기 위한 것이며, 이는 루틴이 최소한의 메모리 요구사항으로 실행되도록 설계되었음을 나타냅니다.
19. 자바 머신러닝 라이브러리(Java Machine Learning Library)는 머신러닝 알고리즘과 관련된 일련의 구현입니다. 소스 코드와 문서 모두 알고리즘이 잘 작성되어 있습니다. 주요 언어는 Java입니다.
20. Java-ML은 Java로 작성된 일련의 기계 학습 알고리즘을 위한 Java API입니다. 표준 알고리즘 인터페이스만 제공합니다.
21. MLlib(Spark)는 Apache Spark용 확장 가능한 기계 학습 라이브러리입니다. Java이지만 라이브러리와 플랫폼은 Java, Scala 및 Python 바인딩도 지원합니다. 이 라이브러리는 최신 버전이며 많은 알고리즘을 가지고 있습니다.
22. H2O는 지능형 애플리케이션을 위한 기계 학습 API입니다. 빅데이터에 대한 통계, 기계 학습, 수학을 확장합니다. H2O는 확장 가능하며 개발자는 핵심에서 간단한 수학을 사용할 수 있습니다.
23. WalnutiQ는 인간 두뇌의 일부를 객체지향적으로 모델화한 것으로, 이론상 흔히 사용되는 학습 알고리즘을 적용하고 있습니다(단순하고 강력한 감성 인공지능 모델 방향으로 연구하고 있습니다).
24. RankLib은 순위 학습 알고리즘 라이브러리입니다. 지금까지 8개의 인기 있는 알고리즘이 구현되었습니다.
25. htm.java(Java 기반 계층적 임시 메모리 알고리즘 구현)는 지능형 컴퓨팅을 위한 Numenta 플랫폼용 Java 인터페이스입니다.
위는 현재 사용되고 있는 자바 학습 도구들입니다. 이보다 더 실용적인 도구나 PHP 등 다른 프로그래밍 언어에 대한 도구를 찾으면 함께 토론해 볼 수도 있습니다.
Brotherhood Gao Luofeng은 무료로 제자를 모집합니다: http://www.hdb.com/party/lzcw-comm.html
LAMP Brothers의 원본 PHP 비디오 튜토리얼 CD/"Elaborate PHP" 필수 버전을 무료로 받으세요. 자세한 내용은 공식 웹사이트 고객 서비스를 참조하세요:
http://www.lampbrother.net
위 내용은 관련 내용을 포함하여 25가지 자바 머신러닝 도구와 라이브러리를 소개하고 있어 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.