20일차 강의 : 통계기반 데이터 활용

Luis_J·2024년 10월 7일
0

MS_AI_School 5기

목록 보기
20/48
post-thumbnail
post-custom-banner

Summary

Introduction

Code, Conept & Explanation

통계 기반 데이터 활용 개요

팩트풀니스 : 실제로 세상은 더 나이지고 있습니다.

부정 본능 : 뉴스에 부정적인 내용 위주로 전달되다보니 사람들이 세상을 부정적으로 인식합니다.

통계 기반 데이터 활용
통계 기반 머신 러닝

머신 러닝

머신 러닝을 이해하기 위해서는 통계를 이해하셔야 합니다.

통계는 기술 통계와 추론 통계로 나뉩니다.
추론 : 추정과 가설 검정

머신러닝 절차

문제 정의 → 데이터 수집 및 이해 → 데이터 준비 → 데이터 모델링 → 모델링 평가

Azure Machine Learning

모델을 학습하고 관리 배포
Metrics : 평가 지표

Miscrosoft Azure ⊃ Subscription ⊃ Resource Group ⊃ Workspace

Microsoft Azure : Azure Cloud
Workspace : Azure ML studio
Pipelines : Azure ML Studio Designer

reasouce 는 앱이라고 이해하면 됩니다.

Workspace : 코딩하기 위한 도구, VS CODE를 웹에서 구현

Compute
Notebooks
Pipelines : 앤트리 스크래치, 블록 기반 코딩, 간단해 보이지만 블록마다 심도 있는 로직입니다.
Data
Experiments : 머신 러닝 한 번 한 번을 실험이라고 표현합니다.
Models

Automated ML : 자동으로 생성되서 효율적이지만, 비용이 많이 나올 수 있습니다.

Azure Machine Learning - Desinger

캔버스 : 소스코드 파일
이름을 의미를 담아 작성해야 구분 가능
파이프라인으로 코딩합니다.

Azure Machine Learning - Notebooks

웹에서 VS CODE 역할

Azure Machine Learning - Jobs

작업

박스는 힘스. 프로시저, 입출력 등 다양합니다.
아웃풋 갖고 있고 다른 박스에 입력합니다.

중간중간 과정을 체크할 수 있습니다.

Azure Machine Learning - Designer : 데이터

Name 은 영어로 작성
가급적이면 브라우저 언어를 영어로 바꾸는 것을 권장

데이터 준비

데이터 모델링

기계학습 알고리즘 치트 시트

모델링 평가

Azure Machine Learning - Designer : 평가

Untrained model 을 train model 로 훈련
Score Model 또는 Test Model 로 보통 표현
평가 결과도 분석 가능
분석 모델, 회귀 모델

통계 기초

통계의 기본 개념

"통계는 요약이다"
요약된 값을 얻기 위해 통계를 활용합니다.

불확실성 해소
변동성 해소

  1. 기술 통계 : 데이터 집합의 특성을 설명
  2. 추론 통계 : 모집단에서 추출한 표본을 통해 모집단의 특성을 표현

모집단과 표본
샘플링 (표본 추출)

표본 (Sample, 데이터 하나를 보통 포현) → 데이터셋
표본의 통계값들 : 통계량 (statistic)
모집단의 통계값들 : 모수 (parameter)

모집단 추정 (Estimation) : 궁극적으로 알고 싶은 것

모집단이 작으면 전수조사가 가능하지만 (예시 : 인구 총조사),
대부분은 표본 조사

표본의 추출
확률적 표본 추출

무작위 표본 추출 Random sampling

체계적 표본 추출 (출구조사)

30명 나올 때마다 1명씩 조사
모집단에서 특정한 규칙으로 표본을 추출하는 방법

층화 표본 추출

비확률적 표본 추출

자의로 표본을 추출
조사 대상이 자발적으로 표본에 참여하는 방법 (대학병원에서 임상실험 참가자 모집)

