공공데이터 활용을 위한 "tech 워크숍" 2회 - 공공데이터 수집,...

28
공공데이터 수집, 가공하고 활용하기 강철 <[email protected]> 2014.06.27 http://tinyurl.com/codenamu140627-slide

Upload: cheol-kang

Post on 28-May-2015

620 views

Category:

Data & Analytics


5 download

TRANSCRIPT

Page 1: 공공데이터 활용을 위한 "Tech 워크숍" 2회 - 공공데이터 수집, 가공하고 활용하기

공공데이터 수집, 가공하고 활용하기강철 <[email protected]>

2014.06.27

http://tinyurl.com/codenamu140627-slide

Page 2: 공공데이터 활용을 위한 "Tech 워크숍" 2회 - 공공데이터 수집, 가공하고 활용하기

발표자 소개

KAIST 전산학과

Team POPONG에서 개발하고 있습니다.

어제 군복무 완료했습니다.

Page 3: 공공데이터 활용을 위한 "Tech 워크숍" 2회 - 공공데이터 수집, 가공하고 활용하기

오늘의 목표

데이터 활용을 위해 무엇이 필요한가 감 잡기

원하는 게 있을 때 직접 데이터 수집 ~ 가공 ~ 분석 ~ 시각화

Page 4: 공공데이터 활용을 위한 "Tech 워크숍" 2회 - 공공데이터 수집, 가공하고 활용하기

공공데이터란

공공데이터:

공공기관이 생성 또는 취득하여 관리하고 있는, 전자적 방식으로 처리된 자료.

각 기관은 시민에게 적극적으로 공개할 의무가 있다.

단, 다음의 경우 공개 제한 가능

- 비공개 대상 정보 (국방/국익 위협, 기밀, 개인정보 등)

- 제3자에게(도) 권리가 있는 경우

※ CC 윤종수 리드님 강연에 자세히 설명되어 있음 http://goo.gl/FKEFlL

출처: 정보공개법, 공공데이터법

Page 5: 공공데이터 활용을 위한 "Tech 워크숍" 2회 - 공공데이터 수집, 가공하고 활용하기

공공데이터의 활용

안심병원 ansim.me (코드나무 2012)

Page 6: 공공데이터 활용을 위한 "Tech 워크숍" 2회 - 공공데이터 수집, 가공하고 활용하기

공공데이터의 활용

대한민국 정치의 모든 것 pokr.kr (Team POPONG)

Page 7: 공공데이터 활용을 위한 "Tech 워크숍" 2회 - 공공데이터 수집, 가공하고 활용하기

어떤 부분이 어려운가

'...??? 뭘 어떻게 시작해야 할지 모르겠어요.'

Page 8: 공공데이터 활용을 위한 "Tech 워크숍" 2회 - 공공데이터 수집, 가공하고 활용하기

예제 - "어렵지 않아요"주제: 2014년 1사분기 대한민국 각 시도별 실업률을 지도에 표시해보자 .

→ 10분이면 됩니다.

데이터 소스: 통계청 http://tinyurl.com/korean-unemployment

도구: Google Fusion Table

Page 9: 공공데이터 활용을 위한 "Tech 워크숍" 2회 - 공공데이터 수집, 가공하고 활용하기

데이터 활용 프로세스

Page 10: 공공데이터 활용을 위한 "Tech 워크숍" 2회 - 공공데이터 수집, 가공하고 활용하기

기획

기획 = "무엇을 만들 것인가"

1. 목적이 주도

2. 기술이 주도

만약 아직 목적이 없다면,

기술을 쌓아서 ‘목적을 볼 수 있는 눈’을 만드는 것도 방법.

Page 11: 공공데이터 활용을 위한 "Tech 워크숍" 2회 - 공공데이터 수집, 가공하고 활용하기

데이터 수집1. 공개된 데이터를 이용한다.

- 서울 열린데이터광장 http://data.seoul.go.kr/

- 공공데이터포털 http://data.go.kr/

- 국회정보시스템 http://likms.assembly.go.kr/

- 통계청 http://kostat.go.kr/

- e-나라지표 http://index.go.kr

- 팀포퐁 GitHub https://github.com/teampopong

- 다음 API http://dna.daum.net/apis/dashboard

- … Google!

2. 웹사이트를 크롤링한다 .

오늘 다루진 않겠습니다.

Page 12: 공공데이터 활용을 위한 "Tech 워크숍" 2회 - 공공데이터 수집, 가공하고 활용하기

데이터셋 vs. API1. 데이터셋

파일로 다운로드되는 bulk 데이터

장점:

- 쉽게 사용 가능하다.

단점:

- 변화하는 데이터의 업데이트가 불가

2. API

요청시 on demand로 데이터를 제공

장점:

- 변화하는 데이터를 지속적으로 업데이트 가능하다.

단점:

- 사용하기 위해서 프로그래밍이 필요하다.

Page 13: 공공데이터 활용을 위한 "Tech 워크숍" 2회 - 공공데이터 수집, 가공하고 활용하기

예제 - 오픈 API팀포퐁 API를 이용해서 정치인들을 검색해 보겠습니다.

API 문서 주소: http://data.popong.com/

