펭귄 몸무게 예측 중 질문사항이 있습니다.

2022.01.06 02:07 1,867 조회

안녕하세요 데이터 사이언스 접한 지 얼마 안된 새내기입니다.

이번에 펭귄 몸무게 예측 대회 참가 중 인데, 궁금한 점이 생겨서 질문 올립니다.

Kfold를 하면 성능이 좋아진다 길래 Kfold를 했는데  n_splits =4 로 했는데, 모델의 수가 1개로 나옵니다.

왜 이러는 지 알려주시면 감사하겠습니다.


folds = KFold(n_splits=4, shuffle=True, random_state=23)
for train_idx, val_idx in folds.split(X_train):
    print (len(train_idx), len(val_idx))  


   

이렇게 해서 Kfold를 한 후


model = lgb.LGBMRegressor(random_state=55, n_estimators=200)
models = []
for train_idx, val_idx in folds.split(X_train):
    x_t = X_train.iloc[train_idx]
    y_t = y_train.iloc[train_idx]
    x_val = X_train.iloc[val_idx]
    y_val = y_train.iloc[val_idx]
  
models.append(model.fit(X_train, y_train, eval_set=(x_val, y_val), early_stopping_rounds=200, verbose=20))
    


학습을 진행했는데

모델의 수가 1개로 나오는데

중간에 무슨 실수를 제가 했나요?

혹시 데이터의 수가 적으면 (펭귄 train데이터는 (114,11) 입니다) 모델이 1개로 나오게 되나요?


preds = []
for model in models:
    preds.append(model.predict(X_test))
len(preds)
1



완전 초보라 구글링 해도 몰라서 올려봅니다.

답변 해주시면 감사합니다.

로그인이 필요합니다
0 / 1000
datu
2022.01.06 09:22

두번째 코드에서 for문 안에 들어가지 않아서 그런게 아닐까요?

만희
2022.01.06 11:16

댓글 보고 바로 했더니 됩니다. 정말 별거 아닌 실수였네요.

감사합니다.!!