Find us on GitHub

A Data Carpentry Workshop

서강대학교 - K관(김대건관) 101호

Nov 06-07, 2016

9:30 am - 5:30 pm

Instructors: Kari Jordan, 이광춘

Helpers: 서상범

General Information

데이터 카펜트리(Data Carpentry) 워크샵은 분석하고자 하는 데이터를 갖는 연구원을 위한 자리로, 사전 전산 경험이 필요한 것은 아니다. 실습 워크샵을 통해 데이터를 효과적으로 다루는데 필요한 기본 개념, 기술, 도구를 배우게 된다.

양일에 걸친 워크샵을 통해 스프레드쉬트, Open Refine, SQL, 데이터 공학 - R and 통계모형과 기계학습 - R을 배우게 된다. 워크샵 참석자는 노트북을 지참하여 참석하여야 하며 가능하면 뜻을 같이 하는 친구와 함께 적극적인 참여를 권장합니다. 워크샵을 말미에는 데이터를 효과적으로 다루고 분석할 수 있는 역량을 갖추게 되어, 학습한 도구와 접근법을 바로 진행중인 연구에 적용할 수 있게 된다.

워크샵 참여 대상: 대학원생과 연구원, 데이터 과학 실무자를 목표로 개발된 과정입니다.

장소: 서울특별시 마포구 백범로 35 (신수동) 서강대학교 K관(김대건관) 101호. OpenStreetMap 혹은 Google Maps을 참조하여 찾아오세요.

사전 준비물: 워크샵에 참여하시는 분은 관리자 권한을 갖는 맥, 리눅스, 윈도우 운영체제가 탐재된 노트북을 지참하셔야 합니다. (스마트폰, 태블릿, 크롬북 등은 권장하지 않음) 아래 설정 표기된 데이터과학 컴퓨팅을 위한 사전 소프트웨어 팩키지를 설치하셔야 됩니다. 행동강령(code of conduct) 준수를 하셔야 하고, 사전에 다음 정보를 탐독하시면 도움이 됩니다. 기계와 더불어 사는 한국인 xwMOOC 교육 콘텐츠.

  • 컴퓨터 과학 언플러그드
  • 리보그 (러플의 후예)
  • 소프트웨어 카펜트리
  • 정보교육을 위한 파이썬
  • 데이터 과학
  • 기계학습
  • R 병렬 프로그래밍
  • xwMOOC 딥러닝

연락처: 궁금하신 내용은 전자우편을 보내주세요. kwangchun.lee.7@gmail.com


워크샵 일정

설문조사

워크샵 실시 전과 후에 다음 설문조사를 필히 완료해 주세요.

사전-워크샵 설문조사(Pre-workshop Survey)

사후-워크샵 설문조사(Post-workshop Survey)


첫째날

오전 스프레드쉬트, Open Refine Dr. Kari Jordan, 황문기 (Moonki Hwang) 교수
오후 SQL 이광춘

둘째날

오전 데이터 공학 - R 이광춘
오후 통계모형과 기계학습 - R 이광춘

후원

Etherpad: https://public.etherpad-mozilla.org/p/2C7QLduYod.
노트필기, 채팅, URL과 코드를 공유하는데 사용.


교육 스케쥴

1 일차

09:30 서강미래기술원 머신러닝 Lab (SIAT Machine Learning Lab) 소개
09:40 Data Carpentry Spreadsheets
10:20 커피 시간
10:30 OpenRefine
12:00 점심 시간
13:00 R 프로그래밍
14:30 커피 시간
15:00 R 프로그래밍
17:00 Wrap-up

2 일차

09:30 데이터 관리(SQL)
10:30 커피 시간
10:30 데이터 관리(SQL)
12:00 점심 시간
13:00 통계모형과 기계학습
14:30 커피 시간
15:00 통계모형과 기계학습
17:00 Wrap-up

교육과정

Data Carpentry Spreadsheets

데이터 관리(SQL)

R 프로그래밍

  • 왜 R인가?
  • 00. 시작전
  • 01. R 소개
  • 02. 데이터를 갖고 출발
  • 03. data.frame 소개
  • 04. dplyr로 데이터 총합과 분석
  • 05. ggplot2로 데이터 시각화
  • 06. R 과 SQL
  • Reference...

통계모형과 기계학습

  • 모형이란 무엇인가?
  • 선형대수와 회귀모형
  • 모형 성능과 평가
  • 전통 통계모형과 기계학습 모형
  • Reference...

설정

데이터 카펜트리 워크샵에 참여하기 위해서, 다음에 기술된 소프트웨어 툴체인을 구축하여 사전에 동작하게 만들 필요가 있다. 워크샵 시작전에 필요한 모든 소프트웨어가 설치되었는지 확인한다. (적어도 소프트웨어를 다운로드하거나 인스톨러를 준비) 워크샵이 마무리 되어 집에 갈 준비가 되면 데이터 과학 업무를 수행하는데 적합한 툴체인과 효율적인 작업흐름을 갖추게 된다.

설치 안내(영문)를 참고하여 준비한다. 국문

개요

편집기 (Editor)