기술 통계

평균(Mean)

장점 : 데이터를 통합하여 하나의 대표값으로 표현
단점 : 이상치(outlier)에 민감하여 극단적인 값에 영향을 받음
연봉의 평균을 구할 때, 대부분 1억을 받지만, 누군가 10억을 받는 경우

중앙값(Median) : 순서대로 나열하고 번호 붙였을 때 중앙에 위치한 값

최빈값 (Mode) : 표본에서 가장 자주 나타나는 값

가중 평균 (Weighted Mean) :

아이스크림 5천원짜리 6개, 1만원짜리 2개 산 경우

조화 평균 (Harmonic Mean) : 원소들의 값들의 역수의 평균을 다시 역수로 변환하여 계산

산포도 측정

산포도
범위
분산 (Variance)
표준편차 (Standard Deviation)
사분위수 범위 (Interquartile Range, IQR)
IQR = Q3 - Q1

왜도와 첨도

왜도 (Skewness) : 분포의 비대칭성을 측정하는 지표

정규분포

양의 왜도 (Positive Skewness)

꼬리를 중심으로 표현
꼬리가 오른쪽으로 긴 경우
예 : 급여, 주택 가격 등
평균이 중앙값보다 오른쪽에 위치

음의 왜도 (Negative Skewness)

꼬리가 왼쪽으로 긴 경우
예 : 시험점수 등

첨도 (Kurtosis) : 분포의 뾰족함과 꼬리의 두꺼움을 측정하는 지표

양의 첨도
꼬리가 두꺼운 분포
극단값이 더 자주 발생

음의 첨도

시각화의 필요성

영역 차트 (Area) : 영역이 중요
히스토그램 (Histogram) : 분포의 그래프의 형태, 전체 분포의 현황을 파악할 때 사용
파이 차트, 도넛 차트 : 전체에 대한 비율을 표현
데이터 수가 8개가 넘어가면 쓰지 말라고 합니다.
선처럼 작은 값들은, other 로 처리해야 합니다.

게이지 차트 (Gauge Chart) : 목표의 달성 정도를 나타냄, 한 값을 명확히 표시할 때 용이

버블 차트 (Bubble chart)
트리맵 (Treemap)

확률과 통계

표본 공간 (Sample Space) : 실험을 통해 나타날 수 있는 모든 결과들의 집합

사건 (Event) : 표본공간에 있는 일부 원소들로 이루어진 부분 집합

확률 : 특정 사건이 일어날 가능성

확률 함수 (Probability Function) : 사건이 발생할 확률을 나타내는 함수

규칙
덧셈 법칙 : 합집합
곱셈 법칙 : 독립사건일 때, 교집합

확률 변수 (Random Variable)

특정 값이 나타날 가능성이 확률적으로 주어지는 변수
확률은 랜덤임을 가정

확률 표본 (Random sample)

분포 현황에 따라 이산 확률변수와 연속 확률변수로 구분

이산형 확률 변수 (Discrete random variable)

주사위를 굴렸을 때 나오는 눈의 수, 동전 던지기의 결과

확률질량함수 (PMF)

이산형 확률변수에 의한 확률 분포 : 이항분포, 기하분포, 포아송분포

연속형 확률변수 (Continuous random variable)

확률밀도함수 (PDF)
정규분포,균일분포,t-분포,카이제곱분포 등

수식은 참고만 하고
어떤 개념이 있는지 알면 됩니다.

정규 분포, 지수 분포, 카이제곱 분포
어떤 개념이고 어떤 특징이 있고 어떻게 사용된다 수준으로 알면 됩니다.

이산 확률 분포

베르누이 분포 (Bernoulli Distribution)
두 가지 결과가 있는 단일 시행 확률분포
결과값 : 0 또는 1
x가 1이면 확률p
x가 0이면 확률 1-p
동전 던지기 한 번 실행 : 베르누이 분표

