본문 바로가기
Database & Bigdata/공공 빅데이터 청년 인턴십

[ DAY 15 ] 빅데이터 분석Tool을 이용한 분석 ( BigZAMi, QGIS 분석 실습 )

by z.1nee 2020. 9. 11.
SMALL

[ 빅데이터 분석 및 분석 Tool 개요 ]

1. 빅데이터 분석의 개요

- 빅데이터란 ?

기존 데이터베이스 관리도구의 능력을 넘어 대량(테라, 제타)의 정형 또는 비정형 데이터

 

- 빅데이터 분석이란?

대량(수십 테라바이트)의 정형 또는 비정형 데이터로부터 가치를 추출하는 기술(과정)

 

- 빅데이터 분석 과정

소스 -> 수집/저장 -> 처리/저장 -> 분석 -> 표현

 

2. 빅데이터 분석 툴의 개요

- 빅데이터 분석에서 Tool

데이터 수집 데이터 정제 데이터 분석 데이터 표현
- Google Spreadsheet
- Python
- R
- OpenRefine
- Python
- R
- BigZAMi
- Power BI
- Python
- R
- BigZAMi
- Tableau
-D3.js
- Kibana
- QGIS
- Power BI
- Python
- R
- BigZAMi

 

 

3. 빅데이터 분석 Tool, Python을 이용한 시각화

- 아이리스(iris) 데이터

  • 통계학자인 피셔(Fisher) 가 소개한 데이터

  • 붓꽃의 3가지 종(setosa, versicolor, virginica)에 대해 꽃받침 sepal과 꽃잎petal의 길이를 정리한 데이터

  • 이해하기 쉬우며 크기가 작고 기계학습에서 인기있는 분야 중 하나인 분류에 적합한 데이터

  • 다른 데이터 분석이나 기계 학습 관련 라이브러리에서 자주 사용되고 있으므로 이 데이터를 알아 두는 것 자체가 의미

 

- 아이리스(iris) 데이터 시각화

from sklearn.datasets import load_iris # scikit-learn의 샘플 데이터 로드를 위한 import 

import pandas as pd # 데이터 프레임으로 변환을 위해 임포트

iris = load_iris()

# feature_names와 target을 레코드로 갖는 데이터프레임 생성
df = pd.DataFrame(data=iris.data, columns=iris.feature_names)
df['target'] = iris.target

# 0.0, 1.0, 2.0으로 표현된 label을 문자열로 매핑
df['target'] = df['target'].map({0:"setosa", 1:"versicolor", 2:"virginica"})

# 시각화를 위한 패키지 임포트 
import matplotlib.pyplot as plt
import seaborn as sns

# 슬라이싱을 통해 feature와 label 분리
x_data = df.iloc[:, :-1]
y_data = df.iloc[:, [-1]]

# 시각화 - 박스플롯
sns.boxplot(x="target", y="petal width (cm)", data=df)
plt.show()

 

[ 빅데이터 분석 및 분석 Tool, BigZAMi 개요 ]

 

1. 빅데이터 분석 Tool, BigZAMi의 개요

- BigZAMi란 ?

블록코딩 기반의 빅데이터 분석 솔루션

 

- BigZAMi 주요 특징

  • 사용자 관점의 UI/UX 
    • R 코드의 블록화
    • 그래프에서의 데이터의 쉬운 처리
    • 알고리즘 시뮬레이션/추천
  • 마우스 실행만으로 빅데이터 분석
    • 데이터 불러오기, 데이터 전처리, 다양한 그래프, 분석 알고리즘 클릭으로 실행

- BigZAMi 주요기능

  • 손쉬운 업로드 (CSV, RDS, TEXT, DB Connect)
  • 다양한 데이터 전처리 기능 (결측치 처리, ROW 병합, 이상치 처리 등)
  • 다양한 그래프 (라인 그래프, 파이 그래프, 상자 그래프, 산점도, 버블차트, 워드 클라우드 등)
  • 다양한 분석 모델 (상관 분석, 연관 분석, 회귀 분석, Nnet, CNN 등)

 

2. 빅데이터 분석 Tool, BigZAMi 둘러보기

www.bigzami.com/

 

