시작하기 전 임폴트 라이브러리!
# Importing the libraries
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sb
이번 포스팅에서 사용 할 데이터 df
df = pd.read_csv('Social_Network_Ads.csv')
df.head()
전 포스팅 내용 =============================
1. 데이터에 NaN이 있는지 확인해야한다
2. X와 y 값 분리해주기
3. 로지스틱 리그레션은 피처 스케일링을 해주어야 한다
4. 인공지능에 넣어 줄 train과 test를 만들어주자
5. 모델링을 선택하여 인공지능 만들어서 값 예측하기
==========================================
이번 포스팅
전 포스팅에서 만든 인공지능 Confusion Matrix 오차 검증, 성능평가
y_pred = classifier.predict(X_test)
y_pred
>>>
array([0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1,
1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1,
0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0], dtype=int64)
1. 예측한 y 와 정답인 y를 데이터 프레임으로 만들어 눈으로 비교하는 방법
y_pred = classifier.predict(X_test)
df_test = y_test.to_frame()
df_test['y_pred'] = y_pred
df_test
2. Confusion Matrix 분류결과표로 확인하는 방법
- 해당 분야에 따라 필요로 하는 정확도, 정밀도, 적중율 부분을 확인하고 오차를 줄여 나간다
- 분류 결과표를 위한 라이브러리
from sklearn.metrics import confusion_matrix
- confusion_matrix(실제데이터, 예측한 것) 사용
cm = confusion_matrix(y_test, y_pred)
cm
>>>
array([[52, 6],
[14, 28]], dtype=int64)
- 정확도 계산하기 : accuracy
(52 + 28) / cm.sum()
- 정확도 계산 라이브러리, 임폴트 accuracy_score, classification_report
from sklearn.metrics import accuracy_score
accuracy_score(y_test, y_pred)
# 0.8
from sklearn.metrics import classification_report
print(classification_report(y_test, y_pred))
>>>
precision recall f1-score support
0 0.79 0.90 0.84 58
1 0.82 0.67 0.74 42
accuracy 0.80 100
macro avg 0.81 0.78 0.79 100
weighted avg 0.80 0.80 0.80 100
3. 시본 heatmap 으로 Confusion Matrix 분류 결과표 보기
import seaborn as sb
sb.heatmap(data=cm, cmap='RdPu', annot= True)
plt.show()
'MACHINE | DEEP LEARNING > Machine Learning Project' 카테고리의 다른 글
[AI] 머신러닝 Supervised. 분류 알고리즘 Classidication - LogisticRegression, KNeighbors, SVM(SVC), DecisionTree (0) | 2024.04.15 |
---|---|
[AI] 머신 러닝 데이터의 불균형 샘플링하는 방법 _ SMOTE를 활용한 오버샘플링 (0) | 2024.04.15 |
[AI] 머신 러닝 피처 스케일링, train test 만들기, LogisticRegression 모델링 (0) | 2024.04.15 |
[AI] 머신 러닝 Logistic Regression _ 시그모이드(sigmoid) 함수 (0) | 2024.04.15 |
[AI] 머신러닝 Supervised. 학습된 인공지능을 가지고, 신규 데이터 처리 방법 (0) | 2024.04.14 |