728x90
1. 데이터 시각화가 중요한 이유
시각화는 다른사람과 커뮤니케이션을 하고 데이터를 분석하는 데에 사용이 된다
2. 시각화 종류
a. 산점도 (Scatter Plot)
산점도는 변수간의 관계를 가장 직관적으로 볼 수 있는 시각화 방법
데이터 분포를 파악하기 위해 산점도를 그려봄
직선 혹은 곡선 형태로 추세선도 그릴 수 있다
b. 꺾은선 그래프 (Line Chart)
각 데이터 포인트를 선으로 연결한 시각화 방법.
x값에 따른 y값의 변화량을 나타내고자 할 때 사용
c. 막대 그래프 (Bar Chart)
x축이 범주형 변수(고유한 값이나 범주 수가 제한된 변수)일 때에 사용
값의 변화 보다는 x값에 따른 y값의 볼륨 자체를 더 의미있게 나타내고자 할때 사용
개별적으로 막대를 그래는 방법과 한 막대에 쌓아 올려(stacked) 비중을 표현하는 방법이 있다
d. 히스토그램 (Histogram)
막대 그래프와 유사해 보이지만 전혀 다른 시각화 방법
(막대 그래프는 x축이 범주형인 경우에 사용하고, 히스토그램은 y축이 수치형 변수인 경우에 사용).
y축이 수치형 변수 일때 사용
x축: 각 계급을 나타내고, y축: 그 계급에 속하는 데이터의 빈도수
히스토그램 = 도수분포표
e. 파이 차트 (Pie Chart)
각각의 비율을 쉽게 알아볼 수 있는 시각화 방법
데이터 종류가 많아지면 너무 복잡해지고, 각각의 비율 차이가 시각적으로 한 눈에 잘 구분되지 않는다
이런 부분에 있어서 데이터의 종류가 많아질 때조심을 해야한다(ex. 좋지 않은 파이 차트 : 두 번째 그림)
f. 박스 플롯 (Box Plot)
Box Plot = Box and Whisker Plot =상자 그림 = 상자 수염 그림
사분위수, 최대 최소값, 이상치 등을 나타내 데이터 분포를 한 눈에 파악할 수 있다
여러 박스 플롯을 한 평면상에 그려서 서로 비교할 수도 있다
3차 과제 (Northwind 데이터 분석 보고서 작성 )
Northwind 데이터에 대한 가설을 3개 정하고, 그 가설에 대한 핵심 지표 및 보조 지표를 설정한 뒤, 그 지표를 분석해 가설에 대한 분석 보고서를 PowerPoint나 Word로 작성해 주세요.
각 가설은 서로 연결되는 하나의 흐름을 가져야 합니다.
'가설 수립 > 가설을 검증하기 위한 지표 선정 > 지표 측정 및 분석 > 분석 결과 및 결론(인사이트)' 의 순서를
꼭 지켜주세요.
1. 데이터 탐색
select * from orders
Select count(1) from orders
전체 48개의 데이터가 존재
2. 가설 1 : 분기별로 orders 수의 차이를 확인하여서 주문수가 부족한 분기를 찾아보고자 함
하지만 데이터에 두개의 분기 밖에 없어서 월별 주문수를 나타내고자 하였다.
select month(order_date) as "월", count(id) as "주문수"
from orders
group by month(order_date)
결과
1,2월이 가장 주문 수가 부진한 결과를 보였고 (다른 1달을 합친 것 보다 이하의 주문수) 4월이 가장 많은 주문 수를 보였다
3. 가설 2 : 1,2월에 주문한 카테고리와 4월에 주문한 카테고리가 달라 이러한 결과가 생겼을 것이다
실험 : 4월에는 있고 1,2월에는 없는 카테고리와 그 개수를 파악하고자 하였다
select category, count(1) as "해당 개수"
from orders as O
left join order_details as OD on OD.order_id = O.id
left join products as P on OD.product_id = P.id
where month(order_date) = 4
group by category;
select category, count(1) as "해당 개수"
from orders as O
left join order_details as OD on OD.order_id = O.id
left join products as P on OD.product_id = P.id
where month(order_date) = 1 and month(order_date) = 2
group by category;
select distinct category, count(category)
from orders as O
left join order_details as OD on OD.order_id = O.id
left join products as P on OD.product_id = P.id
where month(order_date) = 4 and category not in
(select category
from orders as O
left join order_details as OD on OD.order_id = O.id
left join products as P on OD.product_id = P.id
where month(order_date) = 1 or month(order_date) = 2
group by category)group by P.id
4. 가설 3 :이 차이는 제품에 가격에 근거한 결과라고 생각을 하여서 이 둘을 비교하고자 하였다
select distinct category, avg(unit_cost)
from orders as O
left join order_details as OD on OD.order_id = O.id
left join products as P on OD.product_id = P.id
left join purchase_order_details as POD on POD.product_id = P.id
where month(order_date) = 4
and category not in
(select category
from orders as O
left join order_details as OD on OD.order_id = O.id
left join products as P on OD.product_id = P.id
where month(order_date) = 1 or month(order_date) = 2
group by category)
group by P.id
order by avg(unit_cost)
select distinct category, avg(unit_cost)
from orders as O
left join order_details as OD on OD.order_id = O.id
left join products as P on OD.product_id = P.id
left join purchase_order_details as POD on POD.product_id = P.id
where month(order_date) = 4
and category not in
(select category
from orders as O
left join order_details as OD on OD.order_id = O.id
left join products as P on OD.product_id = P.id
where month(order_date) = 1 or month(order_date) = 2
group by category)
group by P.id
order by avg(unit_cost)
5. 결과 : 전반적인 주문량을 올리기 위해서는 다음 그래프에 해당하는 카테고리 상품의 평균 가격을 낮추는 것이 도움을 줄 수 있다
728x90
'IT Study > SQL' 카테고리의 다른 글
데이터 베이스의 기초 (용어 정리) (0) | 2025.09.05 |
---|---|
[SQL 입문부터 활용까지] 2차 과제 (3) (0) | 2022.12.01 |
[SQL 입문부터 활용까지] 2차 과제 (2) (0) | 2022.11.30 |
[SQL 입문부터 활용까지] 2차 과제 (1) (0) | 2022.11.30 |
[SQL][Database] 관계형 데이터 모델링(part1,2) (0) | 2022.11.28 |