data(iris)
head(iris)
|
Sepal.Length
|
Sepal.Width
|
Petal.Length
|
Petal.Width
|
Species
|
<tr><td>5.1 </td><td>3.5 </td><td>1.4 </td><td>0.2 </td><td>setosa</td></tr>
<tr><td>4.9 </td><td>3.0 </td><td>1.4 </td><td>0.2 </td><td>setosa</td></tr>
<tr><td>4.7 </td><td>3.2 </td><td>1.3 </td><td>0.2 </td><td>setosa</td></tr>
<tr><td>4.6 </td><td>3.1 </td><td>1.5 </td><td>0.2 </td><td>setosa</td></tr>
<tr><td>5.0 </td><td>3.6 </td><td>1.4 </td><td>0.2 </td><td>setosa</td></tr>
<tr><td>5.4 </td><td>3.9 </td><td>1.7 </td><td>0.4 </td><td>setosa</td></tr>
set.seed(42)
km <-kmeans(iris[,1:4], 3,nstart=25)
km
K-means clustering with 3 clusters of sizes 38, 62, 50
Cluster means:
Sepal.Length Sepal.Width Petal.Length Petal.Width
1 6.850000 3.073684 5.742105 2.071053
2 5.901613 2.748387 4.393548 1.433871
3 5.006000 3.428000 1.462000 0.246000
Clustering vector:
[1] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
[38] 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
[75] 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 1 1 2 1 1 1 1
[112] 1 1 2 2 1 1 1 1 2 1 2 1 2 1 1 2 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 2 1
[149] 1 2
Within cluster sum of squares by cluster:
[1] 23.87947 39.82097 15.15100
(between_SS / total_SS = 88.4 %)
Available components:
[1] "cluster" "centers" "totss" "withinss" "tot.withinss"
[6] "betweenss" "size" "iter" "ifault"
table(km$cluster, iris$Species)
setosa versicolor virginica
1 0 2 36
2 0 48 14
3 50 0 0
plot(iris[,1], iris[,2], col=km$cluster)
points(km$centers[,c(1,2)], col=1:3, pch=8, cex=2)