머신러닝의 이해와 라이브러리 활용 기초(2)
강의 내용 실습
선형회귀 (Tip 실습)
단순회귀 VS. 다중회귀
단순선형회귀 | 다중선형회귀(범주형 데이터 사용) |
------------------------------------------ | 범주형 데이터 처리(Sex_en 컬럼 생성) #범주형 데이터 바꾸기 def get_sex(x):
if x == 'Female':
return 0
else:
return 1
#값을 컬럼에 넣어주기 위해서
tips_df['sex_en'] = tips_df['sex'].apply(get_sex)
|
MSE,r2_score 계산 (단순선형회귀) : x변수(total_bill) 1개, y변수(tip) #학습 x = tips_df[['total_bill']]
y = tips_df[['tip']]
model_lr2 = LinearRegression() model_lr2.fit(x,y) #예측
y_true_tip = tips_df['tip']
y_pred_tip = model_lr2.predict(tips_df[['total_bill']])
#평가(MSE)
print('단순선형회귀', mean_squared_error(y_true_tip,y_pred_tip))
출력: 단순선형회귀 1.036019442011377 #평가(r2_score)
print('단순선형회귀', r2_score(y_true_tip,y_pred_tip))
출력: 단순선형회귀 0.45661658635167657 |
MSE,r2_score 계산 (다중선형회귀) : x변수(total_bill,sex_en) 2개, y변수(tip) #학습
x = tips_df[['total_bill','sex_en']]
y = tips_df[['tip']]
model_lr3 = LinearRegression()
model_lr3.fit(x,y) #예측
y_true_tip = tips_df['tip'] y_pred_tip2 = model_lr3.predict(x)
#평가(MSE)
print('다중선형회귀', mean_squared_error(y_true_tip, y_pred_tip2))
출력: 다중선형회귀 1.0358604137213614 #평가(r2_score)
print('다중선형회귀', r2_score(y_true_tip, y_pred_tip2))
출력: 다중선형회귀 0.45669999534149974 |
로지스틱 회귀 (타이타닉 실습)
단순회귀 VS. 다중회귀
로지스틱 회귀(단순회귀) | 로지스틱 회귀(다중회귀/범주형 데이터 사용) |
------------------------------------------ |
범주형 데이터 처리 (Sex_en 컬럼 생성)
#범주형 데이터 바꾸기 def get_sex(x): if x == 'female':
return 0
else:
return 1
#값을 컬럼에 넣어주기 위해서 titanic_df['Sex_en'] = titanic_df['Sex'].apply(get_sex)
|
정확도, f1-score 계산 : x변수(Fare) 1개, y변수(Survived) #학습
x_1 = titanic_df[['Fare']]
y_true = titanic_df[['Survived']]
model_lor = LogisticRegression()
model_lor.fit(x_1, y_true)
#함수설정
from sklearn.metrics import accuracy_score, f1_score
def get_metrics(true,pred):
print('정확도', accuracy_score(true,pred))
print('f1-score', f1_score(true,pred))
#예측
y_pred_1 = model_lor.predict(x_1)
#평가(정확도,f1_score)
get_metrics(y_true,y_pred_1)
출력:
정확도 0.6655443322109988 f1-score 0.354978354978355
|
정확도, f1-score 계산 : x변수(Pclassm, Sex_en, Fare) 3개, y변수(Survived) #학습 x_2 = titanic_df[['Pclass', 'Sex_en', 'Fare']]
y_true = titanic_df[['Survived']]
model_lor_2 = LogisticRegression()
model_lor_2.fit(x_2,y_true)
#함수설정
from sklearn.metrics import accuracy_score, f1_score
def get_metrics(true,pred):
print('정확도',accuracy_score(true,pred))
print('f1-score', f1_score(true,pred))
#예측
y_pred_2 = model_lor_2.predict(x_2)
#평가(정확도,f1_score)
get_metrics(y_true, y_pred_2)
출력:
정확도 0.7867564534231201
f1-score 0.7121212121212122
|
선형회귀 VS.로지스틱 회귀
머신러닝 기초 완강 ~!! 끝 이제 머신러닝 심화 열심히 들어보자!
'QCQA_1기' 카테고리의 다른 글
TIL_6W1D_머신러닝 기초(1) (0) | 2025.01.20 |
---|---|
TIL_5W5D_통계학 기초 정리(3-6주차) (0) | 2025.01.20 |
TIL_5W3D~4D_통계학 기초 정리(1-2주차) (0) | 2025.01.17 |
TIL_5W2D_첫번째 프로젝트 시작과 끝 (0) | 2025.01.15 |
TIL_5W1D_지금까지 푼 데일리 루틴 정리(알고리즘_프로그래머스) (0) | 2025.01.13 |