Motivatioin#
K means clustering#
# Load required packages
library(tidyverse)
# Load the iris dataset
data(iris)
# View the dataset
head(iris)
# Select relevant numeric columns for clustering
measurements <- iris %>% select(Sepal.Length, Sepal.Width, Petal.Length, Petal.Width)
# Scale the data
measurements_scaled <- scale(measurements)
# Run K-Means Clustering
set.seed(123) # For reproducibility
kmeans_result <- kmeans(measurements_scaled, centers = 3)
# Print the cluster assignments
print(kmeans_result$cluster)
# Add cluster results to the original dataset
iris$cluster <- kmeans_result$cluster
# Visualize Clusters
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = as.factor(cluster))) +
geom_point(size = 3) +
labs(color = "Cluster") +
ggtitle("K-Means Clustering of Iris Dataset")