skrub-data/skrub

Machine learning with dataframes

skrub – 데이터프레임 친화적인 머신러닝 전처리

그것은 무엇인가

  • pandas 유사 데이터프레임에 저장된 표 형식 데이터를 정리, 변환 및 인코딩하여 scikit-learn(또는 다른 ML) 모델에 직접 입력할 수 있도록 하는 유틸리티를 제공하는 Python 라이브러리입니다.
  • 모델 훈련이나 추론보다는 전처리 단계에 중점을 둡니다.

주요 기능(README에 설명됨)

기능 설명
열별 정리 일관되지 않은 문자열 형식, 누락된 값, 어휘 외 범주와 같은 일반적인 문제를 감지하고 수정합니다.
인코딩 높은 카디널리티 범주형 열을 처리하는 강력한 인코더(예: 타겟 인코딩, 빈도 인코딩)를 제공하여 특성 공간을 폭발시키지 않습니다.
유사성 기반 그룹화 유사한 문자열(예: 철자가 틀린 제품 이름)을 자동으로 그룹화하여 모델링 전에 노이즈를 줄입니다.
scikit-learn 통합 scikit-learn fit/transform API를 따르는 변환기 클래스를 제공하여 파이프라인에 쉽게 통합할 수 있습니다.
문서 및 예제 웹사이트, 자동 생성 문서 및 일반적인 워크플로를 보여주는 실행 가능한 예제 모음이 포함되어 있습니다.
커뮤니티 사용자 지원 및 사용 사례 공유를 위한 Discord 서버와 GitHub Discussions 페이지가 있습니다.

일반적인 워크플로

import pandas as pd
import skrub

# 데이터프레임 로드
df = pd.read_csv('data.csv')

# scikit-learn 파이프라인으로 정리 및 인코딩
from sklearn.pipeline import make_pipeline
from sklearn.ensemble import RandomForestClassifier

pipeline = make_pipeline(
    skrub.Cleaner(),          # 문자열, 누락 값 등 수정
    skrub.TargetEncoder(),   # 범주형을 수치 특성으로 변환
    RandomForestClassifier()
)

pipeline.fit(df.drop('target', axis=1), df['target'])

이 라이브러리는 ML 프로젝트에서 병목 현상이 되는 경우가 많은 복잡하고 실제 세계의 데이터 준비 단계를 처리합니다.

설치

  • PyPI 및 conda-forge에서 사용 가능: pip install skrub 또는 conda install -c conda-forge skrub.
  • README는 프로젝트 웹사이트의 자세한 설치 지침을 안내합니다.

시작하기 및 학습 리소스

  • 공식 사이트(https://skrub-data.org/)에는 자동 생성 문서, 예제 갤러리 및 학습 자료가 호스팅됩니다.
  • 설치 후 번들 문서는 다음을 사용하여 찾을 수 있습니다:
    import skrub
    print(skrub.__docs_dir__)
    

커뮤니티 및 기여

  • 사용자는 정보를 공유하고, Discord에 참여하고, GitHub Discussions에서 사용 사례를 논의하는 것이 권장됩니다.
  • 버그 및 기능 요청은 GitHub issues를 통해 처리됩니다. 기여 지침은 웹사이트에 제공됩니다.

인용

  • 학술 작업의 경우 README에 링크된 Zenodo 아카이브를 인용하세요.

결론 skrub은 원시 표 형식 데이터와 깨끗하고 모델 준비된 특성 사이의 격차를 메우는 실용적이고 문서화가 잘 된 도구 상자로, 머신러닝 모델을 훈련하기 전에 복잡한 데이터프레임 입력을 처리하는 데 많은 시간을 보내는 데이터 과학자에게 특히 유용합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트