이번에는 머신러닝 기법 중 하나인
Logistic Regression 을 알아봅시다.
이 기법은 분류에 사용됩니다.
ex) 나이대별로 이메일을 클릭해서 열지 말지를 분류해 보자
클릭(1) , 논클릭(0)
데이터를 가져와 물건을 구매할지(1) 안할지 (0)으로 분류하여 예측하는 인공지능을
만들어 봅시다,
# import
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
# read data
df = pd.read_csv('../data/Social_Network_Ads.csv')
# data check unique
df['Purchased'].unique()
# X 설정 y 설정
X = df.loc[:,['Age','EstimatedSalary']]
y = df['Purchased']
# 데이터의 분석을 위해 피쳐 스케일링
from sklearn.preprocessing import MinMaxScaler
scaler_X = MinMaxScaler()
X= scaler_X.fit_transform(X)
# train / test
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size = 0.25 , random_state = 1)
# LogisticRegression 학습
from sklearn.linear_model import LogisticRegression
classifier = LogisticRegression(random_state= 1)
classifier.fit(X_train,y_train)
# test
y_pred = classifier.predict(X_test)
classifier.predict_proba(X_test)
# 확률수치로 알려준다.
# 성능 테스트
from sklearn.metrics import confusion_matrix
confusion_matrix(y_test, y_pred)
# y_pred
# y 0 1
# t 0 52 6 -> 0으로 예측 0 결과 52개 , 1로 예측 6개 틀림
# e 1 14 28 -> 0으로 예측 14개 틀림 , 1 로 예측 28개 정답
# s
# t
from sklearn.metrics import accuracy_score
accuracy_score(y_test,y_pred)
#시각화 방법
# heat map 이용
import seaborn as sb
import matplotlib.pyplot as plt
sb.heatmap(data = cm , annot=True, cmap ='RdPu',linewidth=0.7)
plt.show()
'개발 > 머신러닝' 카테고리의 다른 글
파이썬. 머신러닝 - K-NN (0) | 2022.12.02 |
---|---|
파이썬. 머신러닝 - 의미없는 데이터 , 데이터의 불균형 처리방법(Up Sampling) (0) | 2022.12.02 |
파이썬. 머신러닝 - 내가 만든 Linear Regression으로 예측하기, joblib으로 저장 (0) | 2022.12.01 |
파이썬. 머신러닝 - Linear Regression ? (0) | 2022.12.01 |
파이썬. 머신러닝 - Training , Test 로 나누기. (0) | 2022.12.01 |