이 글에서는 딥놀 유투브(https://www.facebook.com/groups/390106704876622/) 에서 곧 다루어질 "데이터 사이언스"에 대한 토론을 위해서 필자의 생각을 먼저 정리하고자 한다.
데이터 사이언스!
2019년도 현재에 "인공지능", "딥러닝"라는 키워드에 밀려서 IT 구직자들의 관심이 다소 떨어진 분야이다.
하지만 데이터 사이언스는 여전히 중요하며 딥러닝과 인공지능을 포함하는 다양한 분야 (사실 필자는 모든 분야라고 생각하지만!)의 근간을 이루고 있다. 실제로 필자가 종사하고 있는 자연어처리 분야는 데이터 엔지니어링이 받쳐주지 않으면 아무것도 못하는 분야이다. (참고로 저는 데이터처리를 하는 머신러닝 사이언티스트입니다. ^ㅡ^)
하지만 데이터 사이언스는 여전히 중요하며 딥러닝과 인공지능을 포함하는 다양한 분야 (사실 필자는 모든 분야라고 생각하지만!)의 근간을 이루고 있다. 실제로 필자가 종사하고 있는 자연어처리 분야는 데이터 엔지니어링이 받쳐주지 않으면 아무것도 못하는 분야이다. (참고로 저는 데이터처리를 하는 머신러닝 사이언티스트입니다. ^ㅡ^)
"분야 정의"
데이터 사이언스라는 것은 정의하면 "데이터를 통계처리하고 유의미한 정보를 뽑아내서 의사결정하는 것"이라고 할 수 있다. 근데 사실 이건 우리 조상들이 매우 오랜 전 부터 해오던 일이다.
"나이팅게일의 데이터 사이언스"
데이터 사이언스의 기원이라고 하면 많이 얘기하는 그림이 있다. 그 유명한 간호학의 마더 나이팅게일이 그린 한 장의 그림이다.
데이터 사이언스의 기원이라고 하면 많이 얘기하는 그림이 있다. 그 유명한 간호학의 마더 나이팅게일이 그린 한 장의 그림이다.
크림전쟁에서 나이팅게일은 군간호를 위해서 "위생"이라는 개념을 처음 도입한다. 그리고 상부를 설득하기 위해서 데이터 사이언스를 사용한다.
그녀 문제의식는 다음과 같다. "전투에서 죽는 군인들 보다 병원에서 죽는 병사가 많다. 이건 좀 이상하지 않은가?" 이러한 사실을 상부 알리고 문제 개선을 위한 지원 자금을 얻어내기 위해서 위의 그림을 그린다. 딱 봐서는 무슨 그림인지 알기 어렵지만, 월별로 사망자 원인에 대해서 시각화한 파이차트이다. 하나의 파이에서 밖에서 보면 - 전염병에 의한 사망- 부상에 의한 사망- 기타 원인에 의한 사망 으로 분류된다.
그녀 문제의식는 다음과 같다. "전투에서 죽는 군인들 보다 병원에서 죽는 병사가 많다. 이건 좀 이상하지 않은가?" 이러한 사실을 상부 알리고 문제 개선을 위한 지원 자금을 얻어내기 위해서 위의 그림을 그린다. 딱 봐서는 무슨 그림인지 알기 어렵지만, 월별로 사망자 원인에 대해서 시각화한 파이차트이다. 하나의 파이에서 밖에서 보면 - 전염병에 의한 사망- 부상에 의한 사망- 기타 원인에 의한 사망 으로 분류된다.
"경험 보다는 통계 그리고 시각화"
데이터 사이언스를 한마디로 요약하면 "경험보다는 통계"이라고 생각한다. 조금 더 이야기 하면 경험을 (데이터기록을 통한) 통계를 가지고 이야기 하는 것이다. 나이팅게일은 입원 기록, 퇴원 기록, 사망자수 기록을 파이차트로 시각화하여 상부를 설득했다. 의사결정권자들이 한눈에 파악할 수 있게 했다. 그러면 데이터 사이언스의 핵심은 전부 얘기된 것이다. "통계 그리고 시각화" 이다.
"시각화 + 데이터 스토리텔링"
결국 "통계+시각화"를 하는 것은 의사결정을 위한 근거 정보를 만들기 위함이다. "데이터 스토리텔링"이 중요한 이유는 그 통계치를 해석하여 비지니스 의사결정에 연결시켜야 하기 때문이다. 이 부분을 잘하기 위해서는 인포그래픽스에 대한 감각과 비지니스 도메인 지식이 중요하다고 생각한다. 일반적으로 컴퓨터 공학과 출신이 상대적으로 잘 못하는 영역이다.
"통계처리 == 아웃라이어를 찾는 것"
여기서 통계처리라고 하면 평균 분산 등을 계산하는 것이라고 생각하는 경우가 많다. 하지만 데이터 사이언스에서 통계처리의 핵심은 아웃라이어를 찾아내는 것이다. 보통 통계치에서 인사이트를 주는 것은 아웃라이어 (즉 일반적인 범위를 벗어나서 튀는 값) 이다. 그것이 무엇이든간에 데이터를 가공하여 아웃라이어를 찾아내야 한다.
(출처: https://medium.com/datadriveninvestor/unboxing-outliers-in-machine-learning-d43fe40d88a6)
"통계처리 == 아웃라이어를 찾는 것"
여기서 통계처리라고 하면 평균 분산 등을 계산하는 것이라고 생각하는 경우가 많다. 하지만 데이터 사이언스에서 통계처리의 핵심은 아웃라이어를 찾아내는 것이다. 보통 통계치에서 인사이트를 주는 것은 아웃라이어 (즉 일반적인 범위를 벗어나서 튀는 값) 이다. 그것이 무엇이든간에 데이터를 가공하여 아웃라이어를 찾아내야 한다.
(출처: https://medium.com/datadriveninvestor/unboxing-outliers-in-machine-learning-d43fe40d88a6)
"빅데이터와 데이터 엔지니어링"
개발자들이 데이터 사이언스에 관련되기 시작한 것은 "빅데이터"라는 키워드와 관련있다. 통계를 내야하는데 처리해야할 데이터량이 너무 많은 것이다. 단순한 액셀이나 통계프로그램으로는 처리가 안되는 수준이 되어 "데이터 처리" 자체가 전문분야 가 되어 버린다. 이 분야 를 "데이터 엔지니어링"를 부르고 HDFS, YARN, Spark등을 다룰 줄 아는 개발자들이 일하게 된다. 이 프레임워크에 대한 이야기는 따로 다루기로 한다.
"그럼 누가 데이터 사이언티스트가 되나"
결국에 데이터 사이언스를 하려면 아래와 같은 능력이 필요하다.
- 1) 문제의식 + 가설 세우기
- 2) 데이터 기록 능력
- 3) 빅데이터 처리 능력
- 4) 알맞는 통계처리
- 5) 스토리 텔링 + 시각화 능력
위 능력을 다 갖추고 있으면 좋겠지만 (실제 그런 분들도 있다) 현실적으로 그러기 어려운것이 사실이다. 내 생각에 1),4)는 통계학 2),3)은 컴퓨터 공학 5)은 마케팅 (경영학?)의 영역이라고 생각한다.
"데이터 사이언스분야 직종"
데이터 사이언스 분야의 에서 일을 하기 위해서는 아래의 기준을 갖춰야 한다고 생각한다.
- 위의 1)~4)의 능력을 동시에 가지고 있다. --> 데이터 사이언티스트
- 3) 을 엄청 잘한다. --> 데이터 엔지니어
- 4) 을 엄청 잘한다. --> 데이터 어날리스트
안타깝지만 5)번의 경우 데이터 사이언스 분야라고 보기보다 마켓팅 분야로 보는게 맞을 것이고 꼭 "데이터"라는 키워드가 안붙어도 된다고 생각한다. 하지만 데이터 업무에 있어서도 마켓팅과 비지니스에 대한 이해를 가지고 있는 것은 매우 중요하다. 실제로 대부분의 데이터 어날리스트는 4)+5)의 능력자들이다.
"문돌이가 데이터 사이언티스트가 될 수 있는가?"
이 질문에 대한 답은 결국에 처음부터 모두를 잘할 수 없기 때문에 위의 1)~5) 중 어디 부터 출발하고 싶은지를 정하는게 중요하다고 생각한다. 그리고 점차 인접 분야를 섭렵해 나가야 하지 않을까?
- 1) + 4)를 잘하려면 통계학을 잘해야 한다.
- 2) + 3) 를 잘하기 위해서는 데이터 처리 프레임워크를 공부하고 코딩을 잘 해야한다.
- 5) 는 분야의 도메인 지식이 중요하다고 생각한다. 다시말하지만 마켓팅의 영역
질문을 약간 바꿔서 "그럼 문돌이가 데이터 엔지니어가 될 수 있는가?"에 대한 질문에는 당연히 가능하지만 몇가지 토론꺼리가 있다고 생각한다. 그리고 그것은 다시 위에서 했던 이야기와 연관된다.
- 코딩을 할 줄 아는가? 잘하는가?
- 계속 공부하는 것을 좋아하는가?
- 수학에 대한 거부감이 없는가?
- 학과 공부 이외에 시간을 투자하여 개발 공부를 할 수 있는가?
"데이터 엔지니어로 시작하면 좋은이유"
"데이터 엔지니어"로 커리어를 시작하면 좋다고 생각하는 이유는 진입장벽에 있다. 진입장벽이 낮을 수록 일을 시작하고 나서도 배우면서 영역을 확장하기에 용이 하다. 반면에 진입장벽이 높은 스킬은 학생일때 집중적으로 공부하여 체화하는 것이 좋다고 생각한다. 개인적으로 생각하는 진입장벽은 다음과 같다.
- 2)+3) >> 4) == 1) > 5)
추가적으로 코딩은 개인적으로 운동과 같이 조금이라고 어렸을때 체화시켜야 하는 기술이라고 생각한다.
일단 이렇게 정리해 놓고 우리 딥놀 패널들과 즐거운 시간을 기대해 본다.
-------------------------------------------
* 기타 받았던 재미있는 질문거리
Q1) 데이터 사이언티스트로 써 경영학/경제학도가 유리할떄 ?
- 개인적인 경험은 없지만 현실적인 마켓팅 프로젝트를 데이터 사이언스를 통해서 풀어본 경험이 있을때 이것은 개발자들에 비해서 상당한 경험적 우위를 가질 수 있다고 생각한다. 개발자들은 데이터는 잘 다루지만 비교적 그 데이터가 무엇을 의미하는지에 대한 감을 떨어진다. (사실 별로 관심없는 경우가 많다). 데이터 분석을 비지니스와 연결시켜서 해석하는 능력은 시각화나 가설을 세울 때 매우 중요하다.
- 아마도 새로운 개발언어를 공부해야할때?
Q3) 컴퓨터 공학도에게 추천하고 싶은 경영/경제 과목
- 잘 모르겠음. 마켓팅?
Q4) 경영/경제학도에게 추천하고 싶은 공학과목
- 자료구조: 프로그래밍의 기본
- 알고리즘: 프로그래밍의 기본 + 코딩 연습
- 선형대수, 확률변수 및 랜덤프로세스: 통계의 기본, 선형대수는 논문이나 문헌을 읽기 위함
- 수치해석: 수학을 프로그래밍으로 풀어보는 경험
댓글 없음:
댓글 쓰기