1-1 :: 데이터 사이언스란?
데이터 사이언스
도메인과 같은 관련 분야의 지식과 통계, 분석, 모델링, 프로그래밍 스킬 등의융합을 통해 대규모 데이터 속에서 의미를 찾는것
- 탐색, 모델링을 통한 패턴 / 실제 도움이 되는 정보 찾기, 인사이트 도출, 이를 기반으로 미래의 일까지 예측
데이터 사이언티스트에게 필요한 지식과 기술
- 대규모 데이터를 수집/처리/가공하는 능력
- 통계 및 머신러닝 관련 지식과 방법을 습득하는 능력
- 통계 및 머신러닝 방법론을 활용하는 능력 (코딩 스킬 포함)
- 데이터 분석 결과를 시각화 (Visualization)하고 리포트(report)하는 능력
1-1.1 통계와 머신러닝의 차이점
👉🏻소수에서 다수를 추정하는 통계
- 선거에서 결과를 예측하는 출구 조사 방식이 우리가 공부하려는 통계의 예
- 현실적으로 전국민을 출구조사 하기는 어렵다
- 선거인 가운데 일부를 추출해서 출구조사를 한다
- 출구조사 결과를 기반으로 국민 전체의 결과 예측하여 궁금증 해결
- 출구조사 결과가 실제 결과와 일치하지 않을 수도 있다.
- 출구조사와 투표 결과의 오차를 줄이기 위해 지역, 연령, 성비 등을 고려하여 표본을 공정하게 추출해야함
대규모의 데이터에서 의미있고 실제 결과치에 가깝게 예측하기 위해
소수의 데이터를 활용하여 대푯값을 찾는 일련의 과졍을 통계라고 한다.
👉🏻과거의 데이터로부터 미래를 예측하는 머신러닝
머신러닝이 통계와 다른 큰 차이점
"과거의 데이터로부터 앞으로의 일을 예측한다"
- 시험 공부시 기출문제를 많이 풀면 비슷한 유형의 새로운 문제가 나와도 당황하지 않고 풀 수 있는 것과 비슷한 원리
➡️ 컴퓨터가 과거의 데이터를 살펴보고 학습
➡️ 새로 만나는 데이터에 대한 문제 해결을 위한 규칙(알고리즘)이나 풀이 방법(모델)을 찾아낸다
- 이전의 학습 경험으로 아직 경험하지 못한 새로운 문제도 풀어내는 일련의 과정이 머신러닝이다.
1-2 :: 데이터 사이언스의 프로세스
데이터 사이언스는 대규모 양의 데이터 안에서 풀고자 하는 문제와 관련된 데이터를
- 수집
- 분석
- 정보 추출
- 문제의 본질 이해
- 인사이트 도출
- 미래의 일 예측
- 데이터를 이용하여 과거에 일어난 일과 일어난 이유를 파악
- 현재 당면한 문제가 무엇인지
- 아직 일어나지 않은 미래에 무슨 일이 일어날지 예상, 대비
1. 문제 이해 및 정리
2. 데이터 이해: 데이터 준비(수집), 탐색, 변환, 정리 및 준비
3. 모델링: 방법론(알고리즘, 모델) 생성, 학습 및 선택
4. 모델 테스트: 튜닝 및 최적화
5. 배포: 모니터링, 재학습 및 업데이트
데이터 사이언스 파이프라인
1️⃣문제 이해 및 정의
- 사용자가 풀고자 하는 문제를 정확하게 이해하고 정의하는 것에서부터 시작
- 스무고개 하듯 질문하고 하나씩 답을 찾는 과정을 통해 궁금증 해결
2️⃣데이터 이해
- 데이터 준비 및 탐색
- 해당 문제를 풀기 위해 데이터를 준비하고 이해하는 과정
- 문제를 풀기 위해 필요한 데이터가 무엇인지, 필요한 데이터를 모두 사용할 수 있는지에 대해 확인
- 문제 해결을 위해 필요한 데이터가 모두 수집되지 않은 경우
- 형식이 각기 다른 형태로 수집된 경우
- 서로 다른 시스템이 저장되어있는 경우
- →이 데이터들을 통합해야함
- 데이터 수집 후, 준비된 데이터를 탐색
- 그래프, 시각화를 통해
- 패턴 상관관계, 이상치 등을 살펴봄으로써 데이터를 더 정확하고 깊게 이해
- 데이터 탐색을 통해 문제 푸는데 필요한 데이터를 추출하고 변환하여 데이터셋을 만듦
- 만들어진 데이터 셋은 테이블 형태로 표현할 수 있다
- 샘플(sample)이라고 하는 행(row)과
- 독립변수(x), 특성(feature), 속성(attributes)이라고 표현하는 열(column)로 구성
3️⃣ 모델링
- 머신러닝으로 수집된 데이터에 문제 해결을위한 여러 알고리즘 및 방법론을 학습시키고 적용한 후, 적절한 알고리즘을 선택하는 과정
y = f(x)
- x는 독립변수, 특성, 속성, 컬럼
- y는 나이에 따른 노화 정도
- f는 머신러닝, 딥러닝 알고리즘
- 문제 해결을 위해 모은 데이터를 입력변수 x라고 가정
- 컴퓨터 역할의 깔대기 안에서 학습을 반복해 최적의 방법 f를 만드는 것이 모델링의 과정
- 최적의 방법 f를 이용해 최적의 결과 y를 도출
4️⃣모델 테스트
- 선택된 방법론(알고리즘, 모델)의 정확도를 테스트
- 반복적인 조정(튜닝)을 통해 최적화하는 것
최적화 방법
- 알고리즘(방법론, 모델)을 발전시키는 것
- 데이터를 보완하는 방법
5️⃣배포
- 최적화된 모델은 실제 사용자가 사용할 수 있도록 배포됨
- 주기적으로 모델을 모니터링하면서 새롭게 만들어진 데이터와 함께 재학습 및 업데이트
1-3 :: 프로그래밍과 머신러닝의 차이점
프로그래밍
- 소프트웨어를 만들기 위한 일련의 과정
프로그램
- 문제 해결을 위해 컴퓨터에게 주어지는 처리 방법과 순서를 기술한 일련의 명령문 집합체
소프트웨어
- 프로그램과 프로그램 개발, 운용, 유지 보수에 필요한 관련 정보 일체
대학교 입시 - 합격자 발표 프로그램
* 프로그래밍
- 지원자가 원서(데이터)를 제출하면 합격과 불합격(결과)을 구별하는데 초점을 맞춤
* 머신러닝
- 합격과 불합격을 구분하는 규칙을 만드는 것
규칙을 이용하여 합격자 발표 프로그램이라는 생산 작업의 결과물 소프트웨어로 이번 년도 지원자 합격 여부 구함
머신러닝의 역할은 기존 데이터를 이용해 아직 일어나지 않은 미지의 일 까지 예측하는 방법을 만드는 것
- 머신러닝 = 데이터에서 규칙을 찾는 것
1-4 :: 데이터 사이언스를 위한 준비물
1️⃣ 데이터 준비하기
- 문제 해결을 위한 데이터 필요
2️⃣ 방법론(알고리즘) 이해하기
- 다양한 방법론에 대해 배우고 알아두어야함
3️⃣ 프로그래밍 환경 만들기
- 컴퓨터에 설치하거나 구글 코랩 이용
1-4.1 :: 주피터 노드북을 활용한 프로그래밍 환경 만들기
- 데이터 사이언스에서 주로 사용하는 언어는 파이썬
- 데이터 과학 및 머신러닝에 필요한 라이브러리가 포함된 통합 패키지인 아나콘다를 설치하면 보다 쉽고 편리하게 데이터 사이언스를 위한 프로그래밍 환경을 만들 수 있다
1-4.2 :: 구글 코랩을 활용한 프로그래밍 환경 만들기
- 온라인 파이썬 프로그래밍 도구
- 주피터 노트북과 기능, 구조, 사용방법이 매우 유사하다
- 구글 서버를 사용하기 때문에 인터넷에 반드시 연결되어 있어야 한다
1-5 :: 데이터 사이언스를 위한 수학의 필요성
- 데이터 사이언스를 공부한다는건 빅데이터 분석, 머신러닝, 딥러닝 실행방법을 익히는 것 뿐만 아니라 원리를 배우는 것도 포함
- 원리를 이해하기 위해 필요한 지식 중 한 가지가 수학
일상생활에서 일어나는 모든 문제는 y = f(x)로 바꾸어 생각할 수 있다
- 일어난 문제(y)
- 문제 발생 요인(x)
- 문제를 발생시킨 요인과 문제의 관계가 f
결국 데이터 사이언스는 f를 찾는 것
= 규칙, 머신러닝, 함수, 수식을 찾는 것
Ex) 당뇨병 진단
* 당뇨병(y)
* 여러가지 원인(x)
- 수면, 운동, 체중, 식이 ...
* y와 x의 관련성을 밝히는 과정이 f를 찾는과정
f를 찾다 == 규칙을 찾다 == 머신러닝을 활용하다 == 수식을 구하다
출처: 데이터사이언스를 위한 기초수학 with 파이썬
'데이터분석 > 데기파' 카테고리의 다른 글
2장 :: 기초 함수(2) (0) | 2023.10.06 |
---|---|
2장 :: 기초 함수 (1) (0) | 2023.09.27 |