drivendataorg/cookiecutter-data-science
A logical, reasonably standardized, but flexible project structure for doing and sharing data science work.
무엇인가요
Cookiecutter Data Science (CCDS) 는 데이터 과학 작업용으로 바로 사용할 수 있는 프로젝트 스켈레톤을 생성하는 작은 명령줄 유틸리티입니다. 일반적인 cookiecutter 템플릿 도구를 기반으로 하지만, 전용 ccds 명령어와 베스트 프랙티스 규칙을 따르는 사전 설계된 폴더 구조를 추가합니다.
왜 중요한가요
- 일관성 – 모든 새로운 프로젝트는 동일한 논리적 디렉터리 트리(원시 데이터, 노트북, 모델, 문서 등)로 시작되어 팀원들이 서로의 작업을 쉽게 이해하고 참여할 수 있습니다.
- 재현성 –
requirements.txt,Makefile,pyproject.toml이 템플릿에 포함되어 있어 단일 명령어로 환경을 재생성할 수 있습니다. - 속도 –
ccds를 실행하면 보일러플레이트 파일들이 몇 초 안에 생성되어 폴더 설정에 시간을 쓰지 않고 분석에 집중할 수 있습니다. - 확장성 – 템플릿은 버전 관리되어 있으며, 특정 태그/브랜치(예: 구버전 v1 레이아웃) 또는 최신 릴리스를 선택할 수 있습니다.
작동 방식
- 설치 (권장:
pipx사용)pipx install cookiecutter-data-science - 생성기 실행
ccds # 프로젝트 이름, 모듈 이름, 라이선스 등을 묻는 프롬프트가 표시됨 - 인터랙티브 질문에 답변. CCDS 는 선택한 옵션에 맞는 디렉터리 구조를 생성합니다.
- 생성된
{{ cookiecutter.module_name }}패키지 내에서 코드 작성하고 제공된Makefile단축키(make data,make train, …)를 사용해 일반적인 작업을 실행합니다.
생성된 스켈레톤의 주요 구성 요소
| 경로 | 목적 |
|---|---|
data/ |
원시, 외부, 일시, 처리된 데이터용 하위 폴더 (읽기 전용 원시 데이터는 출처 추적을 장려함). |
notebooks/ |
순서를 정하고 작성자 초기를 기록하는 이름 규칙을 따르는 Jupyter 노트북. |
{{ cookiecutter.module_name }}/ |
다음을 포함하는 Python 패키지: |
config.py– 중앙 설정 값dataset.py– 다운로드/생성 헬퍼features.py– 특징 공학 유틸리티modeling/–train.py및predict.pyplots.py– 재사용 가능한 플로팅 함수 | |models/| 직렬화된 모델, 예측 결과 또는 모델 요약을 저장하는 공간. | |docs/| 프로젝트 문서용 초기 mkdocs 사이트. | |reports/| 생성된 분석 출력(HTML, PDF, LaTeX)과figures/하위 폴더. | |Makefile| 편의 명령어(make data,make train,make test등). | |pyproject.toml및setup.cfg| 패키지 메타데이터 및 정적 분석 설정(예: Black, flake8). | |requirements.txt| 재현성을 위해 정확한 Python 종속성 고정. |
빠르게 시작하기
# 1. 도구 설치 (한 번만)
pipx install cookiecutter-data-science
# 2. "my-analysis"라는 새 프로젝트 생성
ccds # 프롬프트에 따라 "my_analysis"를 모듈 이름으로 입력
# 3. 새 폴더로 이동하고 첫 번째 make 타겟 실행
cd my_analysis
make data # 자리 표시자 – 자신의 명령어로 교체 가능
새 폴더 내의 생성된 README.md 는 프로젝트별 워크플로우를 설명합니다.
확장 / 기여하기
- 리포지토리는 템플릿 자체와
ccdsCLI 를 포함합니다. - 개발 종속성은
dev-requirements.txt에 나와 있습니다. pytest tests로 테스트 스위트를 실행할 수 있습니다.- 기여를 환영합니다. 온라인 기여 가이드를 확인하세요.
TL;DR
ccds = 데이터 폴더부터 시작 문서 사이트까지 포함된 깔끔하고 체계적인 데이터 과학 리포지터리를 1개의 명령어로 빠르게 생성하는 방법으로, 협업과 재현 가능한 작업을 훨씬 원활하게 만듭니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트