본문 바로가기

4차산업/빅데이터

[Google] Making Sense of Data ____ Unit 1. Introducing the Data Process

참고: 모든 그림과 글의 출처는 https://datasense.withgoogle.com 의 Making sense of data 온라인 강좌 입니다.


OverView


데이터를 수집해서 분석, 결과를 적용하는 단계에 대해 설명한다.

이과정에서는 데이터 처리과정은 준비(prepare) -> 분석(analyze) -> 적용(apply) 단계별로 구분하여 각 단계에서 처리되어야 할 것들을 정의하고 있다. 




The Data Process



(1/6) 레슨의 목표


데이터 처리의 단계들은 데이터를 가지고 작업하기 위한 기본이다. 

이 과정을 완료 한 후 "데이터 프로세스 단계를 정의" 할 수 있다.






(2/6) 데이터 처리


datum은 하나의 사실 또는 정보의 조각이다.

data는 정보의 모음이다.

데이터 수집은 패턴감지와 통찰력을 얻을 수 있다.


예를 들면, 과학자 에드워드 제너가 1796년 중요한 패턴을 관찰했다. 우두에 감염되었던 사람들은 천연두를 하지 않는다. 

이것은 천연두 백신 개발을 주도 할  수 있었다.



(3/6) 처리 개요


데이터 처리는 데이터를 이해하기까지 단계적인 접근 방법이다. 

이 과정은 다음으로 구성되어 있다.


Prepare       --->      Anaylze     ---->        Apply


질문하기                 패턴찾기                    결정    

데이터 수집            관계찾기                     데이터 공유

데이터 구성            필터링                         데이터 시각화

데이터 정제            데이터 요약

                              계산수식 

                              차트생성



(4/6) 준비(Prepare)


준비 단계는 분석할 데이터를 수집하는 것과 질문하기 작업을 수행한다.


> 질문하기 

   primary question은 가장 관심있는 응답에 대한 질문이다.  

   secondary질문은 기본질문의 응답에 도움이 될 수 있는 작은 질문으로 나눈것이다.

   secondary 질문은 좀더 세분화 되고, 데이터로 부터 직접적인 문자열이나 숫자로 대답할 수 있는 질문이다.


   (Ex.)

   학교에서 졸업률을 향상 시킬수 있는 방법을 알고 싶어 한다면, 

   secondary질문으로 "어떤 학교가 가장 졸업률이 높은가?" 를 사용할 수 있다.


> 데이터 수집 

   질문​​의 유형에 따라 데이터를 수집하는 방법에는 여러 가지가 있다.

   때로는  데이터는 수동으로 수집하여, 스프레드 시트 또는 데이터베이스에 입력하거나, 온라인 폼과 조사를      통해 자동으로 수집하는 방법이있다.


   (Ex.)

   졸업률에 대한 질문에 대답하기 위해서는 다음과 같은 학교에 대한 정보를 수집해야 한다.

   학교주소, 학교설립일, 학생수, 선생님수, 졸업비율, 평균소득 etc.


> 데이터 구성

   데이터 구성은 정보를 테이블에 구조화 하는것이다.

   정보의 조각들을 컬럼으로 분류하기위해 분석자는 데이터 타입을 결정해야 한다.


> 데이터 정제

   데이터가 테이블로 구성되면, 값에 대한 잘 정의된 포맷인지, 누락된 값이 없는지 확인해야 한다.

   (Ex.)

   앞의 예제의 분석에서 학교는 다른 형식의 데이터를 리포팅할 수 있다. 이 경우 차이를 조정하고 공통된 형식으로 데이터를 정제하는 작업이 요구된다.




(5/6) 분석


질문에 답하고, 데이터의 관계와 패턴을 식별하는 작업니다. 

분석은 많은 유형의 질문이 있을 수 있으며, 그에 따른 많은 유형의 분석이 있을 수 있다. 

즉 분석은 질문에 의존적이다.


> 차트, 요약, 필터를 이용하여 질문에 답하기

   (Ex.)

   앞의 예제에서 다음과 같은 질문이 있다면

   "어떤 학교가 가장 졸업률이 낮습니까?"  라고 한다면, 질문에 대한 응답은 각 학교의 졸업률을 비교하여 할수 있다. 이 경우 바차트를 이용하여 쉽게 대답할 수 있으며, 요약이나 필터를 사용할 수 도 있다.


