Urdoing=͟͟͞♡d

데이터분석가를 꿈꾸는 박열심의 IT 공간

STUDY✏️/데이터과학

[R로 배우는 데이터 과학] 5장 데이터 가공 :: 시험 대비 요약정리

박열심 2024. 3. 24. 10:30
반응형


 

<데이터 가공>

데이터 정제

- 데이터에서 불필요한 요소를 제거하고, 사용하기 편하게 정리

 

데이터 가공

- 데이터 정제보다 더 광범위하고, 구체적인 목적 아래 이루어짐

- 거의 모든 분야에서 적절한 가공이 필요함

- 데이터를 보다 효과적으로 분석하기 위해 데이터를 만지고 변형하는 작업

- 기본적으로 데이터 프레임을 중심으로 R이 제공하는 다양한 연산자와 함수를 이용해 이루어지는 작업

 

데이터 가공, 무엇을 하려고?

- 통계 분석 : 데이터에 담긴 의미 끄집어내기

- 시각화 : 효과적인 관찰을 위해

- 모델링 : 인과관계를 추정하기 위해

 

 

 

<베이스 R을 이용한 데이터 가공>

gapminder

- 세계 각국의 기대 수명, 1인당 국내총생산, 인구 데이터 등을 집계해 놓음

- country : 국가명, 범주형

- continent : 국가가 속한 대륙, 범주형

- year : 관측연도, int

- lifeExp : 기대 수명, num

- pop : 인구, int

- gdpPercap : 1인당 국내총생산, num

샘플과 속성의 추출

- [ 행 , 열 ]로 원하는 행과 열을 따로 추출할 수 있음

- 여러 행이나 열을 지정할 때는 벡터로 묶어 주기 !

- 정교하게 추출하려면, 조건식 여러 개를 논리 연산자(&, |)로 결합하면 됨

 

행/열 단위의 연산

- apply 함수를 이용하여 행/열 단위의 빠른 연산

 

조건에 맞는 데이터의 위치 찾기

=> 인덱스를 추출함

=> 데이터가 array(배열) 형태이면 값을 반환하므로 arr.ind=TRUE를 해야 인덱스를 반환함 !

which()

which.max()

which.min()

 

 

 

<dplyr 라이브러리를 이용한 데이터 가공>

- 베이스 R 기반 : 인덱스 기반의 데이터 접근에 기초함

- dplyr 라이브러리 : filter 혹은 select 같은 함수를 이용해 데이터 가공을 구현 => 보다 직관적으로 이해할 수 있게 됨

- 탐색적 데이터 분석 가정에서 시각화와 데이터 가공을 매우 긴밀하게 연결되어 있으므로, 시각화를 위한 효율적인 가공 기법도 필요

=> dplyr는 데이터 프레임 가공에 활용하기 좋다 !

 

샘플과 속성 추출

- select() : 특정 속성(열)을 추출할 때 사용

- filter() : 특정 샘플(행)을 추출할 때 사용

 

행/열 단위의 연산

- group_by() : 데이터 프레임에 포함된 범주형 속성을 활용해, 전체 데이터를 그룹으로 분류할 수 있음

- summarize() : 각 그룹별 통계 지표를 한 번에 산출

 

%>% 연산자를 이용한 연속 처리

- %>% : 파이프, 명령어의 작업을 연결함

<데이터 가공의 실제>

데이터 정렬과 검색

- arrange() : 정렬, 데이터의 속성값도 함께 확인할 수 있음

 

Date형 데이터의 활용

- 일정 기간 동안 기록된 데이터는 보통 연도-월-일 형태의 Date형 속성이 포함되어 있음

- Date에서 month를 추출하려면, lubridate 라이브러리 설치 후, month 함수 사용

 

모델링을 위한 가공

- UCI 리퍼지토리 : 기계 학습 알고리즘의 실험적 분석을 위해 마련된 데이터 셋

 

데이터 셋 분할하기

- 모델을 학습하는 데 필요한 학습 데이터와, 구해진 모델이 적절한지 검증하기 위한 테스트 데이터는, 주어진 데이터 셋을 일정한 비율로 분할하여 얻게 됨

- sample_frac(데이터, 비율) : 일정 비율로 샘플을 뽑을 수 있음

 

데이터 구조 변경

- names() : 속성(열) 이름

- gather(데이터, key="긴 형태로 나열하게 될 변수명", value="key 변수에 대한 값 변수명", -고려하지 않는 변수) : 데이터 프레임을 세로로 긴 형태로 변형시켜 줌

- merge() : 하나의 데이터 프레임으로 병합

 

데이터 가공의 의의

- 관심 있는 데이터 영역을 추출하는 작업

- 데이터를 직관적이고 쉽게 분석하기 위한 여러 작업

- 그 어떤 분석 기법보다도 오래된 데이터 과학의 기본 기술

- 크고 복잡한 데이터 덩어리를 지속적으로 가공하고 의미를 파악

- 데이터 변형 => 데이터를 바라보는 관찰자의 생각과 관점을 바꾸는 것

- 데이터의 의미가 잘 드러나도록 불필요한 부분 잘라내기

- 신뢰성과 일관성을 부여하기 위해 끊임없이 사고해야 하는 작업

- 데이터에 대한 이해 & 데이터 가공 => 같이 진행되는 것 !!!

 

반응형