프로그램 코드를 작성할 때, 코드 작성에 최적화된 나만의 편집기를 가는 것이 좋다. 일반적으로 코딩에 최적화된 편집기는 작성하는 프로그래밍 언어에 맞춰 키워드를 자동으로 색상을 달리하는 기능같은 것을 갖췄다. 맥 OS X나 리눅스 운영체제에는 전혀 직관적이지 않은 것으로 유명한 Vim이 기본 텍스트 편집기로 설정되어 있다. 만약 Vim 안에서 뭔가 잘못되어 꼼짝하지 못하게 된다면, 당황하지 말고 'ESC 키'를 누르고 ':q!' (콜론, 소문자 'q', 느낌표)를 타이핑하고 Enter 혹은 Return 키를 치게 되면 쉘로 다시 돌아오게 된다.

Bash 쉘 (Bash Shell)

Bash는 가장 일반적으로 사용되는 쉘 중의 하나다. 쉘을 사용하면 컴퓨터로 더 많은 작업을 더 빠르게 할 수 있는 동력을 제공받을 수 있다.

깃 (Git)

Git은 현존하는 최강의 버젼 제어 시스템(version control system)이다. Git을 사용해서 누가(who) 무엇(what)에 언제(when) 변경을 했는지 추적할 수 있다. 또한 github.com에 공유 혹은 공개 버젼의 코드를 쉽게 갱신할 수도 있다.

파이썬 (Python)

파이썬은 과학 컴퓨팅에서 점점 대중화되어 가고 있다. 그리고 읽기 쉬운 구문 때문에 일반적인 프로그래밍 개념을 가르치는데 매우 훌륭한 언어다. 파이썬 버젼 2.7로 워크샵에 사용하는데 여전히 가장 대중적으로 사용되고 있기 때문이다. 파이썬용 과학 패키지를 개별적으로 설치하는 것은 조금 어렵기 때문에, 한번에 설치(all-in-on installer)를 권장한다.

R

R은 데이터 탐색, 시각화, 통계 분석에 특기가 있는 강력한 프로그래밍 언어다. R과 소통하기 위해서 RStudio를 개발환경(interactive development environment, IDE)으로 사용한다.

SQL

SQL은 데이터베이스에 사용하는 되는 특별한 프로그래밍 언어다. SQLite로 불리는 간단한 데이터베이스 관리자를 웹 브라우져 플러그인 통하거나 직접 사용한다.

윈도우 (Windows)

파이썬 (Python)

  • Anaconda를 다운로드해서 설치한다.
  • 설치할 때 한가지만 빼고, 모두 기본 설정으로 된 것을 사용한다. 한가지 필수 선택 사항은 Make Anaconda the default Python를 체크하고 선택한다.

Git Bash

the installer을 다운로드 받아 실행해서 Git for Windows를 설치한다. Git과 Bash를 모두 사용할 수 있게 한다.

소프트웨어 카펜트리 인스톨러 (Software Carpentry Installer)

소프트웨어 카펜트리 인스톨러를 설치하기 위해서는 인터넷에 연결되어 있어야 한다.

파이썬과 Git Bash를 설치한 다음에

  • installer를 다운로드한다.
  • 로컬 컴퓨터에 다운로드 받으려면 마우스 우클릭하여 다른이름으로 저장한다.
  • 다운로드 받은 파일을 더블 클릭하여 실행한다.

편집기 (Editor)

nano는 소프트웨어 카펜트리 인스톨러가 설치한 편집기다. 워크샵 수업에 활용되는 기본 편집기다.

Notepad++는 윈도우 시스템에서 가장 대중적으로 사용되는 무료 프로그램 코드 편집기중의 하나다. 명령 라인 인터페이스(CLI, Command line Interface) Notepadd++를 싱행하기 위해서 시스템 경로에 설치 디렉토리가 추가되어 있어야 한다. 도움이 필요하면 강사에게 문의한다.

R

CRAN에서 .exe 파일을 다운로드 받아 실행한다. 또한, RStudio IDE도 설치한다.

SQLite

sqlite3 프로그램을 다운로드받아 예제를 실행하는 디렉토리에 함께 놓는다. 혹은, 아래에 파이어폭스 SQLite 브라우져 플러그인을 설치한다.

맥 OS X

Bash

모든 맥 OS에서 기본 쉘은 bash라서 별도로 설치할 필요가 없다. 터미널(/Applications/Utilities)에서 bash를 사용할 수 있다. 워크샵에서 터미널을 바로가기로 고정한다.

편집기 (Editor)

Text WranglerSublime Text를 추천한다. 만약의 경우에, 설치해야 하지만 nano를 사용할 수도 있다.

깃 (Git)

OS X 10.8 이상 버젼에서는 'Git for Mac' 인스톨러를 다운로드 받아 실행한다. OS X (10.5-10.7) 이전 버젼에서는 여기에서 OS 버젼에 맞는 가장 최신 인스톨러를 사용한다. 10.5 버젼에서는 Leopard 인스톨러, 10.6-10.7 버젼에서는 Snow Leopard 인스톨러를 사용한다.

