본문 바로가기

KUSITMS 활동/세션 일지

[큐시즘 22기 1차 세션(2)] 데이터 과학자가 되기 위해 알아보는 데이터 분석에 대한 모든 것!

 

여러분 안녕하세요~~~( ღ'ᴗ'ღ )

저는 #한국대학생IT경영학회 #큐시즘 #22기 대외홍보팀원 박규희입니다😆

개강과 함께 찾아온 큐시즘 1차 세션 포스팅!!!

💕열심히 썼으니까 좋아요와 댓글 많이많이 부탁드려요💕

 

 

 


 

 

계속되는 코로나19 바이러스 확산세에

이번 기수에도 소규모로 인원을 나누어 세션을 진행했습니다!

 

22기 커리큘럼 일정은 다음과 같습니다!

(*상황에 따라 변경될 수 있습니다.)

 

앞으로 있을 세션 일정을 미리미리 확인하고 계획을 세워두면

큐시즘 수강신청 ★올-클★하고 원하는 세션들 모두 들을 수 있을 거예요~~~!

 


 

지난주 토요일에는

이상민 교육자님

Hello DataScience World!(데이터 사이언스 매뉴얼 및 python 분석 실습)

신재욱 교육자님

비즈니스 컨설팅 A-Z

이영현 교육자님

OpenSSL을 이용한 암호화 및 웹 모의 해킹

이규원 교육자님

Design Technology

을 주제로 22기 첫! 세션들이 열렸어요(◍•ᴗ•◍)♥

 

유익한 주제들이 너~~~무 많아서 어떤 세션을 들어야 할지 정말 고민이 많았는데요 흑흑

4가지 세션 중 제가 어렵고 힘겹게 선택한 세션은 바로~~~~~~~~~~~~!

 

.

.

.

 

22기 교육기획팀장님이신

이상민 교육자님의

Hello DataScience World!(데이터 사이언스 매뉴얼 및 python 분석 실습)입니다!!!

 

 

세션 신청 후 22기 수다방에서 마구마구 언급되었을 정도로 인기 있었던 굑팀장님의 세션!

(큐밀리 : 데이터 세션 잡기 너무 힘들어요~~~~~!)

 

굑팀장님의 세션을 수강했던 큐밀리들은 복습 차원에서!

아쉽게도 이번에 기회를 놓친 다른 큐밀리들은 어떤 내용인지 예습해볼 겸, 이번 일지를 재미있게 볼 수 있겠네요 ㅎ0ㅎ

모든 큐밀리들이 만족할 수 있도록 제가 열심히 써보도록 하겠습니다!

 

 


 

 

데이터 과학?

 

혹쉬,,, 데이터 과학이라는 개념이 조금 생소하고 마냥 어렵게만 느껴지시나요?

 

 

데이터 과학이란,

앞으로 일어날 일에 대해 데이터를 가지고 효율적인 선택을 하는 것을 말합니다!

 

고객의 구매 내역이나 제품의 평점, 판매량 데이터를 분석해 더 효율적인 판매전략을 구축하기도 하고,

과거 범죄 기록 분석을 통해 효율적인 구간에 경찰 인력을 배치하거나

진단서, 환자 기록, 의료 서적 등의데이터 분석을 통해 의료 기술을 발전시키는 등

다양한 종류의 산업에서 데이터 과학은 꾸준히 활용되고 있습니다.

 

 

 

데이터 분야

 

다양한 산업에서 많이 쓰이는 만큼 데이터와 관련된 직무 분야도 아주 많은데요!

링크드인 기준 데이터를 분석하는 직업, 직책만 무려 4900개!!!

 

그중 몇 가지를 소개해드리자면,

데이터 파이프라인, 추천 시스템 등 개발과 빅데이터 처리를 담당하는 데이터 엔지니어

GA와 같은 트래킹 툴을 다루며 데이터 분석을 통해 인사이트 전략을 도출하는 데이터 분석가

엔지니어와 분석가를 합한 개념인 데이터 사이언티스트

등이 있습니다.

 

 

 

데이터 분석이란?

 

그렇다면 이터 분석이란 무엇일까요?

 

사전적 의미의 '데이터'란, '이론을 세우는 데 기초가 되는 사실·자료'를 말합니다.

'분석'은 '서로 얽혀 있는 것이나 복잡한 일을

여러 갈래로 풀어서 그 속의 개별적인 요소나 성질로 나누는 것'을 의미하고요!

 

따라서 두 단어를 합친 데이터 분석

데이터를 나누고 쪼갠 후 가공하여 자료에서 가치를 찾아내는 것을 뜻합니다.

 

데이터는 행과 열로 이루어져 구조화된 정형 데이터, 형태가 없는 비정형 데이터,

