훈련 데이터 언더샘플링
이제 Pandas 코드를 몇 줄만 써서 직접 훈련 세트를 언더샘플링해 보세요. 언더샘플링이 끝나면 loan_status의 값 분포를 확인해 결과를 검증할 수 있어요.
X_y_train, count_nondefault, count_default는 워크스페이스에 이미 로드되어 있어요. 다음 코드를 사용해 생성했어요:
X_y_train = pd.concat([X_train.reset_index(drop = True),
y_train.reset_index(drop = True)], axis = 1)
count_nondefault, count_default = X_y_train['loan_status'].value_counts()
원본 훈련 데이터에 대한 .value_counts()는 자동으로 출력돼요.
이 연습은 강의의 일부입니다
Python으로 배우는 신용 리스크 모델링
연습 안내
- 부도 아님과 부도 데이터셋을 각각
nondefaults,defaults로 만들어 저장하세요. nondefaults를count_default와 같은 수로 샘플링해nondefaults_under로 저장하세요..concat()을 사용해nondefaults와defaults를 이어 붙이고X_y_train_under로 저장하세요.- 새 데이터셋의 대출 상태에 대해
.value_counts()를 출력하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Create data sets for defaults and non-defaults
____ = ____[____[____] == 0]
____ = ____[____[____] == 1]
# Undersample the non-defaults
____ = nondefaults.sample(____)
# Concatenate the undersampled nondefaults with defaults
____ = pd.____([____.reset_index(drop = True),
____.reset_index(drop = True)], axis = 0)
# Print the value counts for loan status
print(____[____].____())