빅데이터 이해하기 & 데이터 리터러시 함양하기
Data-Driven : 데이터를 기반으로 의사결정을 하는 것
어림잡아 마케팅 성과를 예측하는 대신 데이터를 기반으로 한 알고리즘으로 확률이 높은 경우의 수를 선택함
컬리, 무신사, 카카오페이 등이 Data-Driven 경영 사례의 예시
Gartner의 Big Data 정의 : Big Data is high-volume, high-velocity and high-variety information assets demand cost-effective, innovative forms of information processing for enhanced insight and decision making.
- Big Data의 3V : High-Volume (대용량), High-Velocity (실시간 처리), High-Variety (다양성 [정형/비정형])
- Big Data로부터 Actionable Insight를 발굴하는 것이 가치 창출의 핵심
- Big Data 분석 : 대량의 데이터를 분석하여 비즈니스 가치가 있는 정보를 추출하는 것
데이터 직군별 주요 직무
- ML/DL Engineer
- 모델 개발 (ML/DL/Rule Based)
- 제품 적용 (Serving, API)
- 모델 성능 개선 (Precision, RMSE, Custom Loss)
- Data(Research) Scientist
- 논문 연구 및 집필
- 모델 개발 (핵심 알고리즘)
- Data Engineer
- 데이터 파이프라인 생성 (데이터 인프라 구축)
- Data(Business) Analyst
- 대시보드 생성 후 주요 지표 모니터링
- 저장된 데이터를 가지고 데이터 분석 및 추출
데이터를 활용하는 직군
- Product Analyst : 회사의 프로덕트(제품) 데이터를 분석하는 분석가. 앱 서비스 또는 웹 서비스에서 발생하는 유저 행동 로그 데이터를 분석함
- Business Analyst : 회사의 비즈니스를 분석하는 분석가. 재무 지표와 직접적인 분석에 집중함
- Performance Marketer : 광고 캠페인을 통한 광고 최적화
- Data Scientist : 데이터 분석 역량 + 컨설팅 역량(PT 역량 등)도 요구됨
Data Analyst 정의 : 데이터 분석가는 보유한 데이터를 통해 문제를 정의하고, 기술을 접목하여 문제를 해결하는 사람
이를 위해서는 비즈니스 도메인 역량과 보유 데이터에 대한 이해, 분석 역량을 비즈니스 상황에 접목시키는 것이 매우 중요함
Gartner의 Data Analyst 정의 : 컴퓨터 공학과 수학적 기반의 의미를 부여하고, 디지털 시스템에 지식을 결합하는 전문가로 데이터의 저장, 이동, 분산처리를 활용해 정보를 요청하는 고객에게 최선의 기대 서비스를 제공하는 사람
Data Analyst의 주요 업무 : 실무 담당자 미팅, 가설 시험 설계, 데이터 관리 / 패턴 발견, Python으로 다단계 처리 파이프라인 작성, Hadoop 환경에서의 알고리즘 설계/실행, 데이터 상품 기획, R을 활용한 회귀분석, 보고를 위한 시각화, 조직 내 이해관계자들에게 결과 발표 및 소통, 비즈니스 현안에 대한 경영진 설득
Data Analyst의 필요 역량
- 프로그래밍
- 데이터 처리 및 핸들링 영역
- R, Python, SQL
- 대규모 DB, 플랫폼에 대한 이해
- 통계 분석 이론 (머신러닝/딥러닝)
- 분석 방법론에 따른 업무 절차
- 수학적/통계적 기법 관련 알고리즘 이해
- 문제 해결 및 결과 해석 능력
- 도메인 지식
- 특정 산업/업무에 대한 전문 지식
- 문제 발굴 능력
- 의사 소통 능력 (Communication Skills)
- Presentation, 제안, 시각화 등
- 데이터 기반의 Storytelling 능력
친근한 엑셀로 실무 엑셀 데이터 분석 및 기초 수학/통계 시작하기
사용자 지정 기호
- # : 숫자의 대표 값 (의미 없는 0은 생략)
- ( # 이 사용자 지정 기호) 001 → 1
- ( # 이 사용자 지정 기호) 0 → 빈칸
- 0 : 숫자의 대표 값 (의미 없는 0도 표시)
- ( 0 이 사용자 지정 기호) 001 → 001
- ( 0 이 사용자 지정 기호) 0 → 0
- @ : 문자의 대표 값
- ( @"님" 이 사용자 지정 기호) 고객 → 고객님
- , : (숫자의 중간) 천단위 마다 쉼표 / (숫자의 끝) 천단위 반올림
- ( #,##0 이 사용자 지정 기호) 1000500 → 1,000,500
- ( #,##0, 이 사용자 지정 기호) 1000500 → 1,001
사용자 지정 표시 형식
양수일 때 ; 음수일 때 ; 0일 때 ; 문자일 때
[빨강]#,##0;[파랑]#.##0;0;"수치 확인"
- 값이 양수일 때 글자색은 빨강, 천단위마다 쉼표 표시
- 값이 음수일 때 글자색은 파랑, 천단위마다 쉼표 표시
- 값이 0일 때 0 표시
- 값이 문자일 때 "수치 확인" 이라고 표시
첫번째 조건에 만족할 때 ; 두번째 조건에 만족할 때 ; 모든 조건에 만족하지 않을 때
[빨강][>=2000]#,##0;[파랑][>=1000]#,##0;#,##0;"수치 확인"
- 값이 2000 이상일 때 글자색은 빨강, 천단위마다 쉼표 표시
- 값이 2000 미만 1000 이상일 때 글자색은 파랑, 천단위마다 쉼표 표시
- 값이 1000 미만일 때 (두 조건 모두 불충족 시), 천단위마다 쉼표 표시
- 값이 문자일 때 "수치 확인" 이라고 표시
엑셀 함수
- COUNT 함수 : 특정 범위에서 숫자 데이터가 들어가 있는 셀의 개수 파악
- COUNTA 함수 : 특정 범위에서 데이터가 들어가 있는 셀(비어 있지 않은 셀)의 개수 파악
- COUNTBLANK 함수 : 특정 범위에서 비어 있는 셀의 개수 파악
- COUNTIF 함수 : 특정 범위에서 하나의 조건을 만족하는 셀의 개수 파악 (부등식을 함수의 조건으로 사용할 때는 큰따옴표("")를 붙여야 함)
- COUNTIFS 함수 : 특정 범위에서 2개 이상의 조건을 동시에 만족하는 셀의 개수 파악
- IF 함수의 목적 : IF 함수를 1번 사용할 때마다 데이터가 2가지로 구분되므로 데이터를 분류할 때 사용
- e.g. 백화점의 고객 매출이 $5,000 이상이면 "Platinum", $2,000 이상이면 "Gold", 나머지는 "Silver"로 분류
=IF(C5>=5000, "Platinum", IF(C5>=2000, "Gold", "Silver"))
// IF 함수를 두번 사용했으므로 데이터가 3개로 분류됨 (Platinum, Gold, Silver)
- VLOOKUP 함수를 많이 사용하는 이유 : 방대하고 다양한 데이터에서 내가 원하는 데이터를 불러오는게 업무의 시작이기 때문
- HLOOKUP 보다 VLOOKUP이 많이 사용되는 이유 : 인간이 데이터를 열 별로 정리하기 때문
- VLOOKUP 함수의 조건
- 현재 작성 중인 표와 원래 데이터 간의 공통 기준 열이 있어야 함
- 내가 불러오고자 하는 데이터가 원래 데이터의 공통 기준 열 오른쪽에 있어야 함
- 공통 기준 열에 중복된 데이터가 없어야 함
- VLOOKUP 함수의 원리 : 원래 데이터의 공통 기준열을 1열이라고 가정하고 n번째 있는 열의 데이터를 불러옴
- 함수 셀 값을 옆으로 복사했을 때 자동으로 열변호가 변경됨
- VLOOKUP 함수를 사용할 때, 기준 열에 중복 값이 있을 경우 가장 위에 있는 데이터의 정보만 불러옴 > 중복 값이 없는 새로운 기준 열을 생성해 VLOOKUP 함수 사용
- 인수1 : 찾을 기준 데이터
- 인수2 : 원래 데이터의 범위(공통 기준열부터)
- 인수3 : 불러올 데이터의 열 번호(공통 기준열을 1로 했을 때) / MATCH 함수를 자주 사용함
- 인수4 : 0(FALSE) = 정확히 일치할 때만 / 1(TRUE) = 근사치
- MATCH 함수 : 내가 찾고 싶은 값이 한 행/열에서 몇 번째에 있는지를 숫자로 알려줌
- 인수1 : 내가 찾고 싶은 값
- 인수2 : 내가 찾고 싶은 값이 포함된 단일 열/행의 범위
- 인수3 : 0(FALSE) = 정확히 일치할 때만 / 1(TRUE) = 근사치
- INDEX 함수 : 특정 범위에서 행 번호와 열 번호로 원하는 데이터를 불러옴
- 인수1 : 범위
- 인수2 : 찾고 싶은 데이터의 범위 내 행 번호
- 인수3 : 찾고 싶은 데이터의 범위 내 열 번호
- SUMIF 함수 : 특정 조건에 맞는 데이터의 합계 계산
- SUMIFS 함수 : 2개 이상의 조건을 동시에 만족하는 데이터의 합계 계산 (가장 먼저 더할 값들의 범위를 지정해야 함)
- SUMPRODUCT 함수 : 배열끼리 곱하여 곱들의 합계를 계산
- SUMPRODUCT와 SUMIFS 함수는 서로 대체가 가능함, 상황에 따라 각각의 함수가 쓰기 좋은 경우가 있음
- IFERROR 함수 : 수식의 오류 발생 시 원하는 값(예시. 수식오류) 반환
- FIND & SEARCH 함수 : 긴 텍스트에서 특정 단어나 문장이 시작하는 위치를 숫자로 출력 (띄어쓰기까지 포함하여 문자를 셈)
- FIND 함수와 SEARCH 함수의 차이점 : FIND 함수는 대소문자를 구분하나 SEARCH 함수는 대소문자를 구분하지 않음
- FIND 함수로 특정 단어 포함 여부 파악 가능 (예시. 댓글 데이터에서 특정 키워드가 쓰였는지 확인 가능)
- LEFT & RIGHT & MID 함수 : 텍스트에서 문자열 추출
- 날짜 데이터의 서식을 일반으로 변경 시 1900년 1월 1일로부터 지난 일수 +1을 숫자로 반환 (1900-01-01 부터 N번째 되는 날)
- DAYS / DATEDIF 함수 : 기간을 계산 (종료일 - 시작일)
- DAYS는 종료일은 첫번째 인수로 사용 / DATEDIF는 시작일을 첫번째 인수로 사용
- DATEDIF 세번째 인수 종류
- "D" : 일 수
- "M" : 월 수
- "Y" : 연 수
- "YM" : 올 해의 월 수
- 종료일을 기간에 포함 시 수식 +1
- YEAR / MONTH / DAY 함수 : 날짜의 연 / 월 / 일 반환
- NETWORKDAYS.INTL : 시작일과 종료일 사이의 기간 중 내가 지정한 공휴일과 다른 휴일을 제외한 근무일 수 계산
=NETWORKDAYS.INTL(시작일, 종료일, [주말(옵션값)], [휴무일(날짜)])
엑셀 데이터 분석 도구 > 기술 통계법을 사용해 기초 통계량 결과 확인 및 해석
- 표준 오차 : 표본들의 평균의 전체 평균과 떨어져 있는 정도
- 중앙값 : 데이터를 순서대로 정렬했을 때 위치적으로 가장 중앙에 있는 값(ex. [1,2,3,4,5]의 중앙값은 3)
- 최빈값 : 가장 많이 반복되는 데이터 (#N/A가 나오면 모든 값이 고유값임)
- 표준 편차 : 평균과 각 데이터들의 편차를 나타냄(분산의 제곱근 = 분산에 루트를 씌운 값)
- 분산 : 데이터가 평균을 기준으로 얼마나 분산되어 있는지(퍼져 있는지)를 의미(분산이 크면 데이터가 많이 분산되어 있음)
- 첨도 : 데이터 분포의 뾰족한 정도(값이 3이면 정규분포, 3보다 크면 납작한 분포, 3보다 작으면 뾰족한 분포)
- 왜도 : 데이터 분포가 치우쳐 있는 정도(평균과 중앙값이 같으면 왜도는 0, 왜도가 양수이면 오른쪽으로 꼬리가 긴 분포, 왜도가 음수이면, 왼쪽으로 꼬리가 긴 분포)
- 범위 : 최대값 - 최소값
- 관측수 : 데이터의 개수
피벗테이블 : 엑셀에서 커다란 표의 데이터를 요약하는 통계표
- 복잡한 데이터에서 어떤 요약 통계표를 만들어야 하는지 명확하게 정하면 드래그만으로도 쉽게 찾는 값을 추출해 표로 나타낼 수 있음
- 피벗테이블의 필터보다 슬라이서를 사용하면 필터를 여러번 걸 수 있음 (예시. A열 필터 + B열 필터)
결측치 (missing value) : 데이터에 값이 없는 것
- NA : Not Available, 유효하지 않음
- NaN : Not a Number, 숫자가 아님
- Null : 아무것도 존재하지 않음
- 빈 칸 : 데이터가 입력되지 않음
결측치 처리 방법
- 제거
- 결측치가 발생한 행, 열을 삭제하는 가장 쉽고, 단순한 방식
- 결측치를 제거하면 결측치가 없는 완벽한 데이터 셋을 만들 수 있지만, 결측치가 포함된 데이터가 모두 삭제되어 데이터의 크기의 손실 발생
- 경우에 따라 결측치를 무시하고 관측치만으로 분석을 시행할 경우 통계적 편향이 생길 가능성이 커짐
- 치환
- 결측치를 적당한 방법으로 대체하는 것
- 데이터의 특성에 맞게 적당한 평균, 중앙값, 최빈값 등으로 대체 가능하나, 평균값 등으로 단순 대체하는 방법은 자료의 편향성을 높이고 특성들 간의 상관 관계를 왜곡할 수 있음
- 데이터에 대한 도메인 지식이 있어야 효율적으로, 정확히 결측치 대체 가능
- 모델 기반 처리
- 결측치를 예측하는 새로운 모델을 구성해, 결측치를 채워 나가는 방식
- 변수의 특성에 따라 Knn, PolyRegression 등의 방법을 활용해 모델에 알맞게 결측치를 제거하거나 대체하는 방법
이상치 (Outlier) : 특정 지정된 그룹에 분류되지 못하는 값으로, 정상군의 상한과 하한의 범위를 벗어나 있거나 패턴에서 벗어난 수치
- 일반적으로 표준편차(σ) x 3 미만, 표준편차(σ) x 3 초과인 값을 이상치로 판정
Z-Score : 자료가 평균으로부터 표준편차의 몇 배만큼 떨어져 있는지를 나타내는 지표 ( (자료값 - 평균) / 표준편차 )
사분위수 : 데이터를 4등분하는 값
IQR (Inter Quartile Range) : 1사분위수와 3사분위수 간의 거리 (3Q - 1Q)
Box Plot (상자 도표) : 5개의 수치적 자료를 활용해 데이터의 분포와 범위를 표현한 그래프
상관 분석 : 두 변수가 어떤 선형적 관계를 갖고 있는지를 분석하는 방법
상관 관계 : 한쪽이 증가하면 다른 쪽도 증가하거나 반대로 감소되는 경향을 인정하는 두 양(量) 사이의 통계적 관계
상관 계수 : 상관 계수 r은 두 변수 사이의 상관성을 나타내며 일반적으로 피어슨(Pearson) 상관 계수를 사용
- 상관 계수가 1에 가까울 수록 양의 상관 관계(정비례), -1에 가까울수록 음의 상관 관계(반비례)
EDA에서 상관 분석의 역할
- 인과 관계가 있을 것으로 예상되는 변수들을 선별해 분석의 우선순위를 정할 수 있음
- → 시간과 비용의 효율성 증대
상관 분석에서 가장 유의해야 할 점
- 인과 관계를 가지고 있는 두 변수는 항상 강한 상관 관계를 가지고 있지만,
- 강한 상관 관계를 가지고 있다고 해서 두 변수가 반드시 인과 관계를 가지는 것은 아님
- 예시. 광고비를 올려서 높은 매출을 기록했다고 매출 상승 요인이 광고비 증대가 아닐 수 있음
- → 상관 관계가 높은 변수들을 중심으로 실험을 통해 인과 관계를 경험적으로 입증해야 함
일반적으로 상관계수가 +0.7 이상이면 강한 양의 상관 관계, -0.7 이하이면 강한 음의 상관 관계
산점도 : 데이터를 점으로 표현해 흩어져 있는 정도를 파악하는 그래프 (엑셀에서 분산형 차트)
데이터 전처리 : 데이터의 분석 목적과 방법에 맞게 데이터를 가공 또는 처리하는 과정
- 데이터 및 변수 형태 변환
- 변수 선정
- 결측치 및 이상치 처리
- 데이터 분류(카테고리 化)
- 데이터 분리 및 결합
- 기타 데이터 가공 및 처리
데이터 전처리는 데이터 분석 과정 중 가장 많은 시간과 비용이 필요한 과정 (60% ~ 80%)
Garbage In, Garbage Out (GIGO) : 아무리 뛰어난 머신 러닝 기술에도 전처리가 안된 쓰레기 값을 넣으면 쓰레기 값이 나온다
'데이터 분석 부트캠프 > 주간학습일지' 카테고리의 다른 글
[패스트캠퍼스] 데이터 분석 부트캠프 16기 4주차 - Python의 Selenium을 활용한 데이터 크롤링 (6) | 2024.09.13 |
---|---|
[패스트캠퍼스] 데이터 분석 부트캠프 16기 3주차 - Python 제어문/예외처리/함수/변수/클래스 (7) | 2024.09.05 |
[패스트캠퍼스] 데이터 분석 부트캠프 16기 3주차 - Python 자료형 (1) | 2024.09.03 |
[패스트캠퍼스] 데이터 분석 부트캠프 16기 2주차 - 기초수학/통계 (3) | 2024.08.30 |
패스트캠퍼스 데이터 분석 부트캠프 16기 OT (0) | 2024.08.19 |