목록Machine Learning/Classification (11)
Note
1. 보팅 유형 (1) 하드 보팅 : 여러 개의 분류기 간 다수결로 최종 값을 결정한다. (2) 소프트 보팅 : 여러 개의 분류기 간 최종 값에 대한 확률을 평균하여 결정한다. 일반적으로 하드 보팅보다 소프트 보팅의 예측 성능이 상대적으로 우수하여 주로 사용한다. 사이킷런은 VotingClassifier 클래스를 통해 보팅을 지원한다. 2. 실습 - 위스콘신 유방암 데이터 사용 필요한 라이브러리를 임포트 한다. 데이터를 로드하고 잘 로드됐는지 head()를 통해 확인한다. 개별 모델과 보팅 방식으로 결합한 모델에 대한 성능 비교 개별 모델 클래스를 지정해주고 소프트 보팅 기반으로 합친 모델 클래스도 생성해준다. 학습과 검증을 위해 split을 사용해서 데이터 셋을 분리해준다. 소프트 보팅 기반으로 합친 ..
앙상블 학습 : 여러 개의 분류기를 생성하고 그 예측을 결합함으로써 하나의 분류기만 사용했을 때 보다 정확한 최종 예측을 도출하는 학습 기법이다. ex) 한 명이 하나의 문제를 해결하기 위해 답변을 내놓는 것보다 여러 명이 모여 하나의 문제를 해결하기 위해 다양한 해결 방법을 제시하는 것이 한 명보다는 효율적이고 신뢰도가 높은 값을 얻을 수 있다. 1. 앙상블 학습 기법의 유형 (1) 보팅(Voting) (2) 배깅(Bagging) : 랜덤 포레스트(Random Forest) (3) 부스팅(Boosting) : 에이다 부스팅(Adaboosting), 그래디언트 부스팅 (Gradient Boosting), XGBoost, LightGBM 등. 분류나 회귀에서 GBM 부스팅 계열의 앙상블이 전반적으로 높은 ..
분석에 사용할 데이터는 기존에 계속 사용해오던 iris 데이터를 사용한다. 항상 시작은 필요한 라이브러리를 불러오는 것부터 시작이다. !pip install garphviz는 시각화를 위한 프로그램이다. 분류 예측 성능을 위해서 모델을 학습시킬 수 있는 학습 데이터와 모델 성능 평가를 위한 테스트 데이터로 나눈다. 그 후에 의사결정나무를 위한 객체를 생성하고 .fit을 사용해서 학습시킨다. test_size 옵션은 데이터를 어떠한 비율로 나눌 것인가를 위한 수치이다. 옵션 수치를 변경함에 따라 이후에 나올 결과 데이터에 어느 정도 영향을 미친다. export_graphviz()에서 max_depth = 특정 숫자나 min_sample_split = 특정 숫자, min_sample_leaf = 특정 숫자 ..
Decision tree는 의사결정나무라고 불리며, 이런 비슷한 그림은 주위에서 쉽게 한 번쯤은 본 적이 있다. 알고리즘은 데이터에 있는 규칙을 학습을 통해 찾아내 트리기반의 분류 규칙을 만든다. 분류 규칙에 따라서 효율적인 분류가 될 수도 있고 아닐 수도 있다. 또한, 매우 쉽고 유연하게 적용될 수 있다. 하지만 예측 성능을 향상하기 위해서는 규칙 구조가 복잡해야 하며, 과적합이 발생하고 그 결과로 성능이 저하될 수 있다는 단점이 있다. 이 단점은 앙상블 기법에서 오히려 장점으로 작용한다. 여러 개의 약한 학습 방법들을 결합해 확률적 보완과 오류에 대한 가중치를 업데이트 하면서 성능을 향상할 수 있기 때문이다. 뒤에 다룰 GBM, XGBoost, LightGBM 등이 있다. 트리를 분할하기 위해서 균일..
오늘 정리할 내용은 자격증 공부할 때 굉장히 나를 헷갈리게 했던 분류 성능 지표이다. ADsP나 빅데이터 분석기사에서도 출제된 문제이니만큼 자격증을 준비하시는 분들은 알아두면 좋을 지식이다. 오늘은 코딩보다는 개념을 정리하는 시간으로 하려고 한다. 1. 정확도(Accuracy) 정확도는 전체 예측 데이터에서 예측 결과를 맞춘 건수 비율이라고 말할 수 있다. 직관적으로 모델 예측 성능을 나타내는 평가 지표이지만, 이진 분류에서는 구성에 따라 모델의 성능을 왜곡할 수 있기 때문에 다른 지표도 고려해야 한다. 파이썬에서는 accuracy_score를 사용한다. 정확도의 맹점을 들어내는 경우의 예시를 들면 손글씨 분류이다. 0부터 9까지 모든 숫자를 써놓고 3이라는 숫자를 찾고 싶은데 모두가 3이 아니라고 하면..