> 패턴과 관계 찾기

   "어떤 요인이 졸업율에 영향을 미치는가?" 라는 질문이 있다면 잠재적인 졸업율에 영향을 미치는 데이터를 조사해야 한다.

   (Ex.)

   졸업율이 학생수와 선생님의수가 영향을 미친다고 한다면, 드릴다운 분석은 어떤 변수들이(ex. 학생수, 선생님수) 하나또는 다른 변수들(ex. 졸업율)에 영향을 미치는지 결정해야 한다.





(6/6) 적용


  분석의 결과를 사용하여 답변을 나누고, 다른 사람을 설득하고, 의사결정을 하는 단계이다.


  (Ex.)

   학군의 졸업율 분석결과를 고려하면, 학생/교사 비율 개선이 졸업율을 증가 시킬 수 있다는 결론을 도출할 수 있다. 


> Test Your Knowledge

다음중 데이터 프로세스 스텝에 대한 최적의 시나리오는?

(A) 작은 비즈니스 분석가는 세일즈 데이터를 스프레드시트에 입력하여, 패턴을 찾고, 그 결과를 매니저와 공유한다.



Activity: Personal Health, Part 1







The Anatomy of Data   (데이터해부)



(1/4) 레슨 목표


이번 레슨은 데이터에 대한 관점과 중요 백그라운드를 제공한다. 

이 과정을 마치고 나면 "새로운 데이터에 데이터 유형을 적용" 할 수 있다.






(2/4) 데이터 유형


잠재적으로 많은 종류의 데이터가 있다. 다음은 이번과정에 사용되는 데이터의 타입들이다.


- date  : 날자를 표시한다.

    January 15, 2014

    1/15/2014 (American style)

    15/1/2014 (European style)


- number : 숫자는 정수와 실수, 양수와 음수를 가질 수 있다.

    20

    3.14

    -25.10


- location : 지구상의 위치에 대한 정보이다. 예를 들어 경도와 위도, 국가와 도시, 우편번호 등이 해당된다.

  London, England

  51 deg, 32 min N; 0 deg, 5 min W 

  W11 2BQ


- text : 문자, 숫자, 문장부호, 공백을 포함한 모든 인쇄 가능한 문자이다. 텍스트는 공백을 포함할 수 있기 때문에 큰따옴표를 사용하여 표시한다.

  “The lazy brown cat.”

  “5”

  “hello “


데이터 분석에서 데이터 종류의 구분은 매우 중요하다. 

예를 들면 대용량 데이터 분석의 일반적인 단계는 요약(summarization)이다.

숫자의 모음의 경우 평균값을 계산하는것이 가장 일반적인 요약이다. 

하지만 텍스트 데이터의 평균의 의미는 어구나 단어의 빈도수를 계산하는 용도로 사용될 수 있다.




(3/4) 변수, 스키마, 레코드


큰 데이터를 다룰때 쉽게 필요로 하는 정보를 찾을 수 있도록 데이터를 구조화하는 방법이 필요하다. 

데이터 구조화를 위한 가장 일반적인 방법중 하나가 테이블이다. 

데이터를 테이블에 넣는 방법을 배우기 전에 먼저 데이터의 기본 원리를 봐야 한다.


> 변수와 스키마

   당신이 동물구조쉼터 근로자라고 상상해보라, 쉼터에 있는 모든 개들에 대한 정보를 저장하려한다.

   어떤 정보를 각각의 개를 표현하기 위해 수집할 것인가?

   개의 이름(text), 품종(text), 털의 색깔(text), 무게(number), 구조일자(date), 구조위치(location) 과 같은 정보를    수집할 수 있다.

   수집한 각각은 변수이다.  이러한 변수들을 이용하여 스키마를 만들수 있다.

   예를 들어 6개의 변수를 이용하여 스키마를 생성할 수 있다. 스키마는 당신이 측정한 에티티의 청사진이다. 

   스키마는 개에 대한 개요를 제공하지 특정 개를 나타내지는 않는다.

 

> 레코드

   레코드는 스키마의 인스턴스이다. 스키마가 청사진이라면 레코드는 청사진을 사용해 건설된 실제 집이다.

   레코드는 구조쉼터에 있는 특정 개 이다. 

   ex) Rufus, German Shepherd, Black, 30 kg, 05-15-2010, Barcelona




(4/4) Tabular Data


저장된 레코드는 테이블에 구조화되어 저장된 데이터이다.

테이블은 rows(행)와 columns(열)로 구성되며, 열은 변수를 나타내며, 행은 레코드를 나타낸다.