이항 분포 (Binomial Distribution)

일정한 횟수의 독립적인 베르누이 시행에서 성공 횟수를 나타내는 분포
앞면이 몇 번 나왔는지

푸아송 분포 (Poisson Distribution):

단위 시간(또는 단위 공간)에서 특정 사건의 발생 빈도를 나타내는 분포
콜센터 : 1시간 동안 걸려오는 전화의 수
특정 도로에서 시간당 발생하는 사고 수
빈도가 적을 때 몇 번 발생하는지가 중요

정규 분포 (Normal Distribution):

평균을 중심으로 대칭
1배이면 68%
2배이면 95%
3배이면 99.7%

성인의 키 분포
대규모 시험의 성적 분포

지수 분포 (Exponential Distribution)

시간 간격이 중요
콜센터 대기 시간 : 다음 전화 걸려올 때까지 시간

카이제곱 분포 (Chi-Square Distribution)

분산을 추정
분산과 분포는 밀접한 관계
분산 개념이 머신 러닝에 나오면 분포를 의미한다고 생각하면 됩니다.
산포도, 분산, 분포는 같은 카테고리의 개념들입니다.

적합도 검정 : 관찰된 데이터가 기대 분포와 일치하는지 검정

실제 데이터가 기대했던 데이터와 일치하는지 검정
국어 시험 분포와 수학 시험 분포가 동질성이 있는지 확인

머신 러닝에서
중복된 데이터가 있어서 제외할 때 카이제곱 분포 많이 사용합니다.

분산 분석

추정과 가설 검정

추론 : 표본을 통해서 모집단을 알아내는 것
추론의 방법
1. 모수의 추정
2. 모수에 대한 가설검정
의료계에서 주로 사용

표본조사를 통해 전국 직장인 상여금의 평균을 하나의 값으로 추정
구간 추정
직장인 상여금 평균이 5년 전 평균값과 얼마나 다른지 판단함

점추정 (Point Estimation)
한 값을 추정
구간추정 (Interval Estimation)
범위를 추정

신뢰구간, 신뢰수준

신뢰구간
모수가 신뢰구간 안에 포함될 것으로 예상되는 범위
신뢰구간이 넓다고 좋은 것은 아니다
변동성이 크다
예측하기 어렵다

신뢰 수준
유의수준 α : 모수가 신뢰구간에 포함되지 않을 확률

신뢰 수준 : 95%
5% 확률로 틀릴 수 있음
양 끝 각각 2.5%

가설검정

가설 검정 :

귀무 가설 (Null Hypothesis, H0) : 버릴 것으로 예상하는 가설

대립 가설 (Alternative Hypothesis, H1) : 실제 주장 또는 증명하려는 가설

검정은 test

가설 검정 예시
귀무가설/대립가설 수립
귀무가설 H0
대립가설 H1

유의수준 결정:

유의수준을 0.05로 설정
5%의 확률로 귀무가설이 참인데도 불구하고 기각할 가능성을 허용함

검정 통계량 계산

P-value 계산 : 검정 통계량을 바탕으로 P-value를 계산

P-value가 유의수준 0.05보다 작으면 귀무가설 기각 (효과 있다)
그렇지 않으면 귀무가설 채택 (효과 없다)

가설 검정 - 오류
샘플로 처리하기 때문에 오류가 발생할 수 밖에 없습니다.

1종 오류=참을 거짓으로 판단
2종 오류=거짓을 참으로 판단

1종 오류 (Type 1 Error) : 귀무가설이 참인데도 불구하고 이를 기각하는 오류
새로운 진통제와 기존 진통제의 효과에 차이가 없는데,
새로운 진통제가 더 효과적이라고 결론 내리는 경우
잘못된 긍정 (False Positive) 결과 초래

positive 예측을 잘못했다