bigzami 홈페이지

고급 분석 기술이 없는 사람들도 다양한 분야에 데이터 분석을 적용함으로써 최적의 의사결정과 투자 효율성 증대 등 비즈니스 생산성을 극대화하는 것이 가능합니다.

www.bigzami.com

 

- 타이타닉 샘플 데이터 불러오기

 

- 데이터 전처리 : 자료 요약

워크플로우
자료 요약

 

- 데이터 전처리 : 결측치 처리

워크플로우
결측치 처리

 

결측치 처리 후 자료 요약 (Embarked 칼럼에 결측치 없어짐)

 

 

- 데이터 시각화  : 막대그래프

워크플로우
막대그래프

 

 

[ 빅데이터 분석 및 분석 Tool, QGIS 개요 ]

1. 빅데이터 분석 Tool, QGIS 개요

- QGIS란 ?

오픈소스 기반의 공간 데이터 조회, 편집, 분석 기능을 제공하는 지리정보체계 소프트웨어

  • QGIS (Quantum GIS)
  • 게리셔먼이라는 개발자가 2002년 부터 개발
  • 지원 운영 체제 : MS Windows, Mac OSX, Linux, Unix
  • 라이선스 : GPL
  • 기반 언어 : C++, Python, QT Framework로 개발

https://qis.orgqgis.org/ko/site/forusers/download.htmlqgis.org/ko/site/index.html

 

QGIS 다운로드

 

qgis.org

https://docs.qgis.org/2.18/ko/docs

 

QGIS 2.18 용 문서

 

docs.qgis.org

 

- QGIS 주요기능 

QGIS는 핵심기능과 플러그인의 형태로 제공되는 많은 GIS 공통 기능을 제공함

  • 데이터 보기
    • Vector data(PostGIS, SpatialLIte, MSSQL Spatial, Oracle Spatial 등 공간 DB 데이터, ESRI Shape 파일)
    • Raster date(GeoTIFF, ERDAS IMG, Arclnfo ASCII GRID, JPEG, PNG 등)
    • GRASS 데이터베이스가 지원하는 GRASS Raster & Vector Data
    • OGC 웹 서비스로 서비되는 온라인 공간 데이터
  • 데이터 탐색 및 지도 제작
    • QGIS 브라우저, 객체 식별/선택, 속성 편집/보기/검색 등
  • 데이터 생성, 편집, 관리 및 저장
    • Shape 파일 및 GRASS 벡터 레이어 생성, 편집 기능 등
  • 데이터 분석
    • 벡터 분석, 샘플링, 공간 처리(geoprocessing), 도형 및 데이터베이스 관리
  • 온라인 맵 발행
    • WMS, WMTS, WMS-C, 또는 WFS/WFS-T 클라이언트 및 WMS, WCS 또는 WFS 서버로 사용
  • 플러그인을 통한 기능 확장
    • 기본 플러그인 외 다양한 3rd Party 플러그인 존재
  • Python Console
    • 사용자가 직접 스크립트를 작성해 새로운 기능 제작 및 활용 가능

 

- QGIS 데이터 주요 포맷

 

 

[ 빅데이터 분석 및 분석 Tool을 이용한 모델링의 개요 ]

- 분석 모델링의 분석 기법의 이해

 

- 알고리즘 접근 방법

 

 

[ 빅데이터 분석 및 분석 Tool, QGIS를 이용한 모델링의 개요 ]

1. 경기도 학교 안전지역

 

- 네이버 지도를 불러와서 기본 지도 정보로 사용

웹 > TMS for Korea > Naver Maps v5 > Naver Street

 

- 레이어 추가하기 : 구분자로 분리된 텍스트 파일(CSV)에서 불러오기

레이어 추가하기 - 구분자로 분리된 텍스트 파일(CSV)에서 불러오기

csv 파일 추가

* 예시데이터에 한글이 깨져서 보이면 인코딩 EUC-KR로 변경하기

* 파일 포맷은 CSV(쉼표로 구분된 값)로 선택해 필드를 쉼표 기준으로 불러옴

 

 

- 지오메트리(CRS) 설정