형태는 있지만 구조화되어 있지 않은 반정형 데이터 등 다양한 형태로 이루어져 있습니다.

 

빅데이터의 80%가량이 비정형 데이터라는 속설이 있을 정도로 비정형 데이터의 양은 어마어마하다고 하는데요.

보통은 분석가의 편의를 위해 비정형 데이터를 전처리하여 분석하는 경우가 많고,

반정형 데이터는 다른 형태에 비해 실무에서 잘 쓰이지 않는 편이라고 합니다.

 

 

 

데이터 과학자의 역량

 

데이터 과학자가 갖추어야 할 역량에는 대표적으로 세 가지가 있습니다.

 

먼저, 데이터 과학자는 컴퓨터로 데이터를 다루기 때문에

컴퓨터 과학, IT에 대한 이해 능력을 기본으로 가지고 있어야 합니다.

업계에서는 이에 더해 수학과 통계학적 지식을 갖춘 사람을 더욱 필요로 하고

데이터를 분석한 결과를 적용할 수 있어야 하기 때문에 도메인 지식 또한 중요하답니다.

 

이외에도 데이터 과학자가 되기 위해서는

특정 데이터를 분석하는 이유를 찾고 그 데이터를 분석해서 무엇을 얻어낼지 문제를 정의할 수 있어야 은 물론,

데이터를 효율적으로 분석하기 위해서 분석 툴을 자유자재로 다룰 수 있는 능력도 필요하겠죠?

 

여기서 잠깐✋!!!

데이터를 다루는 툴에 대해 간단히 알아보고 가겠습니다!

 

1) Excel

초보자들도 쉽게 사용할 수 있는 툴인 Excel은

간단한 데이터를 분석하는 데 주로 사용하는 가장 기본적인 툴입니다.

 

2) Python

Python은 이미 많이들 알고 계실 텐데요!

Python은 높은 가독성과 생산성, 간결하고 직관적인 코드 등의 이유로

현재 가장 🔥핫🔥한 언어라고 하네요~!

하지만 Java나 C 등의 다른 프로그램과 다르게

메모리 공간을 직접 다루지는 않아 상대적으로 느린 경향이 있습니다.

 

 

이외에도 깔끔한 시각화를 제공하고 데이터 분석만을 위해 만들어진 R,

데이터베이스와 상호작용하기 위해 사용하는 SQL 등이 있습니다.

현업에서는 SQL을 가장 많이 사용한다고 합니다!

 

다시 데이터 과학자에게 필요한 역량으로 돌아와서~~!

 

또한 데이터 과학자는 휴리스틱 편향을 조심해야 하는데요!

휴리스틱 편향이란, 데이터를 논리적으로 분석한 결과나 사실에 의거한 판단보다

본인의 '경험적 지식'에 의존하는 것을 의미합니다.

 

 

다음 슬라이드를 예로 들어보겠습니다.

수줍음이 많고 소심한 성격의 철수는 착하고 성실하며 꼼꼼하게 정리 정돈을 잘 합니다.

주변 사람이나 일에 관심이 많이 없는 편이죠.

 

그렇다면 철수의 직업은

도서관 사서일 확률이 높을까요, 대형마트 판매직 확률이 높을까요?

 

혹시 도서관 사서라고 생각하셨나요?

 

그렇다면 명백한 오답입니다!

 

내향적인 성격에 꼼꼼하고 정리 정돈을 잘 하는 철수가

사람들과 많이 마주치지 않고 혼자서 일할 수 있는 도서관 사서일 확률이 높다고 생각하는 건

단지 '경험적 지식'에 의존해 결과를 예측하는 것이죠.

 

실제로 객관적인 관점에서 데이터를 분석해보면

전국에 있는 도서관 사서의 수보다 대형마트 판매 직원의 수가 압도적으로 많기 때문

철수는 '소심하고 꼼꼼한 성격을 가진 대형마트 판매 직원'일 확률이 훨씬 높습니다.

 

이처럼 데이터 과학자들은 데이터를 분석할 때

주관적인 의견이 들어간 휴리스틱 편향을 주의해야 합니다.

 

 

 

데이터 분석과정

 

이번에는 데이터를 분석하는 과정에 대해 알아보겠습니다!

 

 

1.  문제 정의


또다시 등장한 문제 정의!

 

유명한 과학자 알버트 아인슈타인도 문제 해결을 위해 한 시간이 주어진다면

문제를 생각하는 시간으로만 55분을 사용할 것이라고 말했을 만큼

문제를 정의하는 것은 아주 중요합니다!

문제에 대해 먼저 완벽하게 파악해야

문제를 해결하기 위해 어떤 데이터를 사용할지 선택할 수 있겠죠?

 

데이터 분석 과정에서 문제 정의는 주체/데이터/분석 목표로 나눌 수 있답니다.

 

 

