[ML] LogisticRegression(로지스틱 회귀)
로지스틱 회귀 정의
LogisticRegression은 데이터가 어떤 범주에 속할 확률을 0과 1 사이의 값으로 예측하고, 그 확률에 따라 가능성이 더 높은 범주에 속하는 것으로 분류해 주는 지도학습 알고리즘입니다.
로지스틱 함수는 시그모이드 함수에 속하는 함수입니다. Sigmoid Function은 그래프로 나타내면 "S"자 모양으로 곡선이 나타납니다. 로지스틱 함수의 그래프는 Sigmoid 함수의 S자 모형을 따릅니다.
자세한 설명은 아래 블로그를 통해 말씀드리겠습니다.
2023.03.23 - [Programming/Machine Learning] - [ML] 로지스틱 회귀 개념 정리
[ML] 로지스틱 회귀 개념 정리
[목차] 로지스틱 회귀 정의 시그모이드 함수 Odds(오즈 또는 승산) 및 Odds Ratio(오즈비 또는 승산비) Logit 1. 로지스틱 회귀 정의 로지스틱 회귀를 사용하여 데이터가 어떤 범주에 속할 확률을 0 or 1
armmy.tistory.com
LogisticRegression 분석하기
1. 데이터 살펴보기
공공데이터의 의료 데이터로 성별, 키, 나이 등등 자료가 있는 데이터를 가져왔어요.
import pandas as pd
df = pd.read_csv('C:/Users/areum/Desktop/POC시연자료/로지스틱.csv')
df
2214개의 행과 8개의 컬럼으로 이루어져 있다는 것을 확인할 수 있습니다.
이를 통해 성별을 로지스틱분석으로 분류해보려고 합니다.
2. 학습세트 / 평가세트 분리하기
from sklearn.model_selection import train_test_split
train_features, test_features, train_labels, test_labels = train_test_split(features, survival)
3. 데이터 정규화하기
standardscaler를 사용하여 데이터 정규화
fit_transform은 fit과 transform을 합친 형태입니다. fit은 각 속성마다 컬럼을 만드는 작업 그 후 transform을 통해 데이터 변형
from sklearn.preprocessing import StandardScaler
ss=StandardScaler()
train_features = scaler.fit_transform(train_features)
test_features = scaler.transform(test_features)
4. 모델 생성 및 평가하기
from sklearn.linear_model import LogisticRegression
lr=LogisticRegression()
lr.fit(train_features, train_labels)
- 학습세트로 정확도 추출
print(lr.score(train_features, train_labels))
0.88085827216262
- 테스트세트로 확인
print(lr.score(test_features, test_labels))
0.8690744920993227
86%의 정확도 확인.