0% found this document useful (0 votes)
6 views

AML Clustering

Machine Learning-Clustering Notes

Uploaded by

ppradhan222003
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

AML Clustering

Machine Learning-Clustering Notes

Uploaded by

ppradhan222003
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

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

You might also like