• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    미해결

threshold

21.05.20 22:44 작성 조회수 204

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값을 자동으로 지정합니다.

감사합니다.