기계 학습 모델/통계 모델 (회귀 분석, 의사 결정 트리, K는 클러스터링, Naive Bayes, 스코어 카드를 의미 함)를 작성하고 실행하는 방법/선형/로지스틱 회귀 분석 및 GBM, GLM) Java/JVM 기반 응용 프로그램 (생산).Java/JVM 기반 애플리케이션에서 모델을 학습하는 기계에 적합하고 채점하는 방법
Google은 JDBC, 파일, HDFS, SQL 등의 데이터 처리, 결합 및 집계 등과 같은 기계 학습을위한 준비 단계의 대부분을 수행 할 수있는 ETL 정렬 Java 기반 제품을 보유하고 있습니다 기능 엔지니어링을 위해) 이제 기계 학습/통계 모델링을 사용하여 웹 로그 분석 기능을 추가하려고합니다.
지금 우리는 R 및 Python (및 Knime)을 사용하여 PMML 형식으로 작성된 모델에 점수를 매기 위해 JPMML- 평가기를 사용하지만 별도의 연결되지 않은 세 단계가 필요합니다. - 1- 자바에서 데이터 준비를위한 첫 단계/JVM 응용 프로그램에서 CSV 파일 또는 DB에 샘플링 데이터 (교육 및 테스트) 데이터 저장 - 2 R 및 Python (및 Knime)에서 모델 학습 모델을 만들고 PMML 4.2 형식으로 내보내기 - 3 가져 오기/Java 기반 응용 프로그램에 PMML을 배포하고 JPMML 평가기를 사용하여 프로덕션 환경에서 실행합니다.
일반적으로 프로덕션 환경에서 일반적으로 배우는 것이 기계 학습의 일반적인 문제입니다. JAVA가 Python이나 R보다 선호됩니다. Python이나 Scikit 기반 기계를 작성하고 실행할 수있는 더 나은 방법을 제안 해 주실 수 있습니까? JVM 기반 애플리케이션의 모델. 세 이하 (
1 전화 내부적으로 python scikit script를 호출하는 자바 프로그램 - : 당신의 성능과 가용성을 손상시키지 않고 단계 # 2 더 완벽하게 JVM 기반 응용 프로그램에서 # 3를 달성하기 위해 생각 무엇
후드)를 create a model in PMML으로 변경 한 다음 JPMML 평가기를 사용합니다. 사용자에게 그가 단일 JVM 기반 응용 프로그램 (더 나은 유용성)에 있다고 가장합니다. 모든 기능이 jpmml-sklearn에서 지원되는 것은 아니므로 PMML을 사용하는 데있어 제한 사항과 단점이 무엇인지 확실하지 않습니다. 2 내부적으로 파이썬 스크립트를 호출하고 외부 파이썬 환경에서 모델 생성 및 실행을 수행하고 모델/결과를 파일/csv 또는 메모리 DB (또는 헤즐리 캐스트와 같은 캐시)로 직렬화 한 Java 프로그램을 호출합니다. 부모 자바 응용 프로그램에서 결과 등을 가져올 것입니다. 저는 Sci-kit 모델을 실행하기 위해 자이 썬을 사용할 수 없다는 것을 조사했습니다. 3- Jpy (Java에서 Embed Python 포함)를 사용하여 Cpython을 JVM에 포함 할 수 있습니까? Sci-kit 모델을 사용해 본 사람이 있습니까?
또는 JVM 기반 응용 프로그램에서 Mahout 또는 weka - java 기반 기계 학습 라이브러리를 사용하도록 탐색해야합니다. (윈도우와 비 윈도우 플랫폼을 모두 지원해야합니다.)
나는 또한 자바 기반의 H2Oai를 탐색 중입니다. 아무도 그것을 시도하지 않습니다.
데이터가 Spark/Hadoop 설정에 충분하지 않습니다. 일반적으로 50에서 1GB 사이입니다 (행이 수백 개). 지금 당장은 Java 기반 인 [H2o, ai] (https://www.h2o.ai)를 사용하고 있습니다. 따라서 Java 기반 제품과 잘 호환됩니다. 그러나 ML 알고리즘 (SVM 없음)이 제한되어 있습니다. 결국, 자바 기반 응용 프로그램에서 파이썬 (또는 R)을 호출하여 다양한 ML 알고리즘을 활용하고 싶습니다. –
데이터 크기가 50MB에서 1GB 사이 인 것을 의미합니다. –
데이터 크기가 주어지면 Python이나 R에서 ML을 구현하는 것이 쉽지 않을 것입니다. R이나 Python을 Java는 데이터를 섭취 가능한 형식 (예 : CSV)으로 직렬화하고 Python 또는 R에서 처리를 실행하기 위해 시스템 호출 (일괄 처리/배시)을 만듭니다. 이는 교차 플랫폼 컴파일을 지원해야하는 필요성과 관련이 있습니다. – lohithbb