import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.cluster import KMeans
# Load the Iris dataset
iris = datasets.load_iris()
X = iris.data[:, :2] # we will only use the first two features for visualization purposes
# Implementing K-means clustering algorithm
kmeans = KMeans(n_clusters=3, random_state=42)
kmeans.fit(X)
centroids = kmeans.cluster_centers_
labels = kmeans.labels_
# Visualizing the clusters
plt.figure(figsize=(8, 6))
# Plotting data points
plt.scatter(X[:, 0], X[:, 1], c=labels, cmap='viridis', s=50, alpha=0.7, edgecolors='k', label='Data Points')
# Plotting centroids
plt.scatter(centroids[:, 0], centroids[:, 1], marker='*', s=200, c='red', label='Centroids')
plt.xlabel('Sepal Length')
plt.ylabel('Sepal Width')
plt.title('K-means Clustering')
plt.legend()
plt.grid(True)
plt.show()
# your code goes here
aW1wb3J0IG51bXB5IGFzIG5wCmltcG9ydCBtYXRwbG90bGliLnB5cGxvdCBhcyBwbHQKZnJvbSBza2xlYXJuIGltcG9ydCBkYXRhc2V0cwpmcm9tIHNrbGVhcm4uY2x1c3RlciBpbXBvcnQgS01lYW5zCgojIExvYWQgdGhlIElyaXMgZGF0YXNldAppcmlzID0gZGF0YXNldHMubG9hZF9pcmlzKCkKWCA9IGlyaXMuZGF0YVs6LCA6Ml0gICMgd2Ugd2lsbCBvbmx5IHVzZSB0aGUgZmlyc3QgdHdvIGZlYXR1cmVzIGZvciB2aXN1YWxpemF0aW9uIHB1cnBvc2VzCgojIEltcGxlbWVudGluZyBLLW1lYW5zIGNsdXN0ZXJpbmcgYWxnb3JpdGhtCmttZWFucyA9IEtNZWFucyhuX2NsdXN0ZXJzPTMsIHJhbmRvbV9zdGF0ZT00MikKa21lYW5zLmZpdChYKQpjZW50cm9pZHMgPSBrbWVhbnMuY2x1c3Rlcl9jZW50ZXJzXwpsYWJlbHMgPSBrbWVhbnMubGFiZWxzXwoKIyBWaXN1YWxpemluZyB0aGUgY2x1c3RlcnMKcGx0LmZpZ3VyZShmaWdzaXplPSg4LCA2KSkKCiMgUGxvdHRpbmcgZGF0YSBwb2ludHMKcGx0LnNjYXR0ZXIoWFs6LCAwXSwgWFs6LCAxXSwgYz1sYWJlbHMsIGNtYXA9J3ZpcmlkaXMnLCBzPTUwLCBhbHBoYT0wLjcsIGVkZ2Vjb2xvcnM9J2snLCBsYWJlbD0nRGF0YSBQb2ludHMnKQoKIyBQbG90dGluZyBjZW50cm9pZHMKcGx0LnNjYXR0ZXIoY2VudHJvaWRzWzosIDBdLCBjZW50cm9pZHNbOiwgMV0sIG1hcmtlcj0nKicsIHM9MjAwLCBjPSdyZWQnLCBsYWJlbD0nQ2VudHJvaWRzJykKCnBsdC54bGFiZWwoJ1NlcGFsIExlbmd0aCcpCnBsdC55bGFiZWwoJ1NlcGFsIFdpZHRoJykKcGx0LnRpdGxlKCdLLW1lYW5zIENsdXN0ZXJpbmcnKQpwbHQubGVnZW5kKCkKcGx0LmdyaWQoVHJ1ZSkKcGx0LnNob3coKQojIHlvdXIgY29kZSBnb2VzIGhlcmU=