시작하기무료로 시작하기

특성 변환

은행 지점장과 신용 데이터셋을 논의하고 있어요. 지점장은 가장 안전한 대출 신청서는 중간 정도의 금액을 요청하는 경향이 있다고 제안합니다. 너무 낮거나 너무 높은 값은 높은 위험을 시사하죠. 이는 이 변수와 클래스 사이에 비선형 관계가 존재할 수 있음을 의미합니다. 이 가설을 검증해 보려고 합니다. 먼저 해당 특성에 비선형 변환을 적용하고, 그런 다음 SelectKBest()chi2() 지표(둘 다 미리 로드됨)를 사용해 두 특성 중 어떤 것이 클래스를 더 잘 예측하는지 평가할 거예요.

데이터는 credit라는 pandas DataFrame으로 제공되며, 클래스는 class 열에 들어 있습니다. 또한 pandaspd로, numpynp로 미리 로드되어 있어요.

이 연습은 강의의 일부입니다

Python으로 설계하는 Machine Learning 워크플로

강의 보기

연습 안내

  • 숫자 벡터의 각 값이 벡터 평균값과 얼마나 떨어져 있는지의 절대차를 계산해 변환하는 함수를 정의하세요.
  • 이 변환을 데이터셋의 credit_amount 열에 적용하고, 결과를 diff라는 새 열에 저장하세요.
  • chi2() 지표를 사용해 credit_amountdiff 두 열 중 하나를 선택하도록 SelectKBest() 특성 선택기를 생성하세요.
  • 결과를 확인하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Function computing absolute difference from column mean
def abs_diff(x):
    return ____(x-____)

# Apply it to the credit amount and store to new column
credit['diff'] = ____

# Create a feature selector with chi2 that picks one feature
sk = ____(chi2, ____)

# Use the selector to pick between credit_amount and diff
sk.fit(____, credit['class'])

# Inspect the results
sk.____()
코드 편집 및 실행