본문 바로가기
DataScience/MachineLearning

ML - NaiveBayes, Scikit learn

by mkk4726 2021. 10. 31.

< 부산대학교 산업데이터과학 수업을 듣고 정리한 내용입니다.>

 

Scikit Learn을 이용해 나이브 베이즈 모델을 구현해본다. 

데이터는 ML의 국룰 데이터인 타이타닉 데이터다. 

데이터 불러오고 살펴보기
데이터 정보 살펴보기

삭제도 해보고 그대로 one-hot encoding도 적용해보고 pclass를 object로 바꾼다음에 적용도 해봤다. 

타이타닉 데이터는 survived를 예측하는 분류문제다. 평가지표로는 정확도만 사용했다.

학습, 평가 함수

5가지 모델을 적용했다.

모델링

각 모델에 대해서는 정확한 이해를 하지 못했다. 통계공부의 필요성을 느낀 순간이었다.

모델들의 차이는 가능도를 계산하는 함수가 다르다는 점이다.

가장 좋은 성능을 보인 모델은 가우시안을 함수로 가지는 모델이었다. 이를 통해 과제를 제출했다.

데이터 전처리

이번 과제를 하면서 그 동안 가지고 있었던 궁금증이 해결되었다. 

데이터셋이 가진 값이 다르면 one-hot encoding적용시 칼럼의 개수가 달라지는 문제가 발생되는데

이를 해결하려고 그냥 다른 칼럼을 삭제했었다. 굉장히 귀찮아서 어떤 방법이 있을까 고민 중이었는데

단순히 해결되었다. 그냥 합친 후에 적용하면 된다.

그 후 다시 나눠서 사용했다.

모델링 및 과제제출

가장 좋은 성능을 보였던 가우시간NB모델을 이용해 예측해서 과제를 제출했다.

 

 

'DataScience > MachineLearning' 카테고리의 다른 글

[평가지표] Confustion Matrix  (2) 2023.07.14
와디즈 - 모델링  (0) 2022.04.10
ML - NaiveBayes  (0) 2021.10.31
ML - 텍스트 분석(Text Analysis)  (0) 2021.05.13
ML - RFM기법  (0) 2021.05.13

댓글