저는 현재 기업 SW교육 단기과정 실습조교로 참여하고 있어요. 지금 같이 일 하는 강사님은 현재 여러 대기업의 데이터분석 교육과정 커리큘럼에 참여하고 계세요. 마침 좋은 기회라 생각해서 몇가지 여쭤봤습니다 🙂
지금 제가 데이터분석 스터디를 하는데, 현재까진 책 하나 잡고 데이터 전처리, 평가, 모델, 차원축소 등 개념 정도만 잡고 캐글 많이 보는 방식으로 하고 있습니다. 이 이후에는 콘텐츠를 어떻게 하면 좋을까요?
- 모델 공부를 더 하는 게 좋겠다. 모델을 잘 이해해야 데이터 유형을 보고 어떤 모델을 적용하는 것이 좋은지를 알 수있다.
예를 들어 오토인코더 같은 건 (이 이전에 '캐글 보면 기본모델이랑 오토인코더 합치기도 하고 뭐 그러던데 이런 시도는 어디서 나오는 건지 잘 모르겠다' 같은 얘기를 나눴던 참) 주로 벡터 데이터가 아닌 2차원 데이터에 적용할 수 있는 방법론인데, 그걸 그냥 무작정 따라 쓰는 사람들이 참 많다. 어떤 분포에 어떤 모델이 왜 효과적인지를 공부한다면 좋을 것이다. 그걸 모르고 하면 그냥 이것저것 다 써보는 수밖에 없는 거다.
- 지금은 기본만 공부했을 텐데 실제 캐글에서 하는 것들 보면 SVM, 랜덤포레스트 같은 모델 몇 가지를 돌려 거기서 나온 아웃풋를 피처 삼아서 XGboost 돌리고 뭐 이런 식이다. 이걸 스태킹이라고 부른다. 이게 왜 먹히는 것인지도 모르고 하면 막막할 수밖에 없다.
- 아니면 기업에서 주최하는 실제 대회를 참가해보는 것도 좋을 것이다. 왜냐면 거긴 데이터가 엄청 더럽다. EDA만 2주 넘게 걸린다. 라벨이 뭘 의미하는 건지도 모르겠고, 뭐가 이상치인지도 모르겠고, 하며 부딪치며 고민해봐야 데이터 보는 안목이 생기고 엄청 늘 것이다.
- 근데 공정성이나.. 전문성 있는 평가, 깔끔한 운영방식 뭐 이런건 별로 기대하지 않는 게 좋다. 경험으로 해볼 것
- 딥러닝을 해보는 것도 괜찮을 듯. 그 쪽도 공부할 거 무지막지하다.
데이터 보는 안목은 어떻게 길러야 할까요? EDA도 공부하는 방법이 있을까요?
- EDA는 공부법이 없다. 이쪽은 그냥 경험 쌓는 수밖에 없다. 경험이 쌓여야 어떤 게 이상치인지, 어떤 게 치우친 데이터인지, 그런 게 보이는 거다.
그래서 캐글에서 실습을 많이 하려 하고 있습니다
- 캐글도 좋긴 한데... 자기가 직접 정의한 문제를 해결하기 위해 스스로 데이터를 크롤링이든 포털이든 이용해서 구해보고 분석해보는 경험을 하길 바란다.
- 예를 들면, '고독사한 사람의 사망 여부를 데이터를 통해 알 방법이 있을까? → 사람이 사는데 반드시 쓰는 건 전기 → 전기 사용량을 보면 집을 비우거나 사망한 것을 알 수 있을 것임→ 전기 사용량 데이터를 구해볼까?' 하는 식으로 문제를 정의하고 프로젝트 기획을 해보는 것이다. 데이터 구하고 분석하는 거 엄청 빡셀 거다. 모델은 오히려 쉬울 것인데, 이 때 모델 지식이 없으면 빡칠 거다. 왜냐면 모델링이 (다른 과정에 비해)제일 쉬워야 하기 때문이다.