
<데이터 시각화>
데이터 시각화의 필요성
- 데이터 시각화는 반드시 거쳐야 하는 필수 과정
- 데이터 과학의 신뢰성을 향상시킬 수 있는 중요한 수단임
시각화의 기본 요소
- 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 함수
그래프에 표시되는 데이터의 순서를 조정
<시각화를 이용한 데이터 탐색>
- 시각화를 통해 종종 다른 방식으로는 얻을 수 없는 통찰을 얻을 수 있음
- 시각적 탐구는 과거에 비해 훨씬 흥미로운 작업
- 시각적 탐구를 할 때는 찾고자 하는 아이디어가 무엇인지 아직 확실하지 않기 때문에, 가능하면 데이터를 폭넓게 시각화하는 경향이 있음
- 여러 개의 데이터를 결합하여 활용하는 경우도 있음
- 시각화의 본질 => 데이터의 의미를 통찰하고 분석해내는 시각적 탐구
'STUDY✏️ > 데이터과학' 카테고리의 다른 글
[R로 배우는 데이터 과학] 5장 데이터 가공 :: 시험 대비 요약정리 (0) | 2024.03.24 |
---|---|
[R로 배우는 데이터 과학] 4장 데이터 취득과 정제 :: 시험 대비 요약정리 (2) | 2024.03.23 |
[R로 배우는 데이터 과학] 3장 R의 데이터형과 연산 :: 시험 대비 요약정리 (2) | 2024.03.23 |
[R로 배우는 데이터 과학] 2장 데이터 과학으로 풍덩 :: 시험 대비 요약정리 (2) | 2024.03.22 |
[R로 배우는 데이터 과학] 1장 데이터 과학 알아보기 :: 시험 대비 요약정리 (0) | 2024.03.22 |