일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- nest.js설명
- ethers type
- 스마트컨트렉트테스트
- 오블완
- 러스트 기초 학습
- ethers v6
- multicall
- 컨트렉트 배포 자동화
- ethers typescript
- 스마트컨트렉트프록시
- vue기초
- ethers
- 스마트컨트렉트 함수이름 중복 호출
- 프록시배포구조
- 머신러닝기초
- 스마트컨트렉트 예약어 함수이름 중복
- Vue.js
- Vue
- chainlink 설명
- 체인의정석
- git rebase
- ambiguous function description
- 러스트기초
- 스마트 컨트렉트 함수이름 중복
- 러스트 기초
- SBT표준
- ethers websocket
- 티스토리챌린지
- 컨트렉트 동일한 함수이름 호출
- rust 기초
- Today
- Total
체인의정석
머신러닝 스터디 02 - 나이브베이즈 분류기 본문
나이브 베이즈 분류기는 선형 모델과 유사하며 선형 분류기 보다 훈련 속도가 빠르지만, 일반화 성능이 조금 뒤지는 문제가 있습니다. 사이킷 런에서 구현된 나이브 베이즈 분류기는 연속적인 어떠한 데이터에도 적용할 수 있는 GaussinanNB, 이진데이터에 적용할 수 있는 BernoulliNB, 카운트 데이터에 적용되는 MultinomialNB의 3개 입니다.
BernoulliNB와 MultinomialNB는 대부분 텍스트 데이터를 분류할 때 사용합니다.
BernoulliNB분류기는 다음과 같습니다.
X= np.array([
[0,1,0,1],
[1,0,1,1],
[0,0,0,1],
[1,0,1,0]
])
y=np.array([0,1,0,1])
이진 특성을 4개 가진 데이터 포인트 를 X로 두고
이에 대한 출력이 y에 담기게 됩니다.
이때 특성의 개수는 새는 방법은 아래 식과 같이
y의 np.unique=[0,1]을 기준으로 label이 나오게 된다. 이때 label==y로 실행하여 0일때 한번 1일때 한번 실행될때
0이 있는 부분인 X[0]+X[2]를 행기준(axis=0)으로 더하여 특성 카운트 counts[0]으로 나오게 되며,
1이 있는 부분의 값인 X[1]+X[3]이 마찬가지로 행기준으로 더하여 counts[1]으로 나오게 된다.
따라서 각 특성별로 0이 아닌 원소를 셀 수 있습니다.
counts={}
for label in np.unique(y):
counts[label] = X[y==label].sum(axis=0)
print("특성 카운트:n{}".format(counts))
특성 카운트:n{0: array([0, 1, 0, 2])} 특성 카운트:n{0: array([0, 1, 0, 2]), 1: array([2, 0, 2, 1])}
이때 MultinomialNB는 각 클래스 별로 평균을 , GaussinanNB는 각 클래스 별로 표준편차와 평균을 구합니다.
또한 MultinomialNB와 BernoulliNB는alpha값을 통하여 복잡도를 조정할 수 있습니다.
GaussinanNB는 고차원인 데이터셋에 사용하고 다른 두 모델은 텍스트 같은 희소한 데이터를 카운트하는 데 사용합니다. MultinomialNB는 보통 0이 아닌 특성이 비교적 많은 데이터셋에서 BernoulliNB보다 성능이 높습니다.
나이브 베이즈 모델과 선형모델은 희소한 고차원데이터에서 잘 작동하며 비교적 매개변수에 민감하지 않고, 예측속도가 빠르고 훈련과정을 이해하기 쉽습니다. 선형 모델로는 학습 시간이 너무 오래걸리는 매우 큰 데이터셋에서 나이브베이즈가 종종 사용됩니다.
IT 유튜브 타임해커 보러가기
www.youtube.com/channel/UCHsRy47P2KlE749oAAjb0Yg?view_as=subscriber
깃허브에서 소스코드/모든 시리즈 보러가기
github.com/hynki95/machine_learning
'빅데이터&인공지능' 카테고리의 다른 글
머신러닝 스터디 02-선형모델(분류 편)- 분류용 선형 모델 (0) | 2020.07.18 |
---|