앙상블 (Ensemble)
- 어려운 문제의 결론을 내기 위해 여러명의 전문가로 위원회를 구성해 다양한 의견을 수렴하고 결정하듯이
앙상블 학습의 목표는 다양한 분류기의 예측 결과를 결합함으로써 단일분류기보다 신뢰성이 높은 예측값을 얻는다. - 문제를 해결하기위해 전문가들을 모으는것
- voting : 서로 다른 알고리즘으로 결과를 낸뒤 다수결로 정하는것
- bagging : 의사결정트리를 가지고 하되 트레인데이터의 표본을 뽑아낼때 중복으로 뽑아냄
하나의 알고리즘으로하되 데이터가 랜덤하게 뽑아냄(중복될 수 있음)
랜덤 포레스트(RandomForest)
- decesion tree와 bagging을 결합한 알고리즘
- 매실행시마다 랜덤하게 관측치와 변수를 선택하므로 실행결과가 조금씩 달라지게된다.
(변수를 바꿔가면서 실행한다.) - 그중에 가장 예측결과가 좋은걸로 리턴해준다.
- 해석력이 좋지 않으므로 굳이 해석할 필요가 없는 쪽에 많이 씀(보안, 의료 등...)
1. 독일 은행 데이터 (R)
# 라이브러리 설치 및 불러오기 |
|
# 데이터 불러오기 및 구조 확인 |
|
# 랜덤포레스트 사용 |
|
# 중요도 확인 importance(rf) |
|
# 그래프 그리기 plot(rf) |
|
# 그래프 그리기 varImpPlot(rf) |
|
# 예측하기 |
|
# 맥시멈정보 확인 summary(rf) |
2. 아이리스 데이터 (파이썬)
# 라이브러리 및 데이터 불러오기 import pandas as pd iris = pd.read_csv("c:/data/iris.csv") |
|
# 훈련/테스트 데이터 나누지 않고 분석 |
|
# 의사결정 트리 만들기 from sklearn.tree import DecisionTreeClassifier |
|
# 모델 예측 |
|
# 정확도 확인 |
|
# 라이브러리 불러오기 |
|
# 모델 학습 |
|
# 모델 예측 |
|
# 모델안에 몇번째거를 그릴 건지를 넣어야한다. estimator = model.estimators_[0] dot_data = export_graphviz(estimator, out_file=None, feature_names=x.columns, class_names=model.classes_, filled=True, rounded=True, special_characters=True) |
|
# 의사결정트리 그래프 그리기 |
'인공지능 > 머신러닝' 카테고리의 다른 글
연관규칙 / 연관성 분석 (0) | 2020.05.28 |
---|---|
와인품질데이터 - 의사결정트리 / 랜덤 포레스트 (0) | 2020.05.27 |
의사결정트리 시각화 (0) | 2020.05.23 |
의사결정트리를 이용한 타이타닉 데이터셋 분석 (0) | 2020.05.19 |
의사결정트리 (0) | 2020.05.18 |