openml/openml-python
OpenML's Python API for a World of Data and More 💫
OpenML‑Python이란 무엇인가
OpenML‑Python 은 Python에서 OpenML 플랫폼과 통신할 수 있게 해주는 클라이언트 라이브러리입니다. OpenML은 연구자들이 데이터셋, 머신러닝 작업(예: 사전 정의된 훈련-테스트 분할), 실험 결과를 공유하는 온라인 저장소입니다. 이 라이브러리는 OpenML REST API에 대한 얇은 Pythonic 래퍼를 제공하여 코드를 떠나지 않고도 데이터를 다운로드하고, 벤치마크 스위트를 가져오고, 자신의 실행을 업로드할 수 있습니다.
주요 기능(README에 설명됨)
| 기능 | 설명 |
|---|---|
| 데이터셋 액세스 | openml.datasets.get_dataset(id_or_name)은 Dataset 객체를 반환하고, get_data()는 scikit‑learn 또는 다른 도구에 바로 사용할 수 있는 X, y, ...를 제공합니다. |
| 작업 처리 | openml.tasks.get_task(id)는 사전 정의된 작업(예: 특정 훈련-테스트 분할이 있는 분류 문제)을 가져옵니다. 기본 데이터셋과 분할 인덱스를 검색할 수 있습니다. |
| 벤치마크 스위트 | openml.study.get_suite(name)은 선별된 작업 ID 목록(예: amlb-classification-all)을 반환합니다. 스위트를 반복하여 대규모 벤치마킹 실험을 실행합니다. |
| 실행 업로드 / 다운로드 | 스니펫에는 표시되지 않지만, 이 라이브러리는 실험 결과를 OpenML에 게시하여 공개 벤치마크의 일부가 되도록 지원합니다. |
| 크로스 플랫폼, 최신 Python | Python 3.10‑3.14 및 Linux, macOS, Windows에서 작동합니다. |
| 설치 | 간단히 pip install openml 입니다. |
| 인용 지원 | 라이브러리를 설명하는 JMLR 논문에 대한 복사 가능한 BibTeX 항목을 제공합니다. |
일반적인 사용 사례 워크플로우
- 데이터셋 또는 작업 선택 – 이름(예:
"credit-g") 또는 숫자 ID로 선택합니다. - 데이터 로드 –
X, y = dataset.get_data(target="class")는 특징과 레이블을 제공합니다. - 특정 분할이 필요한 경우 – 작업 객체에서 분할 인덱스를 검색합니다(
task.get_train_test_split_indices). - 모델 실행 – 훈련 인덱스에서 scikit‑learn / PyTorch 등 어떤 모델이든 훈련하고 테스트 인덱스에서 평가합니다.
- (선택 사항) 결과 업로드 – OpenML API를 사용하여 실행을 게시하여 다른 사람들이 비교할 수 있게 합니다.
- 규모 확장 – 전체 작업 스위트를 가져오고 대규모 벤치마킹을 위해 프로세스를 자동으로 반복합니다.
누가 사용할까요?
- 연구자 – 각 CSV를 수동으로 다운로드하지 않고 여러 데이터셋에서 재현 가능한 벤치마크를 원하는 사람.
- 학생 – 모델 평가를 배우는 사람; 사전 정의된 작업은 동일한 훈련-테스트 분할을 보장합니다.
- 도구 개발자 – 메타 러닝 또는 자동 ML 파이프라인을 위해 OpenML을 프로그래밍 방식으로 쿼리해야 하는 사람.
시작하기
pip install openml
import openml
# README의 예제
dataset = openml.datasets.get_dataset("credit-g")
X, y, _, _ = dataset.get_data(target="class")
공식 문서(배지에 링크됨)에는 인증, 실행 업로드, 고급 쿼리 옵션에 대한 자세한 내용이 포함되어 있습니다.
커뮤니티 및 기여
이 프로젝트는 모든 수준의 기여를 환영합니다. 새로운 기여자는 "good first issue" 태그가 붙은 이슈부터 시작하는 것이 좋으며, 전체 기여 가이드는 저장소에 있습니다.
요약: OpenML‑Python은 머신러닝 연구를 하는 모든 사람이 데이터셋과 벤치마크에 쉽게 접근할 수 있도록 하는 OpenML 데이터 과학 플랫폼을 위한 진정하고 적극적으로 유지 관리되는 Python 클라이언트입니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트