소식 [한국데이터산업진흥원 교육 후기] 데이터분석 교육
[한국데이터산업진흥원 교육 후기] 데이터분석 교육
안녕하세요. 저는 이번에 한국 데이터 산업진흥원에서 지원하는 교육을 듣게 되었습니다. 우선 한국 데이터 산업진흥원에서는 온라인 교육과 오프라인 교육을 지원하고 있는데요. 오프라인 교육에 못지않게 온라인 교육에도 다양한 분야에 여러 가지 교육을 지원하고 있어서 온라인으로 듣게 되었습니다.
온라인 교육 중
Python을 활용한 교육과정을 들으려고 알아보다가 Python 활용 강의를 듣기 전에 기본적인 데이터 분석을 먼저 들어보라고 하기에 데이터 분석에 대한 강의를 듣게 되었습니다.
강의 | 내용 |
제1강 | 데이터 분석의 목적과 활용사례 |
제2강 | 데이터 분석을 위한 필요지식 |
제3강 | R과 R스튜디오 설치 및 사용 |
제4강 | 데이터 구조 및 기초함수 |
제5강 | 데이터 수집과 저장 |
제6강 | 데이터 정제 기법 |
제7강 | 지하철 승하자 데이터 분석 따라하기_1 |
제8강 | 지하철 승하자 데이터 분석 따라하기_2 |
제9강 | 기상정보를 활용한 불쾌지수 분석_1 |
제10강 | 기상정보를 활용한 불쾌지수 분석_2 |
제11강 | 유동인구 데이터 분석 따라하기_1 |
제12강 | 유동인구 데이터 분석 따라하기_2 |
○ 데이터 분석(Data Analysis)
- 유용한 정보를 발견하고 의사 결정을 지원할 목적으로 데이터를 정리, 변환 및 모델링하는 프로세스
○ 빅 데이터(Big Data)
- 기존의 데이터베이스로는 수집·저장·분석 따위를 수행하기가 어려울 만큼 방대한 양의 데이터
- 대용량 데이터를 활용, 새로운 통찰이나 가치를 추출
- 시장, 기업, 및 시민과 정부의 관계 등 많은 분양에 변화를 가져오는 일
○ The 5 vs of Big Data
- 기존 3Vs에서 Value 및 Veracity이 추각되어 5Vs로 확정되었음
(기존 3Vs : Volume, Velocity, Variety)
○ 도시에서의 데이터 수집 및 활용
- 스마트시티 내 데이터 허브를 구축하여 도시 데이터의 생성·수집·저장·분석·활용을 촉진
- 데이터는 왜 중요한가?
: 데이터는 스마트시티의 필수 구성요소로서, 도시문제를 해결하고 시민에게 편의를 창출하는 등의 스마트시티 기능이 데이터분석을 기반으로 작동
○ 빅데이터 분석을 위한 역량
- 빅데이터 처리능력, 빅데이터 프로그래밍 능력, 빅데이터 시각화 능력, 빅데이터 분석 능력
○ 데이터 분석을 위한 단계
- 데이터 수집 단계, 데이터 전처리 단계, 데이터 저장·관리 단계, 데이터 분석 단계, 지식 시각화 단계
○ R 기본개념
- 데이터 구조
- getwd세트 : 행과 열로 이루어진 데이터 구조
- 행(Row) : 데이터 세트의 가로 영역(관측치)
- 열(Column) : 데이터 세트의 세로 영역(변수)
- 데이터 값(Value) : 관측된 값
- 변수
- 변수(Variable) : 다양하게 변할 수 있는 값
- 할당연산자 : 변수를 할당할 때 <- 를 사용
- 변수명 생성 규칙
: 첫 글자는 반드시 영문자 또는 마침표만 사용 가능 ex) exam, .exam
: 두번째 글자 이후로는 영문자, 숫자, 밑줄 사용 가능 ex) e1xam, e_xam
: 빈칸은 사용 불가 ex) ex am은 변수명으로 사용 불가
- TIP
- <- : Alt -를 누르면 자동 생성됨
- : (콜론) : 시작 숫자와 마지막 숫자 사이의 1씩 증가하는 연속 값을 변수로 구성함
ex) 1:5 : 1,2,3,4,5 의 값 출력
- c() : 데이터나 객체를 하나로 결합
- Script
# 데이터 10을 x 변수에 할당
x <- 10
# c( ) : 여러 개의 값을 변수에 할당 할 때 사용
y <- c(1,2,3,4,5)
# 1부터 10까지 1씩 증가하는 연속 값을 변수 exam에 할당
exam <- c(1:10)
자료형 | 사용 예 | 비고 |
숫자형 | 1, 2, -5, 11.7 | 정수와 실수 모두 해당 |
문자형 | “MJ”, 'Jane' | 큰 따옴표 또는 작은따옴표로 묶어서 표현 |
논리형 | TRUE, FALSE | 참, 거짓을 나타내며, T나 F로 줄여서 사용 가능 |
특수값 | NA | 결측값(missing value) |
NULL | 정의되어 있지 않음을 의미 | |
NaM | 수학적으로 정의가 불가능한 값 (ex, sqrt(-2)) | |
Inf, -Inf | 양의 무한대(Inf) 음의 무한대(-Inf) |
- 변수 값 변경과 산술 연산
: 변수에 저장된 값은 언제든지 변경 가능
: 변수의 자료형은 어떤 값을 저장하는가에 따라 유동적으로 바뀜
- TIP
- : 더하기, - : 빼기, * : 곱하기, / : 나누기
- %/% : 나눗셈의 몫, %% : 나눗셈의 나머지
- ^ : 제곱(승)
연산 함수 | 기능 | 설명 |
sum() | 총합 | - 데이터를 모두 더한 값 |
mean() | 평균 | - 데이터를 모두 더한 후 개수로 나눈 값 (sum/n) |
ad() | 표준편차 | - 데이터에 포함된 값들의 표준편차 |
var() | 분산 | - 데이터에 포함된 값들의 분산 |
median() | 중앙값 (중위수) |
- 데이터를 크기순으로 정렬했을 때 가운데 있는 값 - 데이터 개수가 짝수면 가운데 있는 두 개의 값을 더해 2로 나눈 값 |
max() | 최댓값 | - 데이터를 순서대로 정렬했을 때 가장 큰 값 |
min() | 최솟값 | - 데이터를 순서대로 정렬했을 때 가장 작은 값 |
length() | 값들의 개수 | - 벡터에 포함된 값들의 개수(길이) |
range() | 범위 | - 최댓값에서 최솟값의 범위 |
연산자 | 사용 예 | 설명 |
< | A < B | - B가 A보다 크면 TRUE(참) |
<= | A <= B | - B가 A보다 크거나 같으면 TRUE |
> | A > B | - A가 B 보다 크면 TRUE |
>= | A >= B | - A가 B 보다 크거나 같으면 TRUE |
== | A == B | - A와 B가 같으면 TRUE |
!= | A != B | - A와 B가 같지 않으면 TRUE |
| | A | B | - A 또는 B 어느 한쪽이라도 TRUE면 TRUE |
& | A & B | - A 와 B 모두 TRUE면 TRUE |
- 논리연산자를 활용한 인덱싱(Indexing)
- 논리 연산을 만족하는 TRUE 값을 가지는 위치의 값만 출력됨
- 인덱싱(Indexing) : 대괄호 []로 나타냄
- 매트릭스와 데이터 프레임
- 매트릭스(matrix)
- 데이터 테이블의 모든 셀의 값들이 동일한 자료형
- matrix() : matrix(입력값, nrow=행의 수, ncol=열의 수)
- rownames() : 행이름 확인 및 바꾸기
- colnames() : 열이름 확인 및 바꾸기
- 데이터 프레임(data frame)
- 자료형이 다른 컬럼들로 구성
- data.frame() : data.frame(변수명1, 변수명2, 변수명3, …)
한국 데이터 산업진흥원에 데이터 관련 교육이 데이터기초와 데이터분석으로 나뉘어 있었습니다.
기초적인 내용보다 실습 위주로 교육을 듣고 싶어 데이터분석으로 듣게 되었는데, 생각보다 기초적인 부분들이 많이 다뤄져서 교육하면서 데이터의 입문자가 들어도 크게 어려운 부분은 없을 것 같습니다.
다만, 항상 필기보다 실기시험이 어렵듯이 교육 앞전에서 배운 이론 부분을 뒤에 실습하는 편에서 많이 실습해 봐야 확실히 본인의 영역으로 흡수될 것 같습니다.
본 교육과 더불어 여러 교육과정을 수강하여 꾸준하게 학습한다면 사업 수행적인 방면으로도 도움이 되고 나아가 학습자의 역량 강화에도 큰 도움이 될 것입니다.
[글/사진] 김지곤 과장 / gony880@gmail.com