특성 변환
은행 지점장과 신용 데이터셋을 논의하고 있어요. 지점장은 가장 안전한 대출 신청서는 중간 정도의 금액을 요청하는 경향이 있다고 제안합니다. 너무 낮거나 너무 높은 값은 높은 위험을 시사하죠. 이는 이 변수와 클래스 사이에 비선형 관계가 존재할 수 있음을 의미합니다. 이 가설을 검증해 보려고 합니다. 먼저 해당 특성에 비선형 변환을 적용하고, 그런 다음 SelectKBest()와 chi2() 지표(둘 다 미리 로드됨)를 사용해 두 특성 중 어떤 것이 클래스를 더 잘 예측하는지 평가할 거예요.
데이터는 credit라는 pandas DataFrame으로 제공되며, 클래스는 class 열에 들어 있습니다. 또한 pandas는 pd로, numpy는 np로 미리 로드되어 있어요.
이 연습은 강의의 일부입니다
Python으로 설계하는 Machine Learning 워크플로
연습 안내
- 숫자 벡터의 각 값이 벡터 평균값과 얼마나 떨어져 있는지의 절대차를 계산해 변환하는 함수를 정의하세요.
- 이 변환을 데이터셋의
credit_amount열에 적용하고, 결과를diff라는 새 열에 저장하세요. chi2()지표를 사용해credit_amount와diff두 열 중 하나를 선택하도록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.____()