데이터 분석

14. 로지스틱 회귀

Uno_says 2024. 7. 9. 22:01
728x90

데이터: hr.csv

 

1. hr 데이터셋

  • employee_id: 임의의 직원 아이디
  • department: 부서
  • region: 지역
  • education: 학력
  • gender: 성별
  • recruitment_channerl: 채용 방법
  • no_of_trainings: 트레이닝 받은 횟수
  • age: 나이
  • previous_year_rating: 이전 년도 고과 점수
  • length_of_service: 근속 년수
  • awards_won: 수상 경력
  • avg_training_score: 평균 고과 점수
  • is_promoted: 승진 여부

 

 

 

 

📌결측치 확인

 

📌결측치 제거(axis=0 : 행 제거)

결측치가 있는 행들을 제거한다. (54808개의 행 -> 48660개의 행)

 

📌get_dummies()

 

필요없는 열 제거

 

 

📌학습

'is_promoted' 예측하기

 

 

 

2. 로지스틱 회귀(Logistic Regression)

  • 둘 중의 하나를 결정하는 문제(이진 분류)를 풀기 위한 대표적인 알고리즘
  • 다항 분류 문제에도 확장될 수 있음
  • 종속 변수 Y는 두 가지 범주 중 하나를 가짐(예: 0 또는 1)
  • 특정 범주의 속할 확률을 예측하는 것

▶ 로지스틱 회귀 모델은 일반화 선형 모델의 일종으로, 독립 변수의 선형 조합을 로지스틱 함수(시그모이드 함수)를 사용하여 종속 변수에 대한 확률 점수로 변환

 

 

 

 

3. 혼돈 행렬(confusion matrix)

  • 분류 문제에서 정밀도와 재현율(민감도)을 활용하는 평가용 지수

 

  • True Positive (TP): 실제로 양성(True Positive)이고, 모델이 양성으로 예측한 경우
  • True Negative (TN): 실제로 음성(True Negative)이고, 모델이 음성으로 예측한 경우
  • False Positive (FP): 실제로 음성(False Positive)인데, 모델이 양성으로 예측한 경우 (Type ⅠError)
  • False Negative (FN): 실제로 양성(False Negative)인데, 모델이 음성으로 예측한 경우 (Type Ⅱ Error)
  예측: 양성
(Positive)
예측: 음성
(Negative)
실제: 양성 (Positive) TP FN
실제: 음성 (Negative) FP TN

 

 

3-1. 정밀도(Precision)

  • TP / (TP + FP)
  • 무조건 양성으로 예측해서 계산하는 방법
  • 양성으로 예측한 것들 중에서 실제로 양성인 비율

3-2. 재현율(Recall)

  • TP / (TP + FN)
  • 정확하게 감지한 양성 샘플의 비율
  • 실제로 양성인 것들 중에서 양성으로 예측한 비율
  • 민감도(Sensitivity) 또는 TPR(True Positive Rate)라고도 부름

3-3. f1 score

  • 정밀도와 재현율의 조화평균을 나타내는 지표

 

 

 

 

📌'hr_df'로 학습시키기

 

📌새로운 데이터('temp_df')로 테스트

 

 

 

4. 교차 검증(Cross Validation)

  • train_test_split 에서 발생하는 데이터의 섞임에 따라 성능이 좌우되는 문제를 해결하기 위한 방법
  • k겹(k-Fold) 교차 검증을 가장 많이 사용

 

📌'n_splits=5' 이므로 train_index와 test_index의 비는 4:1 이다.

 

📌'shuffle=True' 를 함으로써 데이터를 섞어준다.

 

📌KFold 교차 검증을 사용하여 로지스틱 회귀 모델의 성능 평가

 

📌'n_splits=5' 이므로 5번의 교차검증을 한 accuracy값들이 나온다.

✔️교차검증을 사용하는 이유는 결과를 좋게 함이 아니라, 믿을만한 검증을 하기 위함이다.

728x90