Menggunakan Library Markdown untuk Membuat Artikel Tentang Clustering Data

Menggunakan Library Markdown untuk Membuat Artikel Tentang Clustering Data

Clustering adalah salah satu teknik analisis data yang digunakan untuk membagi dataset menjadi beberapa kelompok yang memiliki karakteristik yang sama. Dalam artikel ini, kita akan menggunakan library Python3 untuk melakukan clustering pada data Credit Card.

Langkah 1: Mengumpulkan dan Membersihkan Data

Kita akan mulai dengan mengumpulkan data dari file CSV berjudul "CC_GENERAL.csv" menggunakan library Pandas.

import pandas as pd

X = pd.read_csv('CC_GENERAL.csv')
X = X.drop('CUST_ID', axis=1)
X.fillna(method='ffill', inplace=True)

Langkah 2: Mempersiapkan Data

Kita akan menggunakan library StandardScaler dan Normalize untuk mempersiapkan data.

from sklearn.preprocessing import StandardScaler, normalize

scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

X_normalized = normalize(X_scaled)
X_normalized = pd.DataFrame(X_normalized)

Langkah 3: Mengurangi Dimensi Data

Kita akan menggunakan library PCA untuk mengurangi dimensi data menjadi dua.

from sklearn.decomposition import PCA

pca = PCA(n_components=2)
X_principal = pca.fit_transform(X_normalized)
X_principal = pd.DataFrame(X_principal)
X_principal.columns = ['P1', 'P2']

Langkah 4: Membuat Dendrogram

Kita akan menggunakan library SciPy untuk membuat dendrogram dan membagi data menjadi beberapa kelompok.

import scipy.cluster.hierarchy as shc

Dendrogram = shc.dendrogram((shc.linkage(X_principal, method='ward')))
plt.figure(figsize=(8, 8))
plt.title('Visualising the data')
plt.show()

Langkah 5: Membuat Model Clustering

Kita akan menggunakan library AgglomerativeClustering untuk membuat model clustering dengan beberapa nilai k (2, 3, 4, 5, dan 6).

from sklearn.cluster import AgglomerativeClustering

ac2 = AgglomerativeClustering(n_clusters=2)
ac3 = AgglomerativeClustering(n_clusters=3)
ac4 = AgglomerativeClustering(n_clusters=4)
ac5 = AgglomerativeClustering(n_clusters=5)
ac6 = AgglomerativeClustering(n_clusters=6)

plt.figure(figsize=(6, 6))
plt.scatter(X_principal['P1'], X_principal['P2'], c=ac2.fit_predict(X_principal), cmap='rainbow')
plt.show()

Langkah 6: Mengevaluasi Model Clustering

Kita akan menggunakan library Sklearn untuk menghitung silhouette scores dan memvisualisasikan hasilnya.

from sklearn.metrics import silhouette_score

k = [2, 3, 4, 5, 6]
silhouette_scores = []
silhouette_scores.append(silhouette_score(X_principal, ac2.fit_predict(X_principal)))
silhouette_scores.append(silhouette_score(X_principal, ac3.fit_predict(X_principal)))
silhouette_scores.append(silhouette_score(X_principal, ac4.fit_predict(X_principal)))
silhouette_scores.append(silhouette_score(X_principal, ac5.fit_predict(X_principal)))
silhouette_scores.append(silhouette_score(X_principal, ac6.fit_predict(X_principal)))

plt.bar(k, silhouette_scores)
plt.xlabel('Number of clusters', fontsize=20)
plt.ylabel('S(i)', fontsize=20)
plt.show()

Kesimpulan

Dengan menggunakan library Python3 dan teknik clustering, kita dapat menentukan jumlah cluster yang optimal untuk data Credit Card. Dalam artikel ini, kita telah menggunakan library PCA, StandardScaler, Normalize, AgglomerativeClustering, dan SciPy untuk melakukan clustering pada data. Hasilnya menunjukkan bahwa jumlah cluster yang optimal adalah 2.