Skip to content

데이터 분석을 위한 코틀린 및 자바 라이브러리

데이터 수집부터 모델 빌드까지, 코틀린은 데이터 파이프라인의 다양한 작업을 용이하게 하는 강력한 라이브러리를 제공합니다.

자체 라이브러리 외에도, 코틀린은 자바와 100% 상호 운용이 가능합니다. 이러한 상호 운용성은 뛰어난 성능을 갖춘 검증된 자바 라이브러리 생태계 전체를 활용하는 데 도움이 됩니다. 이 장점 덕분에 코틀린 데이터 프로젝트를 수행할 때 코틀린 또는 자바 라이브러리를 쉽게 사용할 수 있습니다.

코틀린 라이브러리

라이브러리용도기능
Kotlin DataFrame
  • 데이터 수집
  • 데이터 정제 및 처리
  • 데이터 프레임 생성, 정렬, 정제, 피처 엔지니어링(feature engineering) 등을 위한 연산
  • 구조화된 데이터 처리
  • CSV, JSON 및 기타 입력 형식 지원
  • SQL 데이터베이스에서 읽기
  • 데이터에 액세스하고 타입 안전성을 높이기 위해 다양한 API와 연결
Kandy
  • 데이터 탐색 및 시각화
KotlinDL
  • 모델 빌드
  • Keras에서 영감을 받아 코틀린으로 작성된 딥러닝 API
  • 처음부터 딥러닝 모델을 학습시키거나 기존 Keras 및 ONNX 모델을 가져와 추론에 사용
  • 기존의 사전 학습된 모델을 작업에 맞게 조정하기 위한 전이 학습
  • 안드로이드(Android) 플랫폼 지원
Multik
  • 데이터 정제 및 처리
  • 모델 빌드
  • 다차원 배열에 대한 수학적 연산(선형 대수, 통계, 산술 및 기타 계산)
  • 배열 생성, 복사, 인덱싱, 슬라이싱 및 기타 배열 작업
  • 타입 및 차원 안전성, 교체 가능한 컴퓨팅 엔진 등의 이점을 가진 코틀린 관용적 라이브러리로, JVM 또는 네이티브 코드로 실행됨
Kotlin for Apache Spark
  • 데이터 수집
  • 데이터 정제 및 처리
  • 데이터 탐색 및 시각화
  • 모델 빌드
  • Apache Spark와 코틀린 간의 호환성 레이어
  • 코틀린 관용적 코드로 작성된 Apache Spark 데이터 변환 작업
  • 중괄호나 메서드 참조 내에서 데이터 클래스 및 람다 식과 같은 코틀린 기능을 간단하게 사용
Lets-Plot
  • 데이터 탐색 및 시각화
KMath
  • 데이터 정제 및 처리
  • 데이터 탐색 및 시각화
  • 모델 빌드
  • Kotlin Multiplatform(JVM, JS, Native, Wasm)에서 수학적 추상화를 작업하기 위한 모듈형 라이브러리
  • 대수 구조, 수학 공식, 히스토그램 및 스트리밍 연산을 위한 API
  • ND4J, Apache Commons Math, Multik을 포함한 기존 자바 및 코틀린 라이브러리에 대한 교체 가능한 래퍼
  • 파이썬의 NumPy에서 영감을 받았으나 타입 안전성과 같은 추가 기능 제공
kravis
  • 데이터 탐색 및 시각화

자바 라이브러리

코틀린은 자바와 뛰어난 상호 운용성을 제공하므로, 코틀린 코드에서 데이터 작업을 위해 자바 라이브러리를 사용할 수 있습니다. 다음은 그러한 라이브러리의 몇 가지 예입니다.

라이브러리용도기능
Tablesaw
  • 데이터 수집
  • 데이터 정제 및 처리
  • 데이터 탐색 및 시각화
  • 데이터 로드, 정제, 변환, 필터링 및 요약을 위한 도구
  • Plot.ly에서 영감을 받음
CoreNLP
  • 데이터 정제 및 처리
  • 자연어 처리 툴킷
  • 감성 분석 및 인용문 속성 부여와 같은 텍스트에 대한 언어적 주석(annotation)
  • 8개 언어 지원
Smile
  • 데이터 정제 및 처리
  • 데이터 탐색 및 시각화
  • 모델 빌드
  • 머신 러닝 및 자연어 처리를 위한 기성 알고리즘
  • 선형 대수, 그래프, 보간 및 시각화 도구
  • 함수형 Kotlin API, Scala API, Clojure API 등 제공
Smile-NLP-kt
  • 데이터 정제 및 처리
  • Smile의 자연어 처리 부분에 대한 Scala implicit를 코틀린으로 재작성
  • 코틀린 확장 함수 및 인터페이스 형식의 연산
  • 문장 분리, 어간 추출, BoW(bag of words) 및 기타 작업
ND4J
  • 데이터 정제 및 처리
  • 모델 빌드
  • JVM용 행렬 수학 라이브러리
  • 500개 이상의 수학, 선형 대수 및 딥러닝 연산
Apache Commons Math
  • 데이터 정제 및 처리
  • 모델 빌드
  • 자바용 수학 및 통계 연산
  • 상관관계, 분포, 선형 대수, 기하학 및 기타 연산
  • 머신 러닝 모델
NM Dev
  • 데이터 정제 및 처리
  • 모델 빌드
  • 수치 알고리즘의 자바 수학 라이브러리
  • 객체 지향 수치 메서드
  • 선형 대수, 최적화, 통계, 미적분 및 기타 연산
Apache OpenNLP
  • 데이터 정제 및 처리
  • 모델 빌드
  • 자연어 텍스트 처리를 위한 머신 러닝 기반 툴킷
  • 토큰화, 문장 분할, 품사 태깅 및 기타 작업
  • 데이터 모델링 및 모델 검증을 위한 내장 도구
Charts
  • 데이터 탐색 및 시각화
  • 과학적 차트를 위한 JavaFX 라이브러리
  • 로그, 히트맵, 힘 지향 그래프(force-directed graph)와 같은 복잡한 차트
DeepLearning4J
  • 모델 빌드
  • 자바용 딥러닝 라이브러리
  • 모델(Pytorch, Tensorflow, Keras) 가져오기 및 재학습
  • JVM 마이크로서비스 환경, 모바일 장치, IoT 및 Apache Spark에 배포
Timefold
  • 모델 빌드
  • 최적화 계획 문제(optimization planning problems)를 위한 솔버 유틸리티
  • 객체 지향 및 함수형 프로그래밍과 호환