더북(TheBook)

plot( )에서 그래프에 표시된 데이터가 붓꽃의 어느 종인지를 표현하기 위해 포뮬러를 사용해 데이터를 붓꽃 종별로 분리해 그릴 수도 있고, 산점도의 점 모양을 붓꽃 종에 따라 다르게 지정할 수도 있다. 포뮬러를 사용한 예를 보자.

> plot(Species ~ Sepal.Length, data=iris)
그림 9-4 plot( )에서 포뮬러의 사용
그림 9-4 plot( )에서 포뮬러의 사용

다음 코드에서는 팩터 타입의 Species를 숫자로 변환해 점의 모양pch에 지정했다.

> with(iris, {
+    plot(Sepal.Length, Sepal.Width, pch=as.numeric(Species))
+    legend("topright", legend=levels(iris$Species), pch=1:3) })
그림 9-5 plot( )과 pch의 사용
그림 9-5 plot( )과 pch의 사용

caret 패키지에는 피처와 분류 간의 관련성을 쉽게 시각화해주는 featurePlot( ) 함수가 있다. 다음은 아이리스의 모든 변수를 iris$Speices에 따라 그리되, Speices별 구분을 타원으로 표시한 예다. 그림 9-6에서 보다시피 붓꽃 종별로 데이터의 분포를 한눈에 파악할 수 있어 Species를 피처 변수들로 알아낼 수 있는지 판단하는 데 좋은 자료가 된다.

> install.packages("caret")
> library(caret)
> featurePlot(iris[, 1:4], iris$Species, "ellipse")
그림 9-6 featurePlot( )을 iris에 적용한 예
그림 9-6 featurePlot( )을 iris에 적용한 예
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.