답변함

실제 시험도 동일한지 문의드립니다.

실전모의고사 책을 구매하여 보고 있는데,

오타는 많아서 그냥 넘어가고, 제일 의문스러운 두 개가

1. 지금 4회까지 문제를 풀어봤는데 모두 dataset을 train/valid로 구분하고 valid dataset으로 test까지 수행하는 걸로 진행하고 있습니다. 이런 방식이 실제 시험에도 동일한가요? 보통 실무에서는 train/valid/test set을 엄격히 구분하지 않나요?

2. 두어개의 컬럼에 대한 결측치를 이런저런 방법으로 해결을 요구하는 것이 문제에 나와있습니다. 그런데 그 문제를 풀고도 dataframe의 다른 컬럼에 결측치가 그대로 남아있습니다. 이에 대해서 어떻게 하라는 요구사항이 없어서 그대로는 머신러닝이나 딥러닝 모델을 학습시키는 것이 불가능합니다. 따라서 결측치를 처리해야하는데, 그냥 시험에서도 dropna를 하던 아니면 적당한 값을 기입하던지 해서 문제에서 요구하지 않은 방식으로 임의대로 처리하면 되나요?

제가 혹시 풀이가 잘못되었을까 싶어서 올려주신 실습 노트북 파일로 그대로 실행해봐도 동일하게 결측치에 대한 에러가 발생합니다.

ValueError: Input X contains NaN. SVR does not accept missing values encoded as NaN natively. For supervised learning, you might want to consider sklearn.ensemble.HistGradientBoostingClassifier and Regressor which accept missing values encoded as NaNs natively. Alternatively, it is possible to preprocess the data, for instance by using an imputer transformer in a pipeline or drop samples with missing values. See https://scikit-learn.org/stable/modules/impute.html You can find a list of all estimators that handle NaN values at the following page: https://scikit-learn.org/stable/modules/impute.html#estimators-that-handle-nan-values

 

확인 좀 부탁드립니다.

0

댓글

댓글 1개
날짜 투표수
  • 안녕하세요. 문의 주셔서 감사합니다.
    질문 주신 내용에 대해 아래와 같이 답변드립니다.

    1. train/valid 분리 방식 관련

    이 시험은 실무적인 모델링보다는,
    파이썬이라는 프로그래밍 언어를 활용해서
    데이터 분석의 전체 흐름을 이해하고 구현할 수 있는지를 확인하는 데 초점이 맞춰져 있습니다.

    말씀하신 것처럼 실무에서는 train, valid, test를 엄격히 나누는 것이 맞습니다.
    다만 시험에서는 난이도와 범위를 고려했을 때
    그 단계까지 요구되지는 않는 구조로 출제되고 있습니다.

    추후 시험이 확장되면 해당 부분까지 포함될 가능성은 있습니다.

     

    2. 결측치가 남아 있는 문제 관련

    이 부분은 말씀 주신 내용이 맞습니다.
    일부 문항은 특정 컬럼의 결측치 처리만 요구되어 있는데,
    실제로는 다른 컬럼에도 결측치가 남아 있어 그대로는 모델 학습이 되지 않는 문제가 있었습니다.

    이는 문제를 재구성하는 과정에서 잘못된 데이터를 드린 부분으로 보이며,
    혼란을 드리게 된 점 양해 부탁드립니다.

    0

댓글을 남기려면 로그인하세요.

 

원하는 것을 찾지 못하셨나요?

질문하기