GIET UNIVERSITY, GUNUPUR
SCHOOL OF ENGINEERING AND TECHNOLOGY
DEPARTMENT OF CSE (AIML)
K MEANS CLUSTERING
Step 1:Importing libraries
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.cluster import KMeans
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
from sklearn.metrics import accuracy_score, silhouette_score
from sklearn.metrics.cluster import adjusted_rand_score,
normalized_mutual_info_score
Step 2:loading the dataset
iris = datasets.load_iris()
X = iris.data
y = iris.target
Step 3: Standardizing the feature set
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
Step 4:Implementation
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X_scale)
silhouette_avg = silhouette_score(X_scaled, kmeans_labels)
print(f"K-Means Silhouette Score: {silhouette_avg}")
K-Means Silhouette Score: 0.45994823920518635
GIET UNIVERSITY, GUNUPUR
SCHOOL OF ENGINEERING AND TECHNOLOGY
DEPARTMENT OF CSE (AIML)
Step5:Loading the true labels of dataset
true_labels = iris.target
Step 6: Calculating the accuracy
kmeans_accuracy = accuracy_score(true_labels, kmeans_labels)
print(f"K-Means Accuracy: {kmeans_accuracy}")
K-Means Accuracy: 0.09333333333333334
Step 7: Display K means Clusters
plt.figure(figsize=(10, 5))
plt.scatter(X_pca[:, 0], X_pca[:, 1], c=kmeans_labels,
cmap='viridis')
plt.title('K-Means Clustering')
plt.show()
GIET UNIVERSITY, GUNUPUR
SCHOOL OF ENGINEERING AND TECHNOLOGY
DEPARTMENT OF CSE (AIML)
Fuzzy C Means
Clustering
Step 1:Import required libraries
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.cluster import KMeans
from sklearn.mixture import GaussianMixture
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
from sklearn.metrics import accuracy_score, silhouette_score
from sklearn.metrics.cluster import adjusted_rand_score,
normalized_mutual_info_score
import skfuzzy as fuzz
Step 2:Loading the Iris dataset
iris = datasets.load_iris()
X = iris.data
y = iris.target
Step 3: Standardizing the features
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
Step 4: Performing Fuzzy c means
cntr, u, u0, d, jm, p, fpc = fuzz.cluster.cmeans(
X_pca.T, 3, 2, error=0.005, maxiter=1000)
GIET UNIVERSITY, GUNUPUR
SCHOOL OF ENGINEERING AND TECHNOLOGY
DEPARTMENT OF CSE (AIML)
Step 5:Assign data points to clusters based on
the highest membership degree
cluster_membership = np.argmax(u, axis=0)
Step 6:Visualize the clustered data
colors = ['b', 'g', 'r']
for i in range(3):
plt.scatter(X_pca[cluster_membership == i, 0],
X_pca[cluster_membership == i, 1],
c=colors[i], label=f'Cluster {i+1}')
Step 5: Plot the cluster centers
for i in range(3):
plt.scatter(cntr[i, 0], cntr[i, 1], c='k', marker='x', s=100)
plt.title('Fuzzy C-means Clustering of Iris Dataset')
plt.xlabel('PCA Component 1')
plt.ylabel('PCA Component 2')
plt.legend()
GIET UNIVERSITY, GUNUPUR
SCHOOL OF ENGINEERING AND TECHNOLOGY
DEPARTMENT OF CSE (AIML)
GAUSSIAN MIXTURE
IMPLEMENTATION
Step 1:Import required libraries
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.cluster import KMeans
from sklearn.mixture import GaussianMixture
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
from sklearn.metrics import accuracy_score, silhouette_score
from sklearn.metrics.cluster import adjusted_rand_score,
normalized_mutual_info_score
import skfuzzy as fuzz
Step 2:Loading the Iris dataset
iris = datasets.load_iris()
X = iris.data
y = iris.target
Step 3:Implementation of Gaussian Mixture
Clustering
gmm = GaussianMixture(n_components=3, random_state=42)
gmm_labels = gmm.fit_predict(X_scaled)
Step 4: Calculating silhouette score for Gaussian
Mixture
silhouette_avg = silhouette_score(X_scaled, gmm_labels)
print(f"Gaussian Mixture Silhouette Score: {silhouette_avg}")
Step 5:Display Gaussian Mixture clusters
plt.figure(figsize=(10, 5))
plt.scatter(X_pca[:, 0], X_pca[:, 1], c=gmm_labels, cmap='viridis')
plt.title('Gaussian Mixture Clustering')
plt.show()
GIET UNIVERSITY, GUNUPUR
SCHOOL OF ENGINEERING AND TECHNOLOGY
DEPARTMENT OF CSE (AIML)
Gaussian Mixture Silhouette Score: 0.37416491866541235