아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
깔끔한올빼미80
깔끔한올빼미8020.10.03

머신런닝 데이터셋 구성관련 질문입니다.수정

머신러닝 데이터셋을 구성할때 result값을 데이터셋에 포함시켜야하나요?

예를 들어서 피싱사이트 판별관련 학습시에

1,1,1,1,1,1,-1,-1,1or-1 <--마지막은 피싱인지아닌지

Result값을 넣어야하는지 궁금합니다.

현재는 넣은 채로 구성했는데

판단기준을 통해서 1,1,1,1 ... 이렇게 뽑는데

결국 마지막 하나는 판단이 전부 끝난후에 넣을수있는거니까 데이터셋과 url을 판단기준을 통해 만들어낸 1,1,1,,....과 비교할때 만들어진 애가 하나 모자라니까 prediction 이 안되더라고요

어떻게해야할까요

이미 만들어놓은 데이터셋에는 1or-1이 결과값으로 미리 들어있습니다. 하지만 판단에는 아직 판단이끝나지않았으므로 마지막이 안들어있어서 갯수가 안맞는것같습니다.

55글자 더 채워주세요.
답변의 개수
2개의 답변이 있어요!
  • 질문의 내용이 보통 사용되는 단어들과 꽤 큰 차이가 있어서, 제가 이해한 바를 한 번만 말씀드리자면:

    1과 -1로 training하는 y가 구성되어 있고 prediction을 하시려는 데이터를 training set에 포함을 시키는 것을 말씀하시는 것 같습니다.

    제가 이해한 것이 질문하신 것과 다르다면 꼭 댓글을 남겨주세요. 해결될 때까지 도움을 드리겠습니다.

    일단 training set과 test set은 철저히 분리시키셔야합니다. 트레이닝 데이터에 테스팅 데이터를 넣으시면 마치 수능 시험을 보기 전에 시험 공부를 하면서 수능에 나올 문제를 미리 아는 것과 같습니다. 모델이 테스팅과 트레이닝 데이터를 모두 학습하고 테스팅 데이터로 테스트를 진행하면, 모델은 아주 높은 확률로 overfit(과도하게 한 가지 데이터셋에만 훈련되어서 새로운 데이터를 보았을 때 원래 테스트 결과보다 현저히 성능이 떨어지는 현상)이 발생합니다. 그래서 보통 딥러닝을 제외한 모델들은 training set으로 훈련을 마치고 test set으로 테스트 결과를 측정하며, k-fold cross-validation으로 overfit을 방지합니다. 딥러닝은 training set, validation set, test set 이렇게 세 개로 나누는 경우가 많습니다.


  • 답변드리도록 하겠습니다.

    머신러닝 데이터셋을 구성할때 result값을 데이터셋에 포함시켜야하나요?

    >> 머신러닝은 학습한 후에 학습 완료된 모델을 예측을 하는 과정입니다.

    Prediction한 결과가 다시 학습하고자하는 데이터셋에 들어가는 로직은 굉장히 바람직하지 않은 데이터셋 구성입니다.

    데이터셋은 정답데이터가 들어가야되는데 Prediction한 result가 다시 데이터셋에 들어가면 그 데이터셋의 신뢰성이 잃어버려 학습의 의미가 없어질 것같습니다.

    Prediction 결과를 바로 dataset에 result에 추가하지 말고, 눈으로 보든 어떤 로직을 사용하든 100% 신뢰할 수 있는 추가의 검증과정을 거쳐야합니다.

    이미 만들어놓은 데이터셋에는 1or-1이 결과값으로 미리 들어있습니다. 하지만 판단에는 아직 판단이끝나지않았으므로 마지막이 안들어있어서 갯수가 안맞는것같습니다.

    >> 이건 그냥 데이터셋에 result가 없으면 학습을 안하면 될 것같습니다. 간단히 데이터셋의 길이로 검사를 하면 되겠네요.