Data Analysis

R/머신러닝 & 딥러닝

[R] 베이지안 확률개념 및 실습

Holy_Water 2022. 11. 11. 11:52

베이지안 확률(Bayesian probability) 저의

- 베이즈정리라 불리며, 종속적(의존적) 관계에 놓인 사건들을 기반으로 확률을 구함.

- 두 확률 변수의 사전 확률과 사후 확률 사이의 관계를 나타내는 정리.

- 사전확률 P(A)과 우도활률 P(B|A)를 안다면 사후확률 P(A|B)를 알 수 있음.

- 베이지안 확률은 아래 조건부 확률로 나타내며, 정보를 업데이트하면서 사후확률 P(A|B)를 구하는 것이다.

 

베이지안 확률 계산식

- 위에 정의가 나오는 계산식 과정이다.

- P(B)값은 A와 A여집합과 P(B) 사이의 교집합 합으로 구할 수 있다.

 

R로 실습해보기

 

install.packages("e1071")

#SVM구현체인 libsvm을 R에서 사용할 수 있도록 만든 패키지

 

install.packages("caret")

#예측모델을 만들기 위한 데이터 학습 시 간편한 함수를 제공해 준다.

 

library(e1071)

library(caret)

# 관련 패키지 가져오기

 

 

set.seed(1234)

#값 안변하도록 저장

 

tr_data <- createDataPartition(y=data$AHD, p=0.7, list=FALSE)

# train 데이터와 test 데이터 7:3비율로 나누기

 

tr <- data[tr_data,] #tr, te값에 저장

te <- data[-tr_data,]

 

Bayes <- naiveBayes(AHD~. ,data=tr)  

# naiveBayes() 함수로 나이브 베이지안 모델 학습시키기

 

predicted <- predict(Bayes, te, type="class")

table(predicted, te$AHD)

# predict() 함수로 예측 후 빈도수 확인하기

 

AHD <- as.factor(te$AHD)

confusionMatrix(predicted, AHD)

# confusionMatrix() 는 분류 모델의 학습 성능 평가를 위한 행렬이다

confusionMatrix() 결과 값