2.  데이터 확보


문제 정의를 통해 필요한 데이터를 선택했다면

선택한 데이터를 확보하는 과정이 필요합니다.

 

데이터를 어떤 방법으로 얻어야 할지, 어떻게 수정해야 할지,

수집한 데이터가 편향적이지는 않은지

(원하는 데이터만 골라 수집하거나 표본의 대표성을 무시하는 데이터를 수집하는 경우 등)

여러 가지 조건을 따져가며 데이터를 확보해야 합니다.

 

 

3.  EDA(탐색적 자료 분석)


그다음 순서는 EDA(탐색적 자료 분석)입니다.

데이터 분석 전에 그래프나 통계적인 방법을 이용해 자료를 직관적으로 바라보는 것을 의미합니다.

 

데이터의 개별 속성을 분석하거나 각 속성 간의 관계를 분석한 후,

파악하기 쉽도록 그래프나 통계 등의 시각 자료로 표현합니다.

 

 

4.  데이터 전처리


큐시즘 학술제 파트 데이터를 전처리하는 방법을 예로 들어볼까요?

 

컴퓨터는 문자를 알아듣지 못하기 때문에 문자를 숫자로 변환해 주어야 하는데요.

이 작업을 인코딩(Encoding)이라고 합니다.

'기획', '개발', '디자인'이라는 문자를 인식하지 못하는 컴퓨터를 위해

기획은 '1', 개발은 '2', 디자인은 '3'으로 숫자를 붙여 Label Encoding 했습니다.

그러나 숫자가 큰 것을 중요하게 여기는 컴퓨터 때문에

표현하고 싶은 단어의 위치에만 1을 부여하고 기타 단어에는 0을 부여하는

one-hot-encoding을 적용했답니다.

 

딥러닝에 들어가면 0.7, 0.3 등의 숫자들도 쓰일 수 있지만

기본적으로는 0과 1을 주로 사용합니다.

 

 

5.  변수 선택 및 모델 구축


데이터 전처리 과정이 끝나면 변수 선택 및 모델 구축 단계입니다.

최종적으로 예측하고 싶은 변수를 타겟 변수로,

타겟 변수를 예측하기 위해 필요한 연관이 있다고 생각하는 변수를 학습 변수로 설정합니다.

 

다양한 모델 구축 방법 중

Decision trees와 K-means clustering에 대해 간단히 알아보겠습니다.

 

Decision tree(의사결정 나무)는 우리가 잘 알고 있는 스무 고개와 비슷한 원리인데요.

질문 노드를 통해 가지를 뻗어나가며 데이터를 분류하는 방법입니다.

 

Decision tree는 '가지를 어떤 기준으로 분리할 것인가?'와

'언제 가지치기를 멈출 것인가?'의 두 가지 핵심 기준을 가지고 있습니다.

 

다음은 비지도학습 알고리즘의 대표 모델인 k-means Clustering 입니다.

 

k-means Clustering에서는 K(군집)의 개수를 결정하는 것이 매우 중요합니다.

위 슬라이드와 같이 k를 3으로 설정하면(k=3) 총 세 개의 군집이 형성됩니다.

빨강, 보라, 초록색 동그라미가 각 집단의 중심이 되고

나머지 파란색 동그라미들이 각 군집에 속하게 되는 과정은 아래 슬라이드와 같습니다.

 

먼저, 각 군집의 1번 동그라미에서 시작합니다.

1번 동그라미를 기준으로 주변 동그라미와의 거리 평균을 계산하여

1번에서 2번으로 중심이 이동합니다.

이렇게 중심이 이동하고 집단에 속하는 과정을 반복하며 하나의 군집이 형성되는 것이죠!

 

 

6.  학습 / 검증


이제 분류한 데이터를 기계에 학습시켜야겠죠?

보통 데이터의 비율은 학습 데이터와 테스트 데이터가 8:2 또는 7:3의 비율로 나누어집니다.

 

그런데 만약 데이터가 한 쪽으로 쏠려있는 경우가 발생한다면

교차 검증이라는 것을 실시하게 되는데요.

이것을 K-Fold 교차 검증(K개로 나누어 K번 학습해서 평균값을 결과로 나타내는 것)이라고 합니다.

슬라이드 왼쪽의 데이터를 4번 검증하여 오른쪽과 같은 평균값을 결과로 나타내고

이 때 교차 검증은 4번 실시되었으므로 4-Fold 교차 검증이 됩니다.

 

 

7.  성능 높이기


기본적인 머신러닝 알고리즘은 한계점이 있기 때문에 성능을 높이는 과정은 반드시 필요합니다.

 

알고리즘의 성능을 높이기 위해 앙상블 기법을 사용하는데요.

여러 개(기준)의 분류기를 생성하고 그 예측을 결합하여 정확한 최종 예측을 유도하는 것입니다.