Page 14: 공공데이터 활용을 위한 "Tech 워크숍" 2회 - 공공데이터 수집, 가공하고 활용하기

데이터 가공우리가 원하는 형태로 주어지지 않는다.

1. 파싱parsing

2. 변환transform

3. 추출filtering

이런 과정들을 통해, 내가 원하는 "좋은 데이터"의 형태로 만든다.

Page 15: 공공데이터 활용을 위한 "Tech 워크숍" 2회 - 공공데이터 수집, 가공하고 활용하기

좋은 데이터, 나쁜 데이터

사람이이해하는데이터

컴퓨터가이해하는데이터

좋은 데이터

Page 16: 공공데이터 활용을 위한 "Tech 워크숍" 2회 - 공공데이터 수집, 가공하고 활용하기

좋은 데이터, 나쁜 데이터

사람이이해하는데이터

컴퓨터가이해하는데이터

요기는 뭐지?

hwp, doc, jpg, pdf OUT

docx, xlsx OUT

html, txt OUT

DSL OUT

좋은 데이터 후보

Page 17: 공공데이터 활용을 위한 "Tech 워크숍" 2회 - 공공데이터 수집, 가공하고 활용하기

좋은 데이터 형식YAML JSON

CSV

XML

Page 18: 공공데이터 활용을 위한 "Tech 워크숍" 2회 - 공공데이터 수집, 가공하고 활용하기

진심이 담긴 농담…

‘XML은 사람과 컴퓨터, 양쪽 모두가 읽기 어렵게

만듦으로써 양쪽의 균형을 맞췄습니다 .’

Page 19: 공공데이터 활용을 위한 "Tech 워크숍" 2회 - 공공데이터 수집, 가공하고 활용하기

좋은 데이터 형식

Page 20: 공공데이터 활용을 위한 "Tech 워크숍" 2회 - 공공데이터 수집, 가공하고 활용하기

데이터 분석간단하게는 간단한 통계,

여러 데이터를 엮어서 연관성 분석을 할 수도 있고,

내지는 사회학에 기반한 사회망분석(Social Network Analysis),

나아가, 겉으로는 보이지 않던 숨은 정보(패턴)를 찾아내는 데이터마이닝

등등...

'기획' 단계에서 검증하고 싶었던 의도에 따라 적합한 분석을 실시한다.

Page 21: 공공데이터 활용을 위한 "Tech 워크숍" 2회 - 공공데이터 수집, 가공하고 활용하기

데이터 시각화엑셀도 좋은 도구입니다 .

Tableau나 Spotfire, Gephi 등 전문 소프트웨어

애니메이션이 필요할 땐 processing.js

interactive 시각화에는 d3.js

수많은 도구와 수많은 레퍼런스, 수많은 방법.

좋은 걸 많이 보는 게 중요.

https://github.com/mbostock/d3/wiki/Tutorials

Page 22: 공공데이터 활용을 위한 "Tech 워크숍" 2회 - 공공데이터 수집, 가공하고 활용하기

실습

1999년 ~ 2013년 실업률을

지도에 표시해보자!

스켈레톤 코드 다운받기:

http://tinyurl.com/codenamu140627

Page 23: 공공데이터 활용을 위한 "Tech 워크숍" 2회 - 공공데이터 수집, 가공하고 활용하기

발행

가장 쉬운 방법:

- 스크린샷 찍어서 이미지 업로드

오늘은

동적 시각화를 배포할 수 있는

bl.ocks.org 라는 서비스를

이용해 보겠습니다 .

Page 24: 공공데이터 활용을 위한 "Tech 워크숍" 2회 - 공공데이터 수집, 가공하고 활용하기

부록키워드

Page 25: 공공데이터 활용을 위한 "Tech 워크숍" 2회 - 공공데이터 수집, 가공하고 활용하기

#부록 - 도구시각화

Google Fusion Table

Google Charts

highcharts

d3.js

gephi

processing(.js)

데이터 변환

ogr2ogr

pdftotext

데이터 수집

import.io

Scrapy

wget

언어

Python

R

Matlab

데이터 분석

Tableau

Spotfire

SPSS

SAS

발행

GitHub Pages

Gist

JSFiddle

Page 26: 공공데이터 활용을 위한 "Tech 워크숍" 2회 - 공공데이터 수집, 가공하고 활용하기

#부록 - 표준데이터 형식

YAML, JSON, XML 등은 다 표준이 있다.

데이터 호환성은 표준을 지킴으로써 따라온다.

1. 공개 라이브러리로 데이터를 쉽게 읽고 쓸 수 있고

2. 내가 공개한 데이터를 사람들이 쉽게 사용할 수 있다.

표준을 지키는 것이 자신에게도 이득!

시맨틱

schema.org, RDF, microdata 등.

데이터에서 정보, 관계를 추출해내기 쉬워진다.

Page 27: 공공데이터 활용을 위한 "Tech 워크숍" 2회 - 공공데이터 수집, 가공하고 활용하기

#부록 - 저작권데이터 사용할 때 저작권 조심하세요 .

오픈소스/오픈데이터는 공짜로 맘대로 가져가서 사용해도 되는 것 (x)

→ 저작권자가 허용한 범위 내에서만 사용해야 한다.

원작자를 반드시 표시하도록 합니다.