강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

Iron님의 프로필 이미지
Iron

작성한 질문수

[개정판] 파이썬 머신러닝 완벽 가이드

<신규> Recursive Feature Elimination과 SelectFromModel 실습

threshold

작성

·

268

0

강의를 보다보면

lasso 모델(?)을 통해 만들어진 lasso라는 변수를 통해 feature importance를 구하는데요. 이렇게 만들어진 feature importance 가 높은 상위 3개를 뽑는다는 것 까지는 알겠는데 뒤에 0.01을 더하는 이유는 무엇인가요? 

threshold = np.sort(importance)[-3] + 0.01

상위 3개중에 꼴찌인 bmi를 포함시키지 않기 위해서인가요...(??) 

그리고 sfm 에서의 median은 뭐에 대한 메디안인지도 안정해졌는데 어떻게 계산이되는걸까요..(?)

답변 1

1

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

1. threshold = np.sort(importance)[-3] + 0.01

상위 3개중에 꼴찌인 bmi를 포함시키지 않기 위해서인가요...(??)

=> 네, 맞습니다. 해당 threshold 기준으로는 bmi가 나오지 않습니다

2. 그리고 sfm 에서의 median은 뭐에 대한 메디안인지도 안정해졌는데 어떻게 계산이되는걸까요..(?)

=> SelectFromModel(,, threshold=)의 threshold인자가 보통은 숫자형을 받는데, 문자열을 받을 수가 있습니다. threshold = 'median'  이면 모델이 Lasso와 같은 선형 회귀에는 회귀계수값 즉 model.coef_  값의 median 값을 자동으로 threshold로 지정합니다.

트리 모델의 경우는 model.feature_importance값의 median값을 자동으로 지정합니다.

감사합니다.

Iron님의 프로필 이미지
Iron

작성한 질문수

질문하기