1. 데이터 사이언스란 무엇일까?
www.boostcourse.org/ds001/lecture/277825/
[정의]
데이터 사이언스는 어떤 것에 무게를 두냐에 따라 다르다.
이처럼 데이터사이언스에 대한 정의가 다양하지만,
여기서 설명해주시는 가장 적절한 데이터 사이언스의 정의는 아래와 같다.
데이터 사이언스에 필요한 3가지 역량 : 도메인 지식 + 수학(통계) + 컴퓨터 사이언스
다시 말해서, 직무, 산업에 대한 지식 + 통계적 지식 + 컴퓨터공학적인 기술도 잘 아는 것이다.
하지만, 현실에서 이 3가지를 모두 다 달성하는 것은 어렵다고 한다.
(이 3가지 모두 다 달성하면 유니콘이라고 부른다고 하신다. / 유니콘: 존재하지 않는 상상 속의 동물)
현직에 계신 강사님들의 말씀에서도 알 수 있듯이 이 3가지를 이상향으로 지향하며 나아가고 있다고 말씀하셨다.
정의와 개념에 집중하기보다는, 어떤 것에 중점을 두고 공부할 것인지가 더 중요하다고 말씀하신다.
예를 들면,
도메인 중점 : 마케팅 , HR, 구매, 전략에 기술 장착
컴퓨터공학, 수학 중점 : 기술 중심에 도메인 지식 장착
잘할 수 있는 분야를 시작하는 게 쉽게 시작할 수 있는 방법이라고 말씀하신다.
2. 데이터 사이언스의 역사
이전에도 데이터 과학이라는 게 존재는 했지만,
(왼쪽) 2009년 4번째 패러다임의 책 출간으로 "데이터 과학"이라는 단어가 조금 더 세상에 잘 알려지는 계기가 되었다고 한다.
이 책에서 말하는 것은, '데이터가 쏟아지고 있는데, 그 데이터를 소화해내기 위한 것이 데이터 과학이며, 데이터 과학으로 인한 발전들이 사람들에게 필요하고, 도움이 되어야 한다.'라는 모토를 가지고 쓰인 책이라고 소개해주셨다.
데이터 과학은 기존 과학과는 다르게 이론부터 시작하는 것이 아닌, 데이터로부터 시작한다고 했다.
(오른쪽) 하버드 비즈니스 리뷰에서 소개된 칼럼으로 인해 대중들에게도 많이 알려지게 되었다고 한다.
우리나라의 언론에서도 이 칼럼을 인용한 많은 기사를 썼다고 하는데, 나도 이 제목과 비슷한 기사를 접했던 기억이 있다.
3. 데이터 분석에 필요한 역량과 윤리
[역량]
1. 비판적 사고
: 정보를 받아들일 때, 비판적으로 받아들이는 사고방식을 가져야 한다.
자신의 주장을 데이터로 뒷받침하기 위해서 필요한 훈련이다.
데이터 분석은 과학적 절차를 잘 지켜서 새로운 사실을 찾거나 확인하는 과정이기 때문이다.
따라서 앞부분(가설과 가정 등 첫 절차)에서 객관적 사실을 바탕으로 진행해야 한다.
그렇지 않고 진행 후에 앞부분에서의 오류를 발견하게 된다면, 그 과정은 모두 쓸모 없어져 재실행해야 하기 때문이다. 이 이유로 석, 박사를 진행하며 훈련하는 가장 큰 이유이다. 이러한 사고방식에 익숙해지기 위해 논문에서 허점 찾기(한계, 일반화에 대한 제약 범위 찾기 등) 연습
다시 말해서, 정보를 한번 보는 게 아닌 두 번, 세 번 반복적으로 보며 있는 그대로 받아들이는 것이 아니라
정확한 정보인지를 계속해서 확인하고 파악하는 훈련이자 능력이다.
2. 숫자 기반의 사고
: 직관에 의해 판단하기보다는 숫자를 확인하는 사고방식을 연습
데이터 기반 사고와 같은 맥락이다.
내 생각은 모두 동의하지 않을 것이라고 생각하지만, 5명이 모두 동의했다
-> 내 직관과 불일치 하지만, 숫자를 믿어야 한다.
하지만 이때, 일반화 가능한 데이터인지, 통계에서의 숫자가 전체를 대표할 수 있는지(통계의 오류)를 주의해야 한다.
새로운 공부를 통해
직관 + 숫자(공부)를 통해 정보를 취득하고 새로운 인사이트를 얻어내는 과정을 반복한다면, 데이터 분석에 도움이 될 것이다.
[윤리]
크롤링 법적 이슈 -> 업무방해죄, 데이터베이스 법 침해 등 소송 판례가 있다.
따라서 데이터를 확보해야 할 때는, API를 이용하는 것이 가장 안전하고 바람직한 일이다.
4. 데이터 사이언스 궁금증(QnA)
Q1) 데이터 사이언스 관련 전공?
A)
실력만 있다면, 석사는 꼭 필요하지 않다. 또한 오픈 소스 교육 프로그램이 굉장히 많다. 실력을 객관적으로 증명할 수 없음에 학위로 증명한다.
그렇다면 비전공자는?
프로젝트 단위(대회, 공모전, 캐글 등 )와 함께 공부.
함께 공부하면, 시너지가 나고 동기부여가 된다.
Q2) 어떤 과목을 학습해야 하는가?
A)
분석 도구 : Python, R 언어
분석 기법 : 분석한 결과물을 해석하기 위해서 통계학적 지식 => 우연의 수준인지, 유의미한 결과인지 판단
그리고 과거의 데이터를 넘어서 미래 시점의 값을 예측하기 위해서는 예측모형에 머신러닝 알고리즘 필요
현업 지식 : 데이터는 모두 실무에서 특정한 목적을 가지고 사용한다. 따라서 현실에서 이 데이터를 통해 어떤 문제에 접근해서 풀 것인지에 대한 도메인(현업) 지식
공부 순서 : 데이터 툴 -> 분석 기법 사용 -> 도메인을 통해 공부하는 것을 추천
Q3) 데이터 사이언스 관련 직무는?
A) 다음 표에서 데이터 사이언스의 직무를 확인할 수 있다.
+ 데이터 엔지니어는 COLLECT, MOVE/STORE 담당 => SW 중심 코딩 및 저장 효과적으로 최적화 담당
+ 비즈니스 분석가 or 데이터 분석가
+ ML엔지니어 , DL엔지니어 => 가장 위의 AI, Deep Learning 활용
Q4) 현업에서 가장 많이 쓰이는 Tool?
A) 유료 툴(tableau 등) 회사마다 굉장히 다르게 사용
1. 주피터 노트북: 가벼운 코딩, 데이터 입출력 등에 최적화되어있음.
거의 모든 언어 지원(interactive notebook)하며, 다른 툴들이 주피터 노트북을 내장하여 제공함.
따라서 주피터 노트북 사용은 장점이 될 수 있다.
2. git
현대 버전 관리의 표준이라고 불림
SW 엔지니어와 협업이 거의 필수적이기 때문에, git은 꼭 필요함.
(개발언어)
1. 데이터를 직접 다룸에 있어서 SQL은 필수적
왜냐하면, 현대에 만들어진 거의 모든 데이터는 데이터베이스에 저장되기 때문이다.
데이터베이스에 가장 기초적인 언어인 SQL은 데이터 분석 직무에 꼭 필요하다.
2. 파이썬
개발자와 협업에 유리하며, 딥러닝과 머신러닝을 등에 업고 각광받고 있다.
3. R 언어
개발자 생태계 << 학계 생태계
Q5) 데이터 용어의 다양성
A)
데이터 리터러시 : 데이터를 읽고 씀으로 이해하고 분석, 활용하는 능력(필수)
데이터 마이닝 : (빅)데이터 안에 있는 의미 있는 정보를 찾아내는 것
데이터 분석 : 데이터 수집 - 정제 - 분석 - 시각화 - 의사결정 포괄적 과정
인공지능 : 지능형(계산적) 기계를 만드는 공학/과학(ML, DL 포함)
머신러닝 : 데이터를 통해 직접 기계 학습시키는 알고리즘 개발
딥러닝 : 머신러닝의 방법론 중 하나로 과거 인공신경망의 한계 극복 (방대한 비선형 데이터 학습)
5. 데이터 분석 프로세스
기획 : 무엇을 분석할지 결정
데이터 수집 : 분석에 사용할 수 있는 데이터를 수집
분석 : 데이터 수집을 통해 잘 모은 데이터를 통해 분석
보고 : 분석 결과물을 이해할 수 있도록 보고.
이 4단계가 선형적으로 한 번에 끝나는 게 아니고, 순환구조로 표시되어 있듯이 순환하며 반복하게 된다.
조직 내부의 다양한 문제가 존재하기 때문에 무엇을 분석할지 결정한다.
어떤 문제를 데이터로 풀어야 조직이 가장 큰 성과를 낼 수 있을 것인가를 중심으로 우선순위를 판단한다.
조직에서 하고 싶은 것들이 있는데 , 크게 3가지 분석 방법론이 있다.
1) 기술 통계 분석 : 내가 가지고 있는 데이터를 요약(표, 그래프 등)하는 방법
2) 가설 검정 : 조직 내부의 가설( A집단 보다 B집단이 더 많이 구매하는가?)에 대한 통계학적 지식 이용하여 가설검정
3) 예측 모델 개발: 미래 시점의 값들을 머신러닝 모형을 사용하여 예측 모델을 만든다.
이 같은 분석 방법들을 가지고 주어진 문제에 맞는 분석 방법을 사용한다.
이때 이 분석 방법을 정하는 단계가 기획 단계이다.
이 기획 단계에서는 설계도를 만드는 작업이다.
(우리 처음부터 끝까지 이 방법으로 이때는 이렇게 저렇게 하자. 약속)
기획이 중요한 이유는 데이터를 중심으로 분석하다 보면 길을 잃기 쉽기 때문이다.
따라서 제한된 시간 안에 프로젝트를 완성하기 위해서는 면밀하게 기획하고 설계해야 한다.
무엇을 분석하겠다고 정의했으므로 그에 필요한 데이터를 모으는 작업
보통은 현업 담당 부서로부터 데이터를 입수한다.
받은 데이터를 통해 분석에 사용할 수 있는 데이터인지 탐색하고 오류가 있는지 검토한다.
(이 작업이 굉장히 오래 걸린다고 한다.)
왜냐하면 데이터 수집이 중요한 과정이기도 하면서
데이터가 한 곳에 모여있지 않은 경우, 컬럼에 맞지 않는 경우, 결측치(+오류) 등 문제점이 많다고 한다.
(직무를 처음 배정받고 거의 느끼게 되는 현실의 벽이라고 한다. 현업에서는 정확하게 예쁘게 정리된 데이터는 굉장히 중요하지만, 별로 없다)
데이터가 잘 마련이 됐다면, 다음 단계를 수행한다.
탐색적 데이터 분석 : 데이터가 어떻게 생겼는지, 어떤 값이 많은지 빈도 확인, 시각화를 하며 데이터 탐색
전처리 과정 : 수집된 데이터를 본격적으로 통계모형/머신러닝 모형을 사용하기 위해 적합한 데이터로 가공하는 과정
(시간이 굉장히 많이 걸림 : 이상치, 극단값 등 면밀히 검토하여 데이터를 가공) / (업무의 8-90%)
전처리 후 가공된 데이터를 통해 분석 시작한다.
본격적 분석은 기획단계에서 설계한 방법으로 각 방법에 맞는 분석을 시작한다.
예측 모형 같은 경우에는 분석 후에는 시간 여력이 된다면 그 성능 여력에 대해 더 복잡한 모형, 변수 추가 등으로 성능을 끌어올리기 위해 노력한다. 이 모형은 끝이 정해져 있는 게 아니고 계속 발전할 가능성이 있기 때문에 프로젝트상 시간이 된다면 조금 더 성능을 끌어올리기 위해 고도화 노력한다고 말씀하셨다.(시간과 비용의 자원의 문제)
이렇게 도출된 분석 결과물을 다른 사람들에게 설명을 해주어야 한다.
그러기 위해서 이 분석 결과물이 이해될 수 있게끔 전달을 해야 한다.
그래서 보고서를 만드는 작업을 해야 한다. 문서화된 보고서 (워드, PPT)의 자료 (표, 그래프 등 )
-> 숫자, 문자 혼재되어있기 때문에 이해될 수 있게 자료 전달 능력도 중요하다.
이때, 데이터 시각화의 중요하게 된다.
이 4단계가 한번 진행되고 나서 끝나는 게 아니라
보고 후에 새로운 circle이 반복되고 순환되는 과정이 진행된다고 말씀하셨다.
6. 데이터 사이언스 공부
[부스트 코스 강의]
[후기]
데이터 사이언스 정의부터 중요성, 개념, 관련 직무, 어떤 프로세스로 진행되는지 알 수 있었다.
데이터를 가져와서 열어보고 이 데이터를 통해 무엇을 할까? 무엇을 하면 재미있을까? 에 대한 호기심을 갖고 시작
정보를 받았을 때 비판적 사고 연습 및 호기심 갖기
'Make the Learning Curve > 부스트코스' 카테고리의 다른 글
[부스트코스] 파이썬으로 시작하는 데이터 사이언스 Quiz4 - K-beauty 온라인 판매분석 (0) | 2021.02.25 |
---|---|
[부스트코스] 파이썬으로 시작하는 데이터 사이언스 Quiz3 - 건강검진 데이터로 가설검정하기 (0) | 2021.02.15 |
[부스트코스]파이썬으로 시작하는 데이터 사이언스_서울 종합병원 분포 확인하기 (0) | 2021.02.03 |
[부스트코스] 파이썬으로 시작하는 데이터 사이언스_Quiz 2 (0) | 2021.01.25 |
[부스트코스] 파이썬으로 시작하는 데이터 사이언스 / Quiz 1 (0) | 2021.01.18 |
댓글