본문 바로가기

R/R을 이용한 데이터 처리&분석 실무

아이리스 데이터

반응형

본격적으로 데이터 조작을 알아보기에 앞서, 앞으로 데이터 처리 및 기계 학습 기법의 예제로 사용할 아이리스(붓꽃(iris)) 데이터 셋에 대해 살펴보자. 아이리스는 통계학자인 피셔(Fisher)가 소개한 데이터로, 붓꽃의 3가지 종(setosa, versicolor, virginica)에 대해 꽃받침(sepal)과 꽃잎(petal)의 길이를 정리한 데이터다. 이 데이터는 R에 기본적으로 내장되어 있고, 이해하기 쉬우며 크기가 작고 기계 학습에서 인기 있는 분야 중 하나인 분류(Classification)에 적합한 데이터다. 이런 이유로 아이리스는 R뿐만 아니라 다른 데이터 분석이나 기계 학습 관련 라이브러리에서 자주 사용되고 있으므로 이 데이터를 알아두는 것 자체가 큰 의미가 있다.

 

아이리스의 각 행에 저장된 데이터는 다음과 같다.

컬럼명 의미 데이터 타입
Species 붓꽃의 종. setosa, versicolor, virginica 세 가지 값 중 하나 Factor
Sepal.Width 꽃받침의 너비 Number
Sepal.Length 꽃받침의 길이 Number
Petal.Width 꽃잎의 너비 Number
Petal.Length 꽃잎의 길이 Number

 

iris에는 붓꽃의 종별로 50행씩, 총 150개 행이 저장되어 있다.

>head(iris)
   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1       5.1               3.5           1.4             0.2        setosa
2       4.9               3.0           1.4             0.2        setosa 
3       4.7               3.2           1.3             0.2        setosa
4       4.6               3.1           1.5             0.2        setosa
5       5.0               3.6           1.4             0.2        setosa 
6       5.4               3.9           1.7             0.4        setosa

>str(iris)
'data.frame':           150 obs. of 5 variables:
$Sepal.Length : num   5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
$Sepal.Width  : num   3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
$Petal.Length : num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
$Petal.Width  : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
$Species       : Factor w/3 Levels "setosa","versicolor",... : 1 1 1 1 1 1 1 1 1 1 ...  

 

iris에는 붓꽃 데이터가 데이터 프레임으로 저장되어 있는 반면, iris3에는 3차원 배열 형태로 저장되어 있다.

>iris3
, , Setosa

       Sepal L. Sepal W. Petal L. Petal W.
[1, ]      5.1        3.5        1.4         0.2
[2, ]      4.9        3.0        1.4         0.2
...

, , Versicolor

       Sepal L. Sepal W. Petal L. Petal W.
[1, ]      7.0       3.2       4.7       1.4
[2, ]      6.4       3.2       4.5       1.5
...

, , Virginica

       Sepal L. Sepal W. Petal L. Petal W.
[1, ]      6.3       3.3       6.0       2.5
[2, ]      5.8       2.7       5.1       1.9
...

 

이외에도 R에는 다양한 데이터 셋이 준비되어 있다. datasets 패키지에 있는 데이터 셋은 R에 기본적으로 포함된 데이터들이며, 이 데이터의 목록은 library(help=datasets) 명령으로 살펴볼 수 있다. 아래의 표에서는 R 관련 도서에서 종종 등장하는 데이터 셋을 정리했다.

데이터 셋 의미
AirPassenger 1949년부터 1960년까지의 항공기 승객 수
airqualilty 1973년 5월부터 9월까지의 뉴욕 대기 오염 정도에 대한 기록
cars 자동차의 주행 속도에 따른 제동 거리
mtcars 1947년 미국 모터 트렌드 매거진에 실린 32개 자동차에 대해 연료 효율을 비롯한 10여 가지 특징을 기록
Titanic 타이타닉 호의 생존자 정보를 호실(1등실, 2등실, 3등실), 성별, 나이, 생존 여부로 정리
InsectSprays 6종류의 살충제를 사용했을 때 각 살충제에 대해 살아남은 벌레의 수
Orange 오렌지 나무의 종류, 연력, 둘레
swiss 1888년경 프랑스어를 사용하는 스위스 내 47개 주의 출산율과 사회 경제적 지표(농업 종사자 비율, 군 입대 시험 성적, 교육 등)

 

이들 데이터를 사용할 때는 'data(데이터 셋 이름)' 명령을 사용한다. 예를 들어, mtcars를 살펴보려면 다음과 같은 명령을 사용한다.

>data(mtcars)
>head(mtcars)

 

mtcars 데이터 셋의 상세 내용을 알고 싶다면 ?mtcars 또는 help(mtcars) 명령을 사용한다.

 

더 다양한 데이터를 원하는 분들은 기계 학습 벤치마킹 데이터를 저장한 mlbench 패키지와 UC어바인(University of California, Irvine)에서 운영하는 기계 학습 리포지터리(Machine Learning Repository) 홈페이지(http://archive.ics.uci.edu/ml/)를 살펴보기 바란다.

 

R을 이용한 데이터 처리&분석 실무 中

반응형

'R > R을 이용한 데이터 처리&분석 실무' 카테고리의 다른 글

데이터 프레임의 행과 컬럼 합치기  (0) 2020.01.31
파일 입출력  (0) 2020.01.31
함수의 정의  (0) 2020.01.30
연산  (0) 2020.01.30
흐름 제어(조건문과 반복문)  (0) 2020.01.30