Urdoing=͟͟͞♡d

데이터분석가를 꿈꾸는 박열심의 IT 공간

STUDY✏️/데이터과학

[R로 배우는 데이터 과학] 6장 데이터 시각화 :: 시험 대비 요약정리

박열심 2024. 3. 24. 10:34
반응형


<데이터 시각화>

데이터 시각화의 필요성

- 데이터 시각화는 반드시 거쳐야 하는 필수 과정

- 데이터 과학의 신뢰성을 향상시킬 수 있는 중요한 수단임

 

시각화의 기본 요소

- plot()

- col=요소 : 마커 색상을 요소의 종류에 따라 달리하고 싶을 때 사용

- pch=요소 : 마커 모양을 요소의 종류에 따라 달리하고 싶을 때 사용

- legend() : 범례

 

 

 

<시각화의 기본 기능>

- 시각화는 데이터를 올바르게 해석할 수 있게 해주는 동시에, 많은 양의 데이터를 효과적으로 관찰할 수 있게 해주는 역할을 함

- 신뢰도를 높이기 위해 점점 더 많은 데이터를 다루면서 복잡도도 높아짐

- 데이터를 여러 관점에서 보게 함 => 데이터에 포함된 여러 의미에 대한 통찰이 생김

- 다양한 시각화 방법은 데이터 과학의 핵심 기술 !

 

시각화의 효과

- 직관(insight)를 얻을 수 있다.

- 핵심을 명확하게 이해할 수 있다.

- 평균적인 경향과 더불어 이상값도 발견할 수 있다.

- 데이터에서 문제를 빨리 찾아낼 수 있다.

 

데이터의 직관적 이해

- 시각화를 할 수 있다면, 요약 통계를 추출하는 과정 없이도 데이터를 직관적으로 이해할 수 있음

- 원데이터의 속성들을 가능한 그대로 사용하여 모든 샘플들을 그래프에 표시

- 항목의 범위와 특징, 상대적인 차이, 대략의 상관관계도 확인할 수 있음

- size=요소 : 플롯 마커의 크기가 특정 요소(컬럼)의 크기에 비례하여 표시되도록 함

- alpha=투명도 : 마커의 투명도 설정

- facet_wrap(~요소) : 요소별로 플롯을 분할하겠다는 뜻, 요소는 범주형 변수여야 함 !

 

로그 스케일

- 한쪽에 몰려 있는 그래프를 넓고 고르게 확인할 수 있도록 함

- 상대적으로 큰 값은 작게, 작은 값은 크게 변환됨

- log10() => 베이스 R

- scale_x_log10() 또는 scale_y_log10() => dplyr 라이브러리

 

비교/순위

- coord_flip() : 그래프의 가로축과 세로축의 위치를 바꾸어 줌

 

상관관계

- 데이터에 내재된 의미와 인과관계를 설명하는 단서가 됨

- 모델링을 통해 미지의 결과를 예측하는 데 활용됨

 

 

 

<R 패키지>

베이직 그래픽 (Base Graphics)

- R 기본 패키지

- 차트를 출력하는 다양한 기능 제공

- 순차적으로 그래프를 쌓아감

- 단점 : 한 번 실행하면 취소를 못함. 미리 계획 필요

 

ggplot2

- 그래프 문법 (grammar of graphics) => 체계적인 방식

- 베이직 그래픽의 직관적인 장점 + Lattice의 자동설정 편리한 장점

- 단점 : 처음 배우기가 상대적으로 어려움

 

Lattice

- 전체 데이터를 보고 세로축, 마진, 여백 자동 계산 편리

- 여러 개 그래프를 동시에 하나의 화면에 그릴 때 편리

- 단점 : 순차적으로 쌓지 못함. 직관적이지 못함

 

 

 

<베이직 Graphics 함수>

고수준 그래픽 함수

- 하나의 완성된 플롯을 제공

- plot(), barplot(), boxplot(), dotchart(), qqplot(), pie(), hist(), barplot()

 

저수준 그래픽 함수

- 점, 선, 직선, 화살표, 문자 추가 등

- 범례, 제목, 축 눈금선 등 추가

- points(), lines(), locator(), abline(), arrows(), text(), title(), legend()

 

par() 함수 또는 layout() 함수

- 다중 패널 플롯 옵션 설정 함수

- mfrow, mfcol 옵션으로 플롯 영역 분할 설정

 

 

 

<시각화 도구 – 베이스 R>

- R에 내장된 기본적인 시각화 함수들만으로도 효과적인 시각화 결과를 비교적 쉽게 얻을 수 있음

- 단점 : 추가 옵션을 활용해야 그래프의 세부 설정이 가능함

 

plot()

- 가장 일반적인 그래프 시각화 함수