2종 오류 (Type 2 Error) : 대립가설이 참인데도 불구하고 귀무가설을 기각하는 오류
귀무가설이 거짓인데, 기각하지 않는 오류
잘못된 부정 (False Negative) 결과를 초래

정밀도, 재현율과 유사한 개념

가설 검정 방법

  1. t 검정 : 하나의 값을 비교, 두 그룹의 평균 비교, 두 학급의 간 평균 성적 비교
  2. 카이제곱 검정 : 분포
    성별과 흡연여부간의 독립성 확인
  3. 분산 분석 : 세 그룹 이상의 평균 비교
    여러 학급 간 평균 성적 비교

t 검정 (t-test)

단일 표본 t 검정 : 한 그룹
한 학급의 평균 성적이 70점인지 확인
독립 표본 t 검정 : 두 그룹
남학생과 여학생의 평균 성적 비교
대응 표본 t 검정 : 한 그룹의 두 상황
다이어트 전후의 체중 비교

카이제곱 검정 (Chi-square test)

적합도 검정 : 주사위 굴리기 결과의 기대와 일치 확인
독립성 검정 : 성별과 흡연 여부간의 독립성 확인
동질성 검정 : 여러 지역의 질병 발생률 비교
모집단 population
부-모집단 sub-population

분산 분석 (ANOVA : Analysis Of VAriance):

분산을 이용해 평균을 구하는데 보통 사용

상관분석

한 변수가 변할 때, 다른 변수가 변하는 것

아이스크림 판매량이 늘어나는 것과 익사자의 수가 상관관계가 있다
하지만 인과관계가 아니다
단지 여름철에 아이스크림이 많이 팔리고
여름철에 수영장과 바다에 많이 가기 때문이다

피어슨 상관계수 (Pearson Coreelation Coefficient)

장점 : 해석이 직관적
단점 : 두 변수 간의 관계까 선형관계가 아닌 경우, 제대로 반영하지 못함

