이 전 포스팅에서 실습했던 X변수 'Fare'에 Pclass와 Sex 컬럼을 추가하여 다중 로지스틱 회귀를 실습해보자.
# 다중 로지스틱 회귀 실습
def get_sex(x):
if x == 'female':
return 0
else:
return 1
titanic_df['Sex_en'] = titanic_df['Sex'].apply(get_sex)
X_2 에 Fare, Sex, Pclass를 넣어주자.
X_2 = titanic_df[['Pclass','Sex_en','Fare']]
y_true = titanic_df[['Survived']]
from sklearn.linear_model import LinearRegression, LogisticRegression
model_lor_2 = LogisticRegression()
model_lor_2.fit(X_2, y_true)
get_att 함수를 model_lor_2로 적용해보자.
get_att(model_lor_2)
그 다음으로 predict 메서드를 이용해 y_pred_2를 만든다.
y_pred_2 = model_lor_2.predict(X_2)
y_pred_1과 비교하면 0,1,1,1로 생존으로 예측치가 바뀐 것을 볼 수 있다.
데이터가 많아져 정확도가 올라갔을 것이다.
metrics 함수를 이용해서 정확도와 f1-score을 보자.
참고) predict_proba 메서드
predict 메서드는 0.5 이상이면 생존, 0.5 이하면 사망으로 예측하는 반면
predict_proba 메서드는 정확한 확률을 반환한다. 왼쪽 값이 사망확률, 오른쪽 값이 Y가 1인(생존) 확률이다.
- 선형회귀와 로지스틱회귀의 공통점
- 모델 생성이 쉬움
- 가중치(혹은 회귀계수)를 통한 해석이 쉬운 장점이 있음
- X변수에 범주형, 수치형 변수 둘 다 사용 가능
- 선형 회귀와 로지스틱회귀의 차이점
'TIL > 머신러닝' 카테고리의 다른 글
데이터분석 예측 모델링 실습 (0) | 2024.08.19 |
---|---|
데이터 프로세스 : 데이터 전처리, EDA (0) | 2024.08.16 |
머신러닝 - 로지스틱회귀 실습 (0) | 2024.08.13 |
머신러닝 - 로지스틱회귀 이론 (0) | 2024.08.12 |
머신러닝 - 다중 선형회귀 이론, 실습 (0) | 2024.08.12 |