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

Post on 28-May-2015

622 Views

Category:

Data & Analytics

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

공공데이터 수집, 가공하고 활용하기강철 <kang@cheol.net>

2014.06.27

http://tinyurl.com/codenamu140627-slide

발표자 소개

KAIST 전산학과

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

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

오늘의 목표

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

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

공공데이터란

공공데이터:

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

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

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

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

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

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

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

공공데이터의 활용

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

공공데이터의 활용

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

어떤 부분이 어려운가

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

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

→ 10분이면 됩니다.

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

도구: Google Fusion Table

데이터 활용 프로세스

기획

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

1. 목적이 주도

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. 웹사이트를 크롤링한다 .

오늘 다루진 않겠습니다.

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

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

장점:

- 쉽게 사용 가능하다.

단점:

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

2. API

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

장점:

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

단점:

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

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

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

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

1. 파싱parsing

2. 변환transform

3. 추출filtering

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

좋은 데이터, 나쁜 데이터

사람이이해하는데이터

컴퓨터가이해하는데이터

좋은 데이터

좋은 데이터, 나쁜 데이터

사람이이해하는데이터

컴퓨터가이해하는데이터

요기는 뭐지?

hwp, doc, jpg, pdf OUT

docx, xlsx OUT

html, txt OUT

DSL OUT

좋은 데이터 후보

좋은 데이터 형식YAML JSON

CSV

XML

진심이 담긴 농담…

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

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

좋은 데이터 형식

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

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

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

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

등등...

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

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

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

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

interactive 시각화에는 d3.js

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

좋은 걸 많이 보는 게 중요.

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

실습

1999년 ~ 2013년 실업률을

지도에 표시해보자!

스켈레톤 코드 다운받기:

http://tinyurl.com/codenamu140627

발행

가장 쉬운 방법:

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

오늘은

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

bl.ocks.org 라는 서비스를

이용해 보겠습니다 .

부록키워드

#부록 - 도구시각화

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

#부록 - 표준데이터 형식

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

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

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

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

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

시맨틱

schema.org, RDF, microdata 등.

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

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

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

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

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

email: kang@cheol.nettwitter: @cornchz

감사합니다

top related