본문 바로가기

Python (Linux)46

46. Python - 7장 연습문제 1. 정확히 같은 훈련 데이터로 다섯 개의 다른 모델을 훈련시켜서 모두 95% 정확도를 얻었다면, 이 모델들을 연결하여 더 좋은 결과를 얻을 수 있을까요? 가능하다면 어떻게 해야 할까요? 그렇지 않다면 왜일까요?#다섯 개의 모델을 훈련 시켜 95%의 정확도를 모두 달성헀다면, 이들을 연결하여 투표 앙상블(Voting Ensemble)을 만들어 더 나은 결과를 기대할 수 있습니다.만약, 훈련 모델이 서로 다르다면 훨씬 좋습니다. 또, 다른 훈련 샘플에서 훈련되었다면 더더욱 좋습니다.(이것이 배깅과 페이스팅 앙상블의 핵심입니다.) 2. 직접 투표와 간접 투표 분류기 사이의 차이점은 무엇일까요?#직접 투표 분류기는 앙상블에 있는 각 분류기의 선택을 카운트해서 가장 많은 투표를 얻은 클래스를 선택합니다.간접 투.. 2019. 2. 21.
45. Python - 앙상블 학습과 랜덤포레스트 안녕하세요. 오늘은 드디어 앙상블 학습과 랜덤포레스트입니다.제가 기다리고 기다리던 챕터였어요ㅋㅋ저자가 어떤 것을 설명할지 궁금합니다. 무작위로 선택된 수천 명의 사람의 의견이 전문가의 답보다 낫다. 이를 대중의 지혜, Wisdom of the crowd 라고 합니다.즉 이와 비슷하게, 일련의 예측기(분류나 회귀 모델)로부터 예측을 수집하면, 가장 좋은 모델 하나보다 더 좋은 예측을 얻을 수 있습니다. 일련의 예측기를 앙상블이라고 부르기 때문에 이를 앙상블 학습이라고 하며,앙상블 학습 알고리즘을 앙상블 기법, 혹은 방법이라 부릅니다. 예를 들어, 훈련 세트로부터 무작위로 각기 다른 서브셋을 만들어 일련의 결정 트리 분류기를 훈련시킵니다.그리고, 모든 개별 트리의 예측을 구하면 됩니다. 그런 다음, 가장 많.. 2019. 2. 21.
44. Python - 6장 연습문제 1. 백만 개의 샘플을 가진 훈련 세트에서 (규제 없이) 훈련시킨 결정 트리의 깊이는 대략 얼마일까요?#m개의 리프 노드를 포함한 균형이 잘 잡힌 이진 트리의 깊이는 을 반올림 한 것과 같습니다.이진 결정 트리를 제한을 두지 않고 훈련시키면, 훈련 샘플마다 하나의 리프 노드가 되므로, 어느 정도 균형이 잘 잡힌 트리가 됩니다. 따라서 훈련 세트에 백만 개 샘플이 있다면, 결정 트리의 깊이는 이 될 것입니다.(실제로는 완벽하게 균형 잡힌 트리가 만들어지지 않기 때문에 조금 더 늘어납니다. 2. 한 노드의 지니 불순도가 보통 그 부모 노드보다 작을까요? 클까요? 일반적으로 작거나 클까요? 아니면 항상 작거나 클까요?#한 노드의 지니 불순도는 일반적으로 부모의 불순도보다 낮습니다.이는 자식의 지니 불순도의 가.. 2019. 2. 12.
43. Python - 결정 트리(Decision Tree) 자. 오늘은 새로운 챕터, 결정 트리입니다.SVM처럼 결정 트리(Decision tree)는 분류와 회귀 작업 그리고 다중출력 작업도 가능한 다재다능한 머신러닝 알고리즘입니다. 또한, 매우 복잡한 데이터셋도 학습할 수 있는 강력한 알고리즘입니다.결정 트리는 최근에 자주 사용되는 가장 강력한 머신러닝 알고리즘인 랜덤 포레스트의 기본 구성 요소이기도 합니다. 이 장에서는 결정 트리의 훈련, 시각화, 예측 방법에 대해 먼저 알아보겠습니다.그리고, 사이킷런의 CART 훈련 알고리즘을 둘러보고 트리에 규제를 가하는 방법과 회귀 문제에 적용하는 방법에 대해 알아봅니다.마지막으로, 결정 트리의 제약 사항에 대해 알아보겠습니다. 결정 트리를 이해하기 위해 일단 하나를 만들어서, 어떻게 예측을 하는지 살펴보겠습니다.다음.. 2019. 2. 12.