- type=“p, l, b, h” : (점, 선, 점+선, 막대) 모양으로 그래프 표현

 

pie/barplot 함수

- 구성 비율, 순위 등을 시각적으로 확인할 때 유용

- pie() : 파이 차트

- barplot() : 바 차트

- names.arg=요소 : x축의 이름을 특정 요소(컬럼)의 이름으로 지정

- muate(변수명=수식) : 새로운 변수를 만들어 쓰고 싶을 때 사용

 

matplot 함수

- 벡터나 행렬 데이터를 이용해 다중 플롯을 빠르게 구현하는 데 유용한 함수

- 플롯 여러 개가 그래프 하나에 동시에 표시됨 => 범례 지정하면 좋다.

- legend() : 범례

- lty 옵션 : 선 모양

- col 옵션 : 선 색깔

 

hist 함수

- 학습 데이터의 균형을 확인할 때 사용

 

scatterplot3d()

- 3차원 산점도

- scatterplot3d 패키지

 

treemap()

- 트리맵

- treemap 패키지

- treemap(데이터, index=, vSize=, vColor=, type=, title=)

 

버블차트

- 산점도 위에 버블의 크기로 정보를 표시하는 시각화 방법

- 산점도 : 2개의 변수에 의한 위치 정보를 표시

- 버블차트 : 3개의 변수 정보를 하나의 그래프에 표시

 

 

<시각화 도구 – ggplot2 라이브러리>

ggplot2

- 가장 많이 사용되는 시각화 라이브러리

- grammar of graphics => 시각화 작업을 더욱 직관적이고 효율적으로 !

- 하나의 ggplot 함수와 여러 개의 geom_xx 함수들이 + 로 연결된 형태

- ggplot(데이터, aes(x축, y축, ...)) + geom_point() + geom_line() + ...

 

ggplot 함수

- 시각화 객체를 생성하는 역할

- 내부에 aes를 통해 가로축(x)과 세로축(y)를 지정하도록 되어 있음

- fill 옵션 : 히스토그램 막대 내부를 채울 색

- color 옵션 : 히스토그램 막대 윤곽선 색

- binwidth 옵션 : 데이터 구간 간격

ex) fill=Species

=> Species(품종)별로 색을 다르게 설정하겠다는 뜻

=> Species는 범주형 타입이라서 1, 2, 3으로 변환될 수 있다.

 

aes 함수

- 플롯의 가로축과 세로축에 대응될 데이터의 항목을 지정

- col이나 size 옵션을 활용해 플롯의 색상이나 마커의 크기 등을 대응할 수 있음

 

geom_point()

- 데이터를 점으로 표시하는 플롯을 그림

 

geom_line()

- 데이터를 선으로 표시

 

geom_bar()

- 데이터를 막대그래프로 표시

 

geom_histogram()

- 히스토그램 전용 플롯 함수

 

stat=“identity”

- 히스토그램은 세로축에 빈도가 표시되므로, 세로축에 대응될 변수를 별도로 지정하지 않아야 함

- x와 y의 값이 모두 지정된 그래프를 그리고 싶다면, geom_histogram 혹은 geom_bar 함수의 내부에 stat=“identity”를 넣어야함

position=“dodge”

- 히스토그램에서 막대를 나란히 옆으로 표시하고 싶은 경우

 

position=“stack”

- 히스토그램 기본값은 막대를 위로 쌓아 올리도록 되어 있음

 

geom_boxplot()

- 여러 항목의 분포를 한꺼번에 관찰하는 함수

- 이상값 파악에 유용

 

scale_x_log10() 또는 scale_y_log10()

- 가로 또는 세로축을 로그 스케일로 변환

 

coord_flip 함수

- 플롯의 방향을 전환

- x축이 세로에, y축이 가로에 놓아지도록 전환

 

scale_fill_brewer 함수

- 색상 팔레트

- RColorBrewer 라이브러리

- scale_fill_brewer(palette=“팔레트이름”)

 

reorder 함수

그래프에 표시되는 데이터의 순서를 조정

 

 

 

<시각화를 이용한 데이터 탐색>

- 시각화를 통해 종종 다른 방식으로는 얻을 수 없는 통찰을 얻을 수 있음

- 시각적 탐구는 과거에 비해 훨씬 흥미로운 작업

- 시각적 탐구를 할 때는 찾고자 하는 아이디어가 무엇인지 아직 확실하지 않기 때문에, 가능하면 데이터를 폭넓게 시각화하는 경향이 있음

- 여러 개의 데이터를 결합하여 활용하는 경우도 있음

- 시각화의 본질 => 데이터의 의미를 통찰하고 분석해내는 시각적 탐구

 

 

반응형