
Cara Menggunakan Program
- Buka Google Colaboratory menggunakan akun anda
- Install library bila diperlukan
- Gunakan script code program di bawah menggunakan Google Colaboratory
- Modifikasi sesuai materi yang dipelajari
Deskripsi Program
Pertama impor data dummy pengunjung mall dari local drive ke google colab
from google.colab import files
uploaded = files.upload()
Menyimpan dataset csv ke dalam dataframe Pandas
import pandas as pd
df = pd.read_csv(io.BytesIO(uploaded['Mall_Customers.csv']))
df.head(3)
Preprocessing
df = df.rename(columns={'Gender': 'gender', 'Age': 'age',
'Annual Income (k$)': 'annual_income',
'Spending Score (1-100)': 'spending_score'})
df['gender'].replace(['Female', 'Male'], [0,1], inplace=True)
df.head(3)
Impor K-Means dan menghitung inersia dari K-Means dengan nilai K antara 1 sampai 11
from sklearn.cluster import KMeans
X = df.drop(['CustomerID', 'gender'], axis=1)
clusters = []
for i in range(1,11):
km = KMeans(n_clusters=i).fit(X)
clusters.append(km.inertia_)
Pemilihan nilai K dengan metode Elbow
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
fig, ax = plt.subplots(figsize=(8, 4))
sns.lineplot(x=list(range(1, 11)), y=clusters, ax=ax)
ax.set_title('Cari Elbow')
ax.set_xlabel('Clusters')
ax.set_ylabel('Inertia')
Melatih K-Means dengan jumlah K=5 yang diperoleh dari metode Elbow dan plot hasil clustering
km5 = KMeans(n_clusters=5).fit(X)
X['Labels'] = km5.labels_
plt.figure(figsize=(8,4))
sns.scatterplot(X['annual_income'], X['spending_score'], hue=X['Labels'],
palette=sns.color_palette('hls', 5))
plt.title('KMeans dengan 5 Cluster')
plt.show()
© Copyright 2023, Ganesha Operation. All Rights Reserved