KT 에이블스쿨 - 5. 데이터분석 방법론과 시각화

은브이·2024년 9월 16일
0

KT 에이블스쿨

목록 보기
5/11

1. CRIPS-DM (비즈니스 문제해결 방법론)

1.1 Business Understanding - 가설 수립

  • 문제를 정의하고 요인을 파악하기 위해서 가설을 수립
  • 귀무 가설 : 기존 연구 결과로 이어져 내려오는 정설
  • 대립 가설 : 기존의 입장을 넘어서기 위하 새로운 연구 가설을 대립가설
  • 우리가 수립하는 가설을 대립가설이라고 부르기도 합니다

가설 수립 절차

  1. 해결해야할 문제가 무엇인가(목표, 관심사, y)
  2. Y를 설명하기 위한 요인을 찾아라 (x)
  3. 가설의 구조를 정의하라 (x->y)

1.2 Data Understanding

  • 데이터 원본 식별 및 취득
    • 가설에서 도출된 데이터의 원본 확인
    • 있는 데이터(그대로 사용가능, 가공해야 사용 가능)-> 검토 및 과제 수행
    • 없는 데이터
      • 취득 가능 : 취득 비용 산정 및 과제 수행
      • 취득 불가능 : 정보의 의미 정의(정보 분할, 최대한 가용한 데이터 영역으로 만들기)
  • 데이터 탐색 : EDA, CDA
    • EDA(Exploratory Data Analysis)
      • 개별 데이터의 분포, 가설이 맞는지 파악
      • NA,이상치 파악
    • CDA(Confirmatory Data Analysis)
      • 탐색으로 파악하기 애매한 정보는 통계적 분석 도구 사용
  • 정리된 2차원 구조의 데이터셋을 분석하는 방법
  1. Exploratory Data Analysis 탐색적 데이터 분석
  2. Confirmatory Data Analysis 확증적 데이터
    초기가설, 준비된 데이터셋 -> EDA(그래프, 통계량), CDA(가설검정, 실험)
    => 가설 확인, 전처리 대상 정리, 데이터와 비즈니스에 대해 더 잘 이해

이 경우 다음의 사항을 알아야함
1. (언제, 어떤) 그래프를 그리고 (어떻게) 해석
2. (언제, 어떤) 통계량을 구하고 (어떻게) 해석
3. (언제, 어떤) 가설검정 방법을 사용하고 (어떻게) 해석

  • 다음의 순서로 EDA 및 CDA 진행
  1. 단변량 분석 : 개별 변수의 분포
  2. 이변량 분석1: feature와 target간의 관계(가설을 확인하는 단계)
  3. 이변량 분석: feature들 간의 관계

1.3 Data Preparation

개요

  1. 모든 셀에 값이 있어야함
  2. 모든 값은 숫자이어야 함
    3.(옵션) 값의 범위를 일치시켜야 함

수행되는 내용

  • 결측치 조치
  • 가변수화
  • 스케일링
  • 데이터 분할

1.4 모델링

  • 데이터로부터 패턴을 찾는 과정
  • 오차를 최소화 하는 패턴
  • 결과물 : 모델(모델은 수학식으로 표현됨)

모델링을 위해 필요한 두가지

  1. 학습 데이터
  2. 알고리즘

2. 시각화 라이브러리

  • 데이터 시각화의 목적
    • 통계적인 해석을 넘어, 비즈니스의 인사이트를 파악하는 것
  • 한계
    • 요약된 정보가 표현되기 떄문에, 요약하는 관점에 따라 해석의 결과가 달라질 수 있음
    • 어떤 식으로 든 요약을 하면, 정보의 손실이 발생

plt.plot('X축','Y축',data=data)

plt.show()

plt.plot('X축','Y축',data=data)
plt.xticks(rotation=30) #30도 회전
plt.xlabel('x축 이름')
plt.ylabel('y축 이름')
plt.title('title')

plt.show()

2.1 범례,그리드 추가

plt.plot(data['Date'], data['Ozone'], label = 'Ozone')  # label = : 범례추가를 위한 레이블값
plt.plot(data['Date'], data['Temp'], label = 'Temp')

plt.girt()
plt.legend(loc='upper right')

2.2 축 범위 조정하기

plt.xlim(0,100)
plt.ylim(0,10)

2.3 그래프 크기 조정

plt.figure(figsize(a,b))

2.4 평균선과 평균값 텍스트

plt.axhline(np.mean(data['Ozone']), color = 'grey', linestyle = '--')
plt.text(5, 41, np.mean(data['Ozone']))

2.5 여러개의 그래프 그리기

plt.figure(figsize = (12,8))
plt.subplot(3,1,1)# 옆으로 그리고 싶으면 plt.subplot(1,3,1)
plt.plot('Date', 'Temp', data = data)
plt.grid()

plt.subplot(3,1,2)
plt.plot('Date', 'Wind', data = data)

plt.subplot(3,1,3)
plt.plot('Date', 'Ozone', data = data)
plt.grid()
plt.ylabel('Ozone')

plt.tight_layout() # 그래프간 간격을 적절히 맞추기
plt.show()
profile
안녕하세요

0개의 댓글