> Columns

   각 컬럼은 하나의 의미와 이름과 데이터타입으로 정의된다. 

   예를 들어 

   

 Student Name

 Birthday

 Age

                                                                                                      컬럼이름: Age, 컬럼타입: number


> Rows

테이블의 행은 각열에 대한 값을 포함하는 하나의 레코드를 표시한다.

각 행의 값은 열에 대한 적절한 형식이어야 한다. 


 John Smith

 January 1

  10

 Frank Miller

 February 15

  12

 CS Less

 March 21    

  11

                                                                                                 Age 컬럼의 모든 값은 number 이어야 한다.


> Tables

테이블 스키마는 컬럼스키마의 모음이다.  테이블 스키마는 테이블의 첫번째 Row 이다.


Dog's NameBreedFur ColorWeight (kg)Date RescuedCity of Rescue
RufusGerman ShepardBlack3010/09/2008Barcelona
IrinaPoodleWhite1909/02/2010Madrid


필요에 따라 테이블를 분리하거나 결합하는 작업을 할 수 있다.




Data Structuring and Cleansing



(1/3) 레슨 목적

  

깨끗하고 잘구조화된 데이터셋을 생성하는 원리를 학습한다.

이 과정 완료후 

"잘정의된 형식의 테이블로 데이터를 구조화 할 수 있다."

"데이터를 읽기쉽고 사용하기 쉽도록 손볼수 있다"






(2/3) 데이터 구조화 


데이터를 분석하기 위해서는 데이터의 구조화가 요구된다. 


> 표 상단에 하나의 헤더를 가진다.

   테이블의 첫번째 행은 컬럼의 이름을 포함한다.  만약에 여러개의 헤더가 있다면 하나의 허더로 통합하던지 다중 테이블로 분리해야 한다.


> 변수당 하나의 데이터 타입을 가진다.

   하나의 컬럼이 여러개의 데이터 타입을 가지게 된다면 분석을 위해 해당 컬럼을 사용하는것은 어렵다.


> 분석을 위한 데이터와 저장을 위한 데이터는 별도로 보관한다.

   원본데이터는 여러분석에 사용될수 있다. 데이터로 부터 생성된 차트나 요약 정보가 원본데이터에 위치 하지 않도록해야 한다.


> 엔티티는 columns가 아니라  rows로 표시된다.

   새로운 데이터가 테이블에 추가될때 새로운 row로 추가된다.

새로운 컬럼은 이전에 측정되지 않은 새로운 데이터가 나타날때 새로운 변수를 추가함으로써 나타난다. 





(3/3) Cleansing Data


적절한 테이블로 데이터가 구조화 되었지만 정제되지 않은 데이터는 분석에 사용하기 어렵다.

다른 사람이 당신이 수집한 데이터를 사용할때 데이터를 이해하기 쉽게 하기위해 다음과 같은 데이터 정제 작업이 요구된다.


> 불필요한 행과 열을 제거한다.

   데이터가 정확하거나 관련이 없는 경우 제거하거나 수정하여  데이터 처리 속도가 느려지지 않도록 해야 한다.


> 변수명은 일관되고 정보를 제공하는 이름으로 만들어야 한다.

   이상적으로는 변수의 의미는 이름에서 알수 있도록 해야 한다. 여러개의 테이블과 많은 변수에서는 특히 중요하다. 

"Number of Windows"는 "WIndows"보다 더 자세한 설명 변수의 이름이다.


> 읽기 편한 형식의 값

   변수의 값은 가능하면 읽기 쉽고 명확하도록 설정해야 한다.

예를 들면 01/01/2009sms 01012009 보다 읽기 쉽다. 


> 누락된 값의 적절한 처리

   테이블은 특정열에 대해 값이 누락되기도 한다.  상황이나 사용되는 도구에 따라  어떻게 처리해야 하는지 다를 수 있다.

예를 들어 숫자컬럼의 경우 "0"을 사용하지 않은 경우 분석에 문제가 발생할 수 도 있다.


> 설명과 문서 추가

   오랜시간뒤에 데이터를 다시 사용하거나 다른 사람이 데이터를 사용해야 하는 경우,  변수의 의미가 무엇이며, 데이터의 수집방법과 

데이터 분석을 위해 사용된 방법이 명확하지 않을 수 있다.  그래서 데이터셋에 대한 설명을 추가하는 것은 중요한 작업이다.


Activity: Personal Health, Part 3

https://datasense.withgoogle.com/unit?unit=1&lesson=52