2020.02.12. R로하는 A. I 분석 (2) K-Means Clustering 데이터 핸들링


7. R로 하는 데이터 분석 : 데이터 ID처리에 대해서 (7)

7.1.1 목표 

- iris 데이터를 보면 데이터의 관측수는 표시돼 있지만 데이터의 ID는 없습니다.
- 즉, [그림1]과 같이 변수(Variable)로서의 ID값이 없다는 말입니다. 


>View(iris)
>head(iris)

[그림1] iris 원래 데이터 : ID값이 없음



- 이번 챕터에서는 변수로서의 ID를 부여해서 분석하는 방법을 알아봅니다.


7.1.2 사용패키지

: writexl 



7.2 데이터 추출 패키지 :  writexl  (데이터를 엑셀로 저장)

- 데이터를 엑셀로 저장해서 ID변수를 만들기 - 데이터를  iris1 이라는 데이터로 저장한다.
>install.packages("writexl")
>library(writexl)
>writexl::write_xlsx(iris, path = "d:/iris.xlsx")


저장할 데이터명 : iris / 저장할 곳 : d:/


[그림2] iris1 데이터 : ID값 부여

7.3 ID가 있는 데이터로 다시 분석하기

7.3.1 iris1 데이터 불러오기 

>library(readxl)
>iris1 <- read_excel("iris1.xlsx")
>View(iris1)


[그림3] iris1 데이터 : 불러오기




7.3.2 iris 데이터로 k-means 클러스터링 작업 하기  


>ibrary(caret)
>set.seed(1712)

>inTrain <- createDataPartition(y = iris$Species, p = 0.7, list =F)
>training <- iris[inTrain,]
>testing <- iris[-inTrain,]
>training

>training.data <- scale(training[-5]) 
>summary(training.data)  
>iris.kmeans <- kmeans(training.data[,-5], centers = 3, iter.max = 10000)
>iris.kmeans$centers

>training$cluster <- as.factor(iris.kmeans$cluster)
>qplot(Petal.Width, Petal.Length, colour = cluster, data = training)

>table(training$Species, training$cluster)

7.4.1 데이터 셑 참조해서 합치기

- [그림4]와 같이 데이터를 참조해서 엑셀시트에 삽입 


[그림4] 엑셀에서 vlookup 함수


- merge.data.frame 명령어 사용 

  : 데이터를 참조해서 두개의 시트를 하나로 만듬 
  : training 데이터에 iris1에 있는 id값을 삽입해서 하나의 시트로 다시 만들기

>merge.data.frame(training,iris1)
>iris3<-merge.data.frame(training,iris1)
>View(iris3)


[그림5] iris3 : id값이 포함된 training 데이터 



  : iris3 데이터 저장하기 
>library(writexl)
>writexl::write_xlsx(iris3, path = "d:/iris3.xlsx")

댓글