Upload
aiden-seonghak-hong
View
188
Download
1
Embed Size (px)
DESCRIPTION
Reproducible Research를 위한 Jekyll
Citation preview
D A T A !S C I E N C E
Reproducible Research - 사이언스 블로깅을 위한 Jekyll,
Knitr, Github -2014년 3월 - 홍성학 ([email protected])
D A T A !S C I E N C E
Reproducible Research 는?• 연구결과물에 대한 보관 및 배포에 대한 새로운 수행 방법
• 연구와 학습과정의 모든 경험은 문서화되고 재현가능하도록 하는 것을 말함
• 코드, 데이터를 포함하여 모든 것을 재현 가능하도록 보관하고 제공해야 함
• 아카데미의 안좋은 사례 및 관행 개선
• 73%의 연구자들이 6개월동안 자신의 연구 결과 데이터를 제공하지 않음 - Shoot and Forget
• 자신의 연구결과물도 시간이 흐르면 스스로 재현을 하지 못함
• 다른 사람의 연구를 개선 또는 응용하려면 먼저 재현하고 테스트를 해야하는데 그렇게 하지 못함
• 잘못된 결과가 잘못된 결과를 낳음 - 믿고 참조한 논문이 소설이었고 참조해서 만든 논문들이 졸지에 쓰레기
• 같은 연구결과에 여러 사람들이 동일하게 반복하는 검증의 시간낭비
• 나쁜 연구자들 퇴치: 내 페이퍼에 약간의 사기를 쳐도 괜찮을 것이다. 내가 코드와 데이터를 주지 않아면 어차피 아무도 재현하지 못할테니까! 유후~
D A T A !S C I E N C E
과학인들의 삽질• 분석은 R로 하고 문서는 Word로 작성했어요. 플로팅은 Excel로 그렸지요. PT는 파워포인트로 합니다. 데이터는 USB에 있어요.
• 예전 분석 과정에서 뭔가를 수정했는데 뭘 바꿨는지 기억이 안나요
• 하드디스크에 보관하고 있던 5년치 연구자료가 날아갔어요
• 나혼자 연구해서 나혼자 잘 먹고 잘 살겠어
• 다른 사람의 연구자료를 참조했는데 재현하는데 1년걸렸어!
• 워드프레스로 블로깅을 할 때 그래프를 이태리장인 처럼 하나씩 하나씩 업로드해서 링크걸어요
D A T A !S C I E N C E
뭐 하자는 것인가?• 과학자들도 개발자처럼 결과물을 관리하자
• 문서화(Documentation)
• 코드 형상 관리(SCM)
• 자료 백업 (Backup)
• 기여 (Contribution)
• 자기홍보와 퍼스널파워 (PR & Personal Power)
Reproducible Research
이 모든 위대한 것들을 한방에!
D A T A !S C I E N C E
도구• Knitr + Rmarkdown
• Markdown과 R의 결합. 코딩과 플로팅과 리포트를 한꺼번에 해결
• Jekyll
• Static Blog 생성 도구
• Github
• 형상관리와 백업. 무료 홈페이지 호스팅
• 이 모든 것이 공짜
D A T A !S C I E N C E
하는 순서Rmarkdown
작성Jekyll 빌드
Github 푸시
• 연구 결과물 • 분석 결과물
• 블로그 포스트 생성 • 자동 문서화 • 블로그 업데이트
D A T A !S C I E N C E
데모
D A T A !S C I E N C E
설치 및 준비물• Ruby
• Ruby Development Kit
• Jekyll - HTML generating
• JekyllBootsrap - Bootstrap + Theme
• Python
• Pygments - Syntax Highlights
• R
• knitr
• Git client (Git, Source tree)
• Github 계정 + repository 생성
• Domain 구매 (옵션)