이는 혼자 문제를 해결하는 것보다 많은 사람들의 생각이 모여 더 좋은 결과를 도출해내는

집단지성과 비슷한 개념이라고 할 수 있습니다.

 

1) 보팅(Voteing)

예측 결과 중 다수결이 되는 값으로 예측하는 하드 보팅

분류기에서 나온 확률을 각각 더해 확률이 더 높은 결과로 예측하는 소프트 보팅이 있습니다.

 

2) 배깅(Bagging)

앞에서 배웠던 Decision tree가 여러 개 모인 것을 랜덤 포레스트라고 하고

이 랜덤 포레스트가 바로 배깅의 대표적인 예시가 됩니다.

데이터를 무작위로 섞은 후(랜덤샘플링) 기준이 같은 분류기에 넣습니다.

나온 결과를 통해 다중 투표하거나 평균으로 예측합니다.

 

보팅과 배깅은 다중 투표(다수결)와 평균으로 구분한다는 공통점이 있지만

보팅은 다른 분류기, 배깅은 같은 분류기에 넣는다는 점이 다릅니다.

 

3) 부스팅(Boosting)

부스팅은 순차적으로 학습과 예측을 반복하면서

잘못 예측한 데이터에 가중치를 부여하며 오류를 개선하는 방법입니다.

 

부스팅의 대표적인 예라고 할 수 있는 AdaBoost에 대해 알아보겠습니다.

슬라이드 왼쪽 박스들의 파란색 영역은 예측한 곳분홍색 영역은 예측하지 않은 곳,

(+) 기호는 정답(-) 기호는 오답을 나타낸다고 가정합니다.

 

Box1에서는 정답(+)을 예측(파란색)하지 못해 Box2에서 예측 영역이 (+)를 모두 포함할 수 있도록 늘어났습니다.

하지만 Box2에서는 오답(-)을 예측하지 않는 영역(분홍색)이 포함하지 못해

Box3에서 분홍색 영역이 (-)를 포함할 수 있도록 다시 넓어졌습니다.

이러한 과정을 통해 오류에 가중치를 더하고 이를 통해 올바른 모델을 형성합니다.

 

 

8.  인사이트 / 의사결정


데이터 분석의 마지막 과정은 인사이트와 의사결정입니다.

성능을 높이고 분석을 마쳤다면 결과를 해석할 수 있어야 겠죠?

얻은 결과를 해석하여 인사이트를 만들고 의사결정을 진행해야 분석 과정이 마무리됩니다.

 

 

 

데이터셋 실습 & 공부 방향

 

그동안 배운 이론들을 바탕으로 데이터 분석 과정에 대해 실습해보는 시간을 가졌습니다.

 

다음과 같은 재미있는 주제로 실습을 진행했는데요!!! ㅎㅎㅎㅎ

21기 학회원들의 데이터를 활용해 22기 연애 유무에 대해 분석해보고 싶은 큐밀리들은

이 세션을 듣는 것을 매우 추천드립니다^0^

 


 

정말 친절하신 굑팀장님은 데이터 분석 분야에 관심이 많은 큐밀리들을 위해

앞으로의 공부 방향에 대해서도 조언해 주셨습니다!

우리가 흔히 생각하는 코드, 문법, 함수만 중요하게 생각하며 공부하는 것은 옳지 않습니다!!!

왜냐면...

나보다 똑똑한 구글이 다 알려주기 때문에😉

 

구글링해서 다 나오는 이러한 것보다 중요한 건

분석의 흐름을 이해하고 개념과 사용되는 코드를 함께 알아야 한다는 것!

 

 

이외에도 단계별 공부 방법이나

굑팀장님이 실제로 했었던 고민들을 언급하시며 로드맵을 설명해 주셨답니다~~

 

 


 

 

💙세션 넘나 열심히 들어주는 우리 큐밀리들 사진으로 일지를 마무리 하겠습니다💙

 

세션을 진행해 주시는 교육자님도, 수강하는 우리 큐밀리들도 열정 넘치는 시간이었는데요!!!

정말,,, 유노윤호도 울고 갈 것 같은 열정 만수르들🔥🔥🔥

그나저나 1차 세션부터 이렇게 알차도 되는 건가요!!!??!!!???

데이터 분석 분야를 1도 모르는 왕초보인 저도 아주 재미있게 들을 수 있었던 세션이었습니다😉

10점 만점에 오조오억 점 드립니다.

 

모두모두 재미있게 일지 보셨길 바라면서,,,

그럼 저는 다음 일지로 또 찾아올게요!

안뇽~!

 

 

 

 

*위 자료에 대한 저작권은 큐시즘 교육기획팀에게 있습니다. 무단 전재 및 재배포를 금지합니다.*