도형 정의 > 포인트 좌표 > X필드 : 경도, Y필드 : 위도 선택

* 도형 좌표계 : WGS 84

 

Naver Street 우측 마우스 > 좌표계 설정 > 레이어 좌표계 설정

 

선택된 좌표계 확인

좌표계 : WGS 84/ Pseudo-Mercator  /  권한 ID : EPSG:5181

 

초등학교 주변 어린이 보호구역 오른쪽 마우스 > 속성

 

일반정보 > 좌표 체계 선택하여 WGS84 지오메트리 설정함

좌표계 : WGS 84 / 권한 ID : EPSG:4326

 

 

- 경기도 학교 안전지역 위치를 공간 시각화해 그 분포를 최종 확인

공간상에서 안전지역으로 설정된 위치를 시각화해서 확인 가능함

 

- 공공데이터의 여러 조건을 필터 연산 설정

Safetyzone_GG(경기도 학교 안전 지역 위치) 우클릭 > 필터 설정 > 쿼리 작성기

CCTV 설치대수가 2 이상인 것만 표시
필터 적용 후 시각화

 

레이어의 스타일을 분류값 선택으로 하여 공간시각화 결과 확인

레이어 오른쪽 마우스 클릭 > 속성 > 심볼 > 분류값 사용 선택

분류값 사용 선택 > 값 선택 ( CCTV 설치 여부 ) > 분류 선택

* Y, N에 따른 심볼 색상 구분됨

 

분류값 선택(CCTV 설치여부)에 따른 다양한 공간 시각화 결과 확인 가능

 

레이어의 스타일을 열 지도로 선택으로 하여 공간시각화 결과 확인

레이어 오른쪽 마우스 클릭 > 속성 > 심볼 > 열 지도 선택

색상, 불투명도 설정
짙은 색으로 표현된 곳이 안전지역으로 설정된 밀도가 높은 지역으로 판단됨

 

2. 경기도 어린이 놀이터 안전사고 다발지역 

- SHP 파일변환

1. 기본 지도 레이어 추가 - 네이버 하이브리드 지도 불러오기

웹 > TMS for Korea 선택 > Naver Maps 선택 > Naver Hybrid 선택

 

2. 어린이 사고위험율 SCV 데이터 불러오기

- CSV 파일을 열어 네이버 지도 위에 layer를 올려 공간시각화 확인

레이어 추가 > 인코딩 설정, 경도, 위도 설정

3. 공간데이터 가시화를 위한 공간 데이터 변경 (CSV - SHP파일)

레이어 우클릭 > 내보내기 > 객체를 다른 이름으로 저장

포맷, 인코딩, 파일 이름 설정

 

4. SHP파일과 Naver Hybrid 지도를 통합해 공간 시각화 결과 확인

 

 

- 벡터연산

1. 행정_읍면동.shp 데이터파일 불러오기

 

2. 행정_읍면동SHP 데이터 위에 히트맵 레이어 올리기

child_playground를 최상단에 행정_읍면동을 중간에 Naver Hybird를 최하단에 배치

* child_playground layer는 열지도(히트맵)으로 설정 (속성 > 심볼 > 열지도선택)

 

 

3. 행정_읍면동 SHP +어린이안전도사고발생분석의 벡터 연산

벡터 > 데이터 관리 도구 > 위치에 이용하여 속성을 조인

대상 레이어 : 가시화하고자 하는 공간 벡터 레이어 선택

조인 레이어 : 결합하고자 하는 공간 벡터 레이어 선택

 

 

- 스타일 변환

1. 가시화된 결과에 벡터레이어의 스타일 정하기

레이어 오른쪽 마우스 > 속성 > 스타일 단계 구분 선택

 

컬럼 : 표현하고자 하는 속성 선택

색상표 : 표현하고자 하는 색상표 선택

모드 : 등간격으로 선택 후 분류 선택

클래스 : 구분하고자하는 단계 선택

 

 

2. 가시화된 결과 벡터레이어의 라벨 설정

레이어 오른쪽 마우스 > 속성> 라벨 > Show labels for this layer 선택

 

Label with에서 EMD_KOR_NM 선택

 

 

3. 최종 가시화 결과 확인

댓글