permutation importance 순서가 잘 이해가지 않습니다.
289
작성한 질문수 4
안녕하세요. 강사님 아래 코드에서 이해가 안되는게 있어 질문드립니다.
#학습, 예측, R2 Score 평가
model = Ridge(alpha=1e-2).fit(X_train, y_train) # 릿지회귀로 학습을 시킨다.
y_pred = model.predict(X_val)
print('r2 score:', r2_score(y_val, y_pred))
r2 score: 0.35666062386954545
# 가장 평균 permutation importance가 높은 순으로 내림차순 정렬 후 평균 permutation importance값과 표준 편차 출력
for i in r.importances_mean.argsort()[::-1]:
if r.importances_mean[i] - 2 * r.importances_std[i] > 0:
print(diabetes.feature_names[i]," ", np.round(r.importances_mean[i], 4), " +/- ", np.round(r.importances_std[i], 5))
이때 출력값이
s5 0.2042 +/- 0.04965
bmi 0.1758 +/- 0.0484
bp 0.0884 +/- 0.03284
sex 0.0559 +/- 0.02319 인데요
여기에서 순서가 반대로 되야 하는게 아닌가요 (sex bp bmi s5 순서로)
예를 들어 s5 피쳐는 30번 랜덤 셔플해서 나온 성능이 0.2042이고
sex는 0.0059이면 원본 값의 r2 score가 0.3566 인경우 그 차이(원본에서 평균적으로 얼마나 성능이 감소했나)가 큰 피쳐가
영향을 더 준다고 이해했는데 그렇다면 순서가 반대가 되어야 하지 않나요. (원본 0.3566에서 sex를 뺀게 s5를 뺀것보다 큼)
강의 중에 s5 피쳐관련해서 1.5라는 값도 얘기하셨는데 잘 이해가 안가서 질문드립니다.
답변 1
1
안녕하십니까,
이 부분은 좀 더 자세히 설명할 필요가 있었던것 같습니다.
permutation_importance를 적용해 버리면, 바로 피처 중요도가 permutation importance 방식으로 적용해 버립니다.
그러니까, permutation_importance.importances_mean 속성은 계산된 피처 중요도를 가지고 있습니다. 이중에서 높은 것부터 출력하면 됩니다.
감사합니다.
모델 서빙과 관련된 강좌가 출시되는지 질문드립니다.
0
57
2
안녕하세요 열심히 수강중인 학생입니다
0
93
2
정수 인덱싱
0
86
2
넘파이 오류
0
116
2
11강 numpy의 axis 축 질문 드립니다.
0
109
2
Kaggle 에서 Santander customer satisfaction data 를 다운로드 되지가 않습니다.
0
98
2
Feature importances 를 보여주는 barplot 이 그래프로 안보여져요.
0
82
2
타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.
0
83
2
타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.
0
76
2
5강 강의 오류가 있어요.
0
90
1
실무에서 LTV 관련 모델 선택 질문입니다!
0
82
2
14강 강의 듣는중에 궁금한게 있어서 질문합니다~
0
81
3
파이썬 다운그레이 후 사이킷런 재설치
0
131
2
좋은 강의 감사합니다.
0
83
2
scoring 함수 음수값
0
78
2
6번 강의에 사이킷런, 파이썬, 아나콘다 각각 버전 일치 안 시키고 진행해도 강의 따라가 지나요?
0
109
2
분류 평가 정확도 예측
0
90
2
안녕하세요. 강의 들으면서 업무에 적용하고 싶은 수강생입니다.
0
114
1
카카오톡 채널 있나요
0
119
1
혹시 강의에서 사용하시는 ppt 받을 수 있는건가요
0
195
2
pca 스케일링 관련하여 질문드립니다.
0
110
2
주피터 대신 구글 코랩
0
184
2
강의에서 사용하는 pdf or ppt자료는 따로 없는 건가요?
0
156
2
실루엣 스코어..
0
93
2





