13 여러 알고리즘의 성능을 한눈에 비교하기
지금까지 다룬 열 가지 알고리즘을 한 번에 실행시키고 각각의 성능을 비교해 보겠습니다.
실습 | 여러 알고리즘 성능을 한눈에 비교하기
# 사용할 분류기를 모두 지정합니다. = [DecisionTreeClassifier(), RandomForestClassifier(), GaussianNB(), KNeighborsClassifier(), SVC( = 'linear'), SVC( = 'rbf'), AdaBoostClassifier(), QuadraticDiscriminantAnalysis(), VotingClassifier(=[('1', AdaBoostClassifier()), ('2', RandomForestClassifier()), ('3', SVC( = 'linear'))]), BaggingClassifier(=clf3, =10, =0) ]
# 각 분류기의 이름을 지정합니다. = ['D_tree', 'RF', 'GNB', 'KNN', 'Ada', 'QDA', 'SVM_l', 'SVM_k', 'Voting', 'Bagging' ] # 결과가 저장될 리스트를 만듭니다. = [] = [] = [] # 각 분류기를 실행하여 결과를 저장합니다. =zip(, ) for , in : # 계층별 교차 검증 환경을 설정합니다. =StratifiedKFold(=10, =True) # 교차 검증을 통해 정확도를 계산합니다. =cross_val_score(, = X_train, = y_train, = ) # 정확도의 평균값을 출력합니다. print("Mean accuracy of", , ": {:.2f} %".format(.mean()*100)) # 결과를 저장합니다. .append() .append() .append(.mean()*100) # 분류기별 정확도의 평균값을 막대 그래프로 출력합니다. plt.figure(=(10,5)) plt.ylim([60, 80]) plt.bar(, ) # 분류기별 결과를 박스 그래프로 출력합니다. = plt.figure(=(10,5)) = .add_subplot(111) .boxplot() .set_xticklabels() plt.show()