Machine Learning

Logistic Regression - Confusion Matrix 인공지능 성능 평가

yugyeong 2022. 12. 2. 11:32

 

Logistic Regression - Confusion Matrix 

 

이 게시글 내용은 https://yu1129.tistory.com/51 내용과 이어진다.

( 위 링크의 인공지능에 대한 성능 평가 내용 )

 

 

Logistic Regression 으로 인공지능을 만들었다면, 그 인공지능의 성능 평가를 해야한다.

성능평가를 Confusion Matrix 라고 한다.

 

 

 

Confusion Matrix 에서 정답 데이터는 행으로 나타내고, 예측한 데이터는 열로 나타낸다.

 

 

 

 

from sklearn.metrics import confusion_matrix

성능평가를 하기 위해 필요한 라이브러리를 임포트 해준다.

 

 

confusion_matrix() 괄호 안에 y 데이터의 정답지와 y 데이터의 예측값을 넣어서 cm 이라는 변수에 저장을 해준다.

cm = confusion_matrix(y_test, y_pred)

 

결과값을 아래와같이 나온다.

 

 

 

 

나온 결과값을 히트맵으로 표현할 수 있다.

 

import matplotlib.pyplot as plt
import seaborn as sb

히트맵을 나타내기 위해 필요한 라이브러리를 임포트 해준다.

 

sb.heatmap 에서 data 파라미터에는 confusion_matrix() 의 결과값을 저장한 변수를 넣어준다.

 

sb.heatmap(data= cm, annot= True, cmap='RdPu', linewidths=0.7)
plt.show()

 

 

 

 

정확도 계산

 

성능평가를 한 후 성능평가의 정확도 계산 방법이다

 

정확도는 데이터가 알맞게 나온 값들을 더한 후 cm.sum() 으로 나눠주면 된다.

(52 + 28) / cm.sum()

 

 

 

정확도를 나타내주는 라이브러리도 존재한다.

 

from sklearn.metrics import accuracy_score

필요한 라이브러리를 임포트 해준다. 이 라이브러리는 성능평가를 한 데이터의 정확도를 계산해준다.

 

accuracy_score() 괄호안에 y_test 값과 y_pred 값을 넣어준다.

 

accuracy_score(y_test, y_pred)

 

 

 

아래와같이 나타낼 수도 있다.

 

from sklearn.metrics import classification_report

print(classification_report(y_test, y_pred))