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()