스피어만 상관계수 (Spearman's Rank COrrelation Coefficient)

켄달의 타우

켄달계수라고도 표현

변수의 순서 간의 상관성을 측정

MS Azure ML Designer를 활용한 분류 모델

Lab : 날씨 데이터를 활용한 로켓 발사 예측 모델 구현 (A)

머신 러닝 (Machine Learning)
명령문 statement
y = 2x
assign 할당하다
r-value
l-value
오른쪽 값을 왼쪽에 넣어준다
입력값을 넣어서 출력값을 준다

머신 러닝 예시 (1)

산점도
(1,2), (2,4), (3,6)

산점도를 기반으로
(선형) 회귀 선을 그림

입력 변수, 출력 변수
선형 방정식 : 1차 방정식

머신 러닝 예시 (2)

변수 3개 : 장르, 유형, 색

분류 모델, 2진 분류, 2가지 중 하나

머신 러닝 예시 (3)

군집화, clustering

분류와 회귀에는 정답이 있지만
군집은 정답이 없음

머신러닝 유형

지도학습 Supervised Learning
정답 데이터가 전체 데이터에 포함

비지도 학습 Unsupervised Learning
정답 데이터 없음

입력 변수, 출력 변수
독립 변수, 종속 변수
label, target

머신러닝
1. 지도학습
2. 비지도학습

분류모델 개요

지도학습 : 분류 (Classification)
서포트 벡터 머신 (SVM) : 최적의 분할선 탐색

의사 결정 나무 (Decision Tree) : 항상 바이너리 트리
로지스틱회귀

머신러닝 용어 및 단계

머신러닝 기본 용어
데이터 세트 : 주어진 데이터 전체
데이터 샘플 : 개별 데이터
데이터 서브셋 : 데이터 일부

의미 있는 변수 :
특성 (feature)
정답 (Label)

카테고리 / 범주 / 클래스

문제

기상 조건 : 온도, 전기장, 강수량, 구름, 풍향, 풍속, 가시거리

분류 : 범주 예측 Classification

알고리즘 : 의사 결정 나무 (Decesion Tree)
스무고개
x,y를 가지고 문제를 낼 수 있음

선을 그으면서 구분
나무를 어떻게 그릴까 생각해보기

노드 (node)
리프 (Leaf)
깊이 (Depth)
형제 (sibling)
루트 노드
리프 노드
부모 노드
지식 노드

불순도(impurity) : 데이터를 가장 잘 분류할 수 있는 테스트 조건(=질문)을 찾아내는 방법
결정 경계 : 선 긋기
불순도를 갖고 결정 경계를 찾음

불순도가 높으면, 결과 예측이 어렵다
불순도가 낮으면, 결과 예측이 용이하다

지니 계수, 지니 불순도

불순도가 낮은 방향으로 선을 긋도록 함
가장 영향력 있는 질문을 먼저 시작한다
영향력 높은 독립변수부터 시작한다

선을 긋는 행위 : 노드

상황 변수를 세트로 만들어서 가지고 다님
value = [12, 10]
초록색 12개, 빨간색 10개
x가 3보다 작거나 같을 때, 최종 클래스는 그린

과대적합 (Overfitting)
학습 데이터에 과도하게 맞춰진다면, 테스트 데이터에 안 맞을 수 있음

과대적합하는 경우를 방지하기 위해 최대 깊이 (Max Depth)를 설정할 수 있음

확률에 대한 임계치(threshold)를 설정할 수 있음

임계치 90% 지정 예시

나무 알고리즘은 기본 형태로 보통 사용하지 않음
나무 알고리즘은 위크 모델

약한 모델을 묶어서 사용
앙상블 / 랜덤 포레스트

알고리즘 앙상블 (Ensemble learning)

다수결 투표

랜덤 포레스트 (Random Forest)

데이터 세트의 서브셋 샘플링

배깅 (bagging)

중복을 허용하는 샘플링 (복원 추출)
주머니에서 구슬 뽑을 때, 뽑았던 구슬을 다시 넣고 뽑는 방식

페이스팅(Pasting) : 샘플링시 중복을 허용하지 않는 방식 (비복원추출)

하이퍼 파라미터 (Hyper Parameter)

모델링할 때 사용자가 직접 조정 및 세팅하는 값

리프 노드에 포함해야 할 최소 샘플 수는?

데이터 수집/이해

데이터 수집 - 웨더 언더그라운드
NASA 데이터는 무인, 발사된 데이터만 가지고 있음
발사일 전후 이틀은 발사하지 않은 날로 가정
발사일이 가장 날씨가 좋았다고 가정

데이터 정리, 데이터 전처리
누락값은 채워줌
틀린 데이터는 제거 또는 정제

feature selection : 필요한 열들만 사용, 가장 우선 진행

데이터 전처리

데이터 형식 변경 : 범주형 문자(열) → 카테고리 → 숫자

데이터 분리

학습 세트, 검증 세트, 테스트 세트
검증세트 : 하이퍼 파라미터 테스트

학습 세트 : 8
테스트 세트 : 2

정밀도와 재현율

1종 오류 : 참을 거짓으로 생각
2종 오류 : 거짓을 참으로 생각

정밀도 : 모델이 positive로 예측한 값중 실제로 positive인 비율
정밀도 (Precision) = TP / (TP + FP)

재현율 : 실제 Positive인 데이터 중 모델이 맞춘 비율
재현율 (Recall, Sensitivity) = TP / (TP + FN)

암진단 : 재현율이 낮으면, 암 환자를 놓치게 된다
스팸메일 필터 : 정밀도가 낮으면, 스팸이 아닌 메일을 스팸으로 판단

모델링 결과 평가

Azure 실습

Challenges & Solutions

Results

What I Learned & Insights

Conclusion

profile
New life & History
post-custom-banner

0개의 댓글