• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    미해결

feature 중요도 질문입니다.

22.06.06 20:35 작성 조회수 223

0

안녕하세요~ feature 중요도 관련하여 질문 드립니다.
 
 
105_PRACTICE_TITANIC_IMPORTANCE 파일의 아래 부분에서,
for alg in tree_models:
    try:
        print(alg.__class__.__name__)
        print(alg.feature_importances_)        
    except:
        print(alg.__class__.__name__, "X")
 
try 구문에서 먼저 alg.fit(x_train, y_train)을 학습시키지 않아도 되는지 궁금합니다.
(이게 없으면 어떤 데이터의 feature를 기준으로 alg.feature_importances_ 를 실행할까? 라고 생각해서요.)
 
답변 기다리겠습니다. 감사합니다~

답변 1

답변을 작성해보세요.

1

안녕하세요. 

해당 주피터노트북의 상단에, 

다음 코드로, 학습을 우선 시킨 것이거든요.

 

models = [

    knn_model,

    logreg_model,

    svc_model,

    decision_model,

    random_model,

    extra_model,

    gbm_model,

    nb_model,

    xgb_model,

    lgbm_model

]

 

k_fold = KFold(n_splits=10, shuffle=True, random_state=0)           # K-Fold 사용

results = dict()

for alg in models:

    alg.fit(X_train, y_train)

    score = cross_val_score(alg, X_train, y_train.values.ravel(), cv=k_fold, scoring='accuracy')

    results[alg.__class__.__name__] = np.mean(score)*100

 

그렇게 학습된 모델중, 다음 네개의 모델을 가져와서, 학습하며 계산된 feature_importances_ 를 기준으로 진행하였습니다.

tree_models = [

    random_model,

    extra_model,

    gbm_model,

    xgb_model

]

 

이 부분 주피터 노트북의 상단 코드를 다시 한번 보시면서, 위 글을 읽어보시면, 바로 이해하실 수 있으실 것 같습니다.

 

감사합니다.