728x90
공공데이터의 뜻과 관리 지침
- 공공데이터의 뜻과 공공데이터법
- 공공데이터법: 공공데이터의 제공 및 이용 활성화에 관한 법률
- 공공기관이 일상적 업무수행의 결과물로 생성 또는 취득하여 관리하고 있는 다양한 형태의 모든 자료 또는 정보
- 공공기관장은 기계 판독(Machine-readable)이 가능한 형태의 공공데이터를 정비하고자 노력해야 함
- 기계 판독과 Open Data 5 Star
- 🌟: 특정 SW에서 읽기만 가능, 자유로운 수정 및 변환 불가 / ex. PDF -> 미충족 포맷
- 🌟 🌟 : 특정 SW에서 읽기, 수정, 변환 가능 / ex. HWP, JPG, PNG, MP3
- 🌟 🌟 🌟 : 적어도 하나의 비독점적 SW에서 읽기, 수정, 변환 가능 / ex. CSV, JSON, XML
- 🌟 🌟 🌟 🌟 : URI에 기초하여 데이터의 속성 및 관계에 대해 기술 / ex. RDF
- 🌟 🌟 🌟 🌟 🌟 : 웹상의 다른 데이터와 연결되어 제공되는 데이터 / ex. LOD
- star 개수가 많을 수록 더 개방적
- 공공데이터가 우리 곁에 오기까지
- 생성수집
- 기관이 생성하는 데이터를 기계 판독이 가능한 꼴로 정비
- 데이터 개방을 위해 공공데이터의 제공대상을 정의
- 처리
- 제공하고자 하는 데이터가 법적으로 공공데이터에 해당하는지 검토
- 제공제외대상이 포함되어 있는지, 저작권을 확보했는지 등을 확인
- 등록
- 공공데이터목록등록관리시스템에 제공대상 목록 및 데이터를 등록
- 제공
- 기관의 데이터를 국민과 기업 등을 대상으로 개방 및 제공하는 단계
- 사후관리
- 제공 단계 이후 공공데이터 변경사항 및 갱신주기 등을 반영
- 데이터 이용에 있어서의 불편 사항 접수 및 분쟁 조정 처리
- 생성수집
- 공공데이터 제공 신청과 그 절차
공공데이터의 수집과 활용
- 공공데이터를 얻기 위한 여러 가지 경로
- 종합: 공공데이터포털 https://www.data.go.kr/
- 서울: 서울 열린데이터 광장 https://data.seoul.go.kr/index.do
- 기상: 기상자료개방포털 https://data.kma.go.kr/cmmn/main.do
- 지리: V-WORLD 디지털 트윈국토 https://www.vworld.kr
- 보건: 보건복지데이터포털 https://data.kihasa.re.kr/kihasa/main.html
- 치안: 스마트 치안 빅데이터 플랫폼 https://www.bigdata-policing.kr
- 교통: 국가교통DB https://www.ktdb.go.kr/www/index.do
광역 수준의 다른 자체 포털이 있는지 검토해볼 필요가 있음
- 웹 크롤링과 OpenAPI
- 파일 형태가 아닌 OpenAPI 방식으로 공개된 데이터도 공공데이터포털에 존재
- API 활용을 위한 인증 키 신청 후 Python을 이용하여 데이터 수집 가능
- Web Crawing
- BeautifulSoup을 이용한 정적 크롤링
- Selenium을 이용한 동적 크롤링
- OpenAPI를 이용한 데이터 접근 및 수집
- XML 형식 데이터의 수집과 처리
import requests
import pandas as pd
from bs4 import BeautifulSoup
url1 = 'http://apis.data.go.kr/B553530/BEEC/BEEC_01_LIST?serviceKey='
key = 'RRDg18a7noGpfK%2F1rmFBRX8ms0%2BbAL0PO1VqCEhrWak%2BKISmaIZf%2BcHsT2FMSFtFnm%2FvLNlPtBrNZoWdTt6jfA%3D%3D'
url2 = '&apiType=XML&q1=2022&q2=2022&q3=1&q4=1&q5=9'
url = url1 + key + url2
result = requests.get(url)
result = result.content
soup = BeautifulSoup(result, 'lxml-xml')
soup
df = pd.read_xml(result, xpath='.//item')
df
- JSON 형식 데이터의 수집과 처리
import requests
import json
url1 = 'http://apis.data.go.kr/B553530/BEEC/BEEC_01_LIST?serviceKey='
key = 'RRDg18a7noGpfK%2F1rmFBRX8ms0%2BbAL0PO1VqCEhrWak%2BKISmaIZf%2BcHsT2FMSFtFnm%2FvLNlPtBrNZoWdTt6jfA%3D%3D'
url2 = '&apiType=JSON&q1=2022&q2=2022&q3=1&q4=1&q5=9'
url = url1 + key + url2
result = requests.get(url)
result = result.json()
result
'대학공부 > 데이터과학' 카테고리의 다른 글
여러 가지 방법을 이용한 분류 (0) | 2024.04.29 |
---|---|
개인정보 비식별화와 데이터 윤리 (0) | 2024.04.08 |
의사결정나무를 이용한 분류와 예측 (1) | 2024.04.01 |
선형 회귀를 이용한 예측과 그 응용 (0) | 2024.03.25 |
탐색적 데이터 분석(EDA)과 데이터 시각화 (1) | 2024.03.24 |