01 | 아이리스 데이터
본격적으로 데이터 조작을 알아보기에 앞서, 앞으로 데이터 처리 및 기계 학습 기법의 예제로 사용할 아이리스(붓꽃)iris 데이터 셋에 대해 살펴보자. 아이리스는 통계학자인 피셔Fisher1 가 소개한 데이터로, 붓꽃의 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
...
1 피셔는 통계학자, 유전학자, 진화생물학자로서 현대 통계학에 지대한 공을 세운 학자다. 통계학자 중 한 사람인 앤더스 할드(Anders Hald)는 그를 일컬어 ‘현대 통계학의 토대를 거의 혼자서 만들어낸 천재’로 지칭했다. 관심 있는 독자는 피셔에 대한 위키피디아 문서인 http://en.wikipedia.org/wiki/Ronald_Fisher를 참고하기 바란다.