파이썬 (Python)

  • Anaconda를 다운로드해서 설치한다.
  • 설치할 때 한가지만 빼고, 모두 기본 설정으로 된 것을 사용한다. 한가지 필수 선택 사항은 Make Anaconda the default Python를 체크하고 선택한다.
  • Troubleshooting: 만약 다음 오류 메시지와 조우한다면, "ValueError unknown locale: UTF-8", 어떻게 문제를 해결하는지 다음을 눌러 지침에 따라 처리한다.

R

CRAN 사이트에서 .pkg 파일을 다운로드 받아 실행한다. 또한, RStudio IDE도 설치한다.

SQLite

sqlite3는 맥 OS X에 기본으로 설치되어 추가 설치가 불필요하다. 혹은, 아래에 파이어폭스 SQLite 브라우져 플러그인을 설치한다.

리눅스 (Linux)

Bash

기본 쉘이 bash다. 하지만 만약 컴퓨터 설정이 다르게 되어 있다면, 터미널을 열어 bash를 타이핑한다. 별도의 추가 설치가 불필요하다.

깃 (Git)

만약 Git이 컴퓨터에서 사용할 수 없다면, 예를 들어, apt-get 혹은 yum) 같은 리눅스 배포판의 패키지 관리자를 통해서 설치한다.

편집기 (Editor)

Kate가 리눅스 사용자를 위한 한가지 선택지가 된다. 만약의 경우에, 설치해야 하지만 nano를 사용할 수도 있다.

R

CRAN 사이트에서 바이너리 파일을 다운로드 한다. 혹은 데비안/우분투 리눅스 배포판의 패키지 관리자를 통해 apt-get install r-base 혹은 yum install R 명령어로 설치한다. RStudio IDE도 설치한다.

SQLite

sqlite3는 리눅스에 기본으로 설치되어 추가 설치가 불필요하다. 혹은, 아래에 파이어폭스 SQLite 브라우져 플러그인을 설치한다.

파이썬 (Python)

모두 설치되어 있는 과학용 파이썬 인스톨러 Anaconda를 추천한다. (설치할 때 쉘을 사용해한다. 만약 혼자서 설치하는 것이 어렵다고 느껴진다면, 인스톨러를 다운로드 받아서 가져오면 워크샵에서 강사가 설치를 도와줄 것이다.)

  1. 운영 체제에 맞는 인스톨러를 다운로드하고 home 폴더에 저장한다.
  2. 터미널 윈도우를 연다.
  3. bash Anaconda-
    타이핑하고 탭(tab)을 누른다. 방금 전에 다운로드한 전체 파일명이 나타나야 한다.
  4. 엔터 키를 누른다. 텍스트 프롬프트로 설치한다. 화면 하단에 콜론이 있다면, 아래 화살표를 눌러 텍스트를 따라 내려간다. yes를 타이핑하고 엔터를 눌러 라이선스에 동의한다. 엔터를 다시 눌러 파일이 설치되는 초기 설치 장소에 동의한다. yes를 타이핑하고 엔터를 눌러 PATH 경로에 Anaconda 를 추가한다. (이렇게 함으로써 Anaconda가 기본 파이썬 IDE가 되었다.)

모든 운영체제 공통 사항

파이어폭스 SQLite 플러그인

명령어 라인 인터페이스 (CLI, Command Line Interface)에서 sqlite3를 사용하는 대신에 파이어폭스 플러그인을 사용할 수 있다. 플러그인 설치는 다음과 같다.

  • 파이어폭스 웹 브라우져를 시작한다.
  • 플러그인 홈페이지로 이동한다.
  • "Add Now" 버튼을 클릭한다.
  • 다운로드가 끝난 다음에 나타나는 대화창에 "Install Now"를 클릭한다.
  • 메시지가 표시되면, 파이어폭스를 재시작한다.
  • 플러그인이 올바르게 설치되었는지 점검하기 위해서, "Tools" 메뉴에서 "SQLite Manager"를 선택한다.

새로나온 파이어폭스 버젼에서는 메뉴바(menu bar)가 항상 표시되지는 않는다. 메뉴바를 보려면, 키보드에서 스페이스 바 옆에 있는 Alt키를 사용한다. 혹은 추가적인 도움은 지원 페이지 를 참조한다.

가상 컴퓨터 (Virtual Machine)

일부 강사분들은 컴퓨터에 소프트웨어를 설치하기 보다 가상 컴퓨터 (virtual machine, VM)을 학습 참가자가 사용하길 권장한다. 만약 강사분이 가상 컴퓨터를 선택해서 워크샵을 진행한다면, 다음 절차로 진행하세요.

  1. VirtualBox를 설치한다.
  2. 소프트웨어 카펜트리 VM image를 다운로드 한다. 경고: 파일 크기가 1.7 GByte로 매우 크다. 워크샵에 오기 전에 다운로드 하세요.
  3. "Import Appliance"를 선택하고, .ova 파일을 VirtualBox에 VM을 로딩하세요.

데이터 카펜트리에서 환경설치 문제점과 해결책에 대한 위키 페이지를 운영하고 있으니 설치시 참조한다.