한국경제 with toss

7/3 데이터 시각화

devmin67 2024. 7. 3. 16:42

-colab과 구글 드라이브 연동하기

-구글드라이브와 코랩 연동하기 위한 폴더 만들기

-iris.csv가 생긴것을 확인 할 수 있다.

 

-구글 드라이브에 저장된 데이터 불러오기

 


 

기초통계 개념

 

질적 변수 (Qualitative Variables)

특성

  • 명목형 변수: 값들이 특정한 순서나 크기를 가지지 않는 변수입니다. 예: 성별(남/여), 혈액형(A/B/AB/O), 취미 등.
  • 서열형 변수: 값들 간에 순서가 있지만, 그 차이를 정량적으로 측정할 수 없는 변수입니다. 예: 교육 수준(고졸/대졸/대학원졸), 고객 만족도(매우 불만족/불만족/보통/만족/매우 만족) 등.

적용 사례

  • 시장 조사: 고객의 성별, 선호하는 브랜드, 만족도 조사 등.
  • 의료 연구: 환자의 혈액형, 병의 종류, 증상의 유무 등.
  • 사회 과학 연구: 사회적 계층, 교육 수준, 직업 유형 등.

양적 변수 (Quantitative Variables)

특성

  • 이산형 변수: 셀 수 있는 값을 가지며, 주로 정수로 표현됩니다. 예: 학생 수, 사고 건수, 제품의 개수 등.
  • 연속형 변수: 측정할 수 있는 값을 가지며, 무한히 많은 소수를 가질 수 있습니다. 예: 키, 몸무게, 온도, 시간 등.

적용 사례

  • 경제 분석: 소득 수준, 물가 상승률, 주식 가격 등.
  • 공학 및 물리학: 기계의 속도, 전류의 세기, 거리 등.
  • 건강 및 피트니스: 체질량지수(BMI), 혈압, 운동 시간 등.

차이점

  • 데이터 유형: 질적 변수는 범주형 데이터를 포함하고, 양적 변수는 수치 데이터를 포함합니다.
  • 분석 방법: 질적 변수는 주로 빈도나 비율 분석에 사용되며, 양적 변수는 평균, 분산, 회귀 분석 등의 통계적 방법에 사용됩니다.
  • 측정 수준: 질적 변수는 명목형 및 서열형 수준으로 측정되고, 양적 변수는 간격형 및 비율형 수준으로 측정됩니다.

예시를 통한 설명

  1. 질적 변수의 적용:
    • 한 설문조사에서 고객의 성별(남/여), 거주 지역(도시/시골), 선호하는 제품 유형(전자 제품/의류/식품)을 조사할 때 질적 변수를 사용합니다.
  2. 양적 변수의 적용:
    • 같은 설문조사에서 고객의 연령, 가구 소득, 한 달에 지출하는 평균 금액을 조사할 때 양적 변수를 사용합니다.

요약하자면, 질적 변수는 범주나 그룹을 나타낼 때 사용하고, 양적 변수는 수량이나 크기를 나타낼 때 사용됩니다. 각각의 변수는 연구 목적에 따라 적절하게 선택되고 분석되어야 합니다.

 


도수분표표 (Frequency Table)

- 일변량(변수1개) 범주형 자료를 정리하는데 있어 기본이 되는 표

 

 

분할표 (Contingency Table), 교차표 (Cross Tabulation)

- 2개 이상의 범주형 변수에 대해 교차시켜 빈도를 표시한 표

 


https://seunghan96.github.io/ml/latex/

 

Latex 문법 정리

Latex

seunghan96.github.io


데이터 시각화

 

출처: 데이터베이스 기반 데이터 분석

-pyplot형식이 아닌 위와 같은 객체지향 방식으로 작성하길 추천

 

 

- matplotlib, seaborn, plotly중에서 메인을 정해서 집중적으로 공부하기

 

import matplotlib.pyplot as plt

dates = [
    '2021-01-01', '2021-01-02', '2021-01-03', '2021-01-04', '2021-01-05',
    '2021-01-06', '2021-01-07', '2021-01-08', '2021-01-09', '2021-01-10'
]
min_temperature = [20.7, 17.9, 18.8, 14.6, 15.8, 15.8, 15.8, 17.4, 21.8, 20.0]
max_temperature = [34.7, 28.9, 31.8, 25.6, 28.8, 21.8, 22.8, 28.4, 30.8, 32.0]

#객체지향 형태로 문법을 시작하세요!
fig, ax = plt.subplots(figsize=(10,4))
ax.plot(dates, min_temperature, label = 'Min Temp')
ax.plot(dates, max_temperature, label = 'Max Temp')
ax.legend()
ax.set_xlabel('Date')
ax.set_ylabel('Temp')
ax.set_title('Weather')
plt.show()
 

 

 

- 데이터 시각화는 하나의 시각화에도 각각의 객체에 접근하여 수정하는 등 코드양이 엄청나다. matplotlib등의 메소드 중에 하나를 익히고 능숙해지자, 시각화는 가시성을 높일 수 있는 다양한 방법이 있음

 

import matplotlib.pyplot as plt
import seaborn as sns

iris = sns.load_dataset('iris')

fig, ax = plt.subplots(figsize=(10, 3))
sns.boxplot(data = iris, x = 'species', y = 'petal_width', ax = ax)
ax.set_title('Iris Dataset') #타이틀을 주는 코드를 확인할 것
ax.set_xlabel('Species') #x축 이름을 주는 코드를 확인할 것
ax.set_ylabel('Petal Width') #y축 이름을 주는 코드를 확인할 것
print(type(ax))  #seaborn을 이용해서 차트를 그렸는데 matplotlib으로 타입인 것임.(원리 확인할 것)
plt.show()