Anda di halaman 1dari 8

LAPORAN PRAKTIKUM CLUSTERING

Disusun Oleh :

MARYAM AZZAHRA

42520011

3A D4 TKJ

JURUSAN TEKNIK ELEKTRO

PROGRAM STUDI TEKNIK KOMPUTER DAN JARINGAN

POLITEKNIK NEGERI UJUNG PANDANG

2021
I. Tujuan
Tujuan praktikum ini adalah :
1. Mahasiswa mampu merancang system algoritma Clustering
2. Mahasiswa mampu melakukan simulasi hasil rancangan pada Python dan Streamlit

II. Dasar Teori

Algoritma Clustering

Clustering atau klasterisasi adalah metode pengelompokan data. Menurut Tan,


2006 clustering adalah sebuah proses untuk mengelompokan data ke dalam beberapa cluster atau
kelompok sehingga data dalam satu cluster memiliki tingkat kemiripan yang maksimum dan data
antar cluster memiliki kemiripan yang minimum.

Clustering merupakan proses partisi satu set objek data ke dalam himpunan bagian yang disebut
dengan cluster. Objek yang di dalam cluster memiliki kemiripan karakteristik antar satu sama
lainnya dan berbeda dengan cluster yang lain. Partisi tidak dilakukan secara manual melainkan
dengan suatu algoritma clustering. Oleh karena itu, clustering sangat berguna dan bisa
menemukan group atau kelompokyang tidak dikenal dalam data. Clustering banyak digunakan
dalam berbagai aplikasi seperti misalnya pada business inteligence, pengenalan pola citra, web
search, bidang ilmu biologi, dan untuk keamanan (security). Di dalam business
inteligence, clustering bisa mengatur banyak customer ke dalam banyaknya kelompok. Contohnya
mengelompokan customer ke dalam beberapa cluster dengan kesamaan karakteristik yang
kuat. Clustering juga dikenal sebagai data segmentasi karena clustering mempartisi banyak data
set ke dalam banyak group berdasarkan kesamaannya. Selain itu clustering juga bisa
sebagai outlier detection.

Manfaat Clustering
1. Clustering merupakan metode segmentasi data yang sangat berguna dalam prediksi dan
analisa masalah bisnis tertentu. Misalnya Segmentasi pasar, marketing dan pemetaan
zonasi wilayah.
2. Identifikasi obyek dalam bidang berbagai bidang seperti computer vision dan image
processing.

Konsep dasar Clustering


Hasil clustering yang baik akan menghasilkan tingkat kesamaan yang tinggi dalam satu kelas dan
tingkat kesamaan yang rendah antar kelas. Kesamaan yang dimaksud merupakan pengukuran
secaranumeric terhadap dua buah objek. Nilai kesamaan antar kedua objek akan semakin tinggi
jika kedua objek yang dibandingkan memiliki kemiripan yang tinggi. Begitu juga dengan
sebaliknya. Kualitas hasil clustering sangat bergantung pada metode yang dipakai.
Dalam clustering dikenal empat tipe data. Keempat tipe data pada tersebut ialah:
1. Variabel berskala interval
2. Variabel biner
3. Variabel nominal, ordinal, dan rasio
4. Variabel dengan tipe lainnya.
Metode clustering juga harus dapat mengukur kemampuannya sendiri dalam usaha untuk
menemukan suatu pola tersembunyi pada data yang sedang diteliti. Terdapat berbagai metode yang
dapat digunakan untuk mengukur nilai kesamaan antar objek-objek yang dibandingkan. Salah
satunya ialah dengan weighted Euclidean Distance. Euclidean distance menghitung jarak dua buah
point dengan mengetahui nilai dari masing-masing atribut pada kedua poin tersebut. Berikut
formula yang digunakan untuk menghitung jarak dengan Euclidean distance:

Keterangan:
N = Jumlah record data
K= Urutan field data
r= 2
µk= Bobot field yang diberikan user

Jarak adalah pendekatan yang umum dipakai untuk menentukan kesamaan atau ketidaksamaan dua
vektor fitur yang dinyatakan dengan ranking. Apabila nilai ranking yang dihasilkan semakin kecil
nilainya maka semakin dekat/tinggi kesamaan antara kedua vektor tersebut. Teknik pengukuran
jarak dengan metode Euclidean menjadi salah satu metode yang paling umum digunakan.
Pengukuran jarak dengan metode euclidean dapat dituliskan dengan persamaan berikut:

dimana v1 dan v2 adalah dua vektor yang jaraknya akan dihitung dan N menyatakan panjang
vektor.

III. Alat Dan Bahan


1. Laptop/computer
2. Visual Studio Code
3. Library Streamlit, pandas, dan numpy

IV. Langkah Kerja


kasus clustering : Data penghasilan suatu keluarga berdasarkan jumlah anggota keluarga
1. Import Library

import streamlit as st
import pandas as pd
import numpy as np
from tkinter import *
from sklearn.cluster import KMeans
from matplotlib import pyplot as plt
from sklearn.preprocessing import StandardScaler

2. Import CSV ke datasheet dan visualisasi datasheet

#Import CSV ke datasheet


df = pd.read_csv('penghasilan-per-keluarga.csv')
df

#Visualisasi datasheet
plt.scatter(df['JumlahAnggotaKeluarga'], df['Penghasilan (juta
rupiah)'])
plt.xlabel('JumlahAnggotaKeluarga')
plt.ylabel('Penghasilan (juta rupiah)')

3. Kemudian akan dilakukan proses data scalling

scaler = StandardScaler()
scaler.fit(df)
df_scaled = scaler.transform(df)
df_scaled

4. Mengubah data array ke dalam dataframe agar dapat diolah dalam K-Means Clustering

df_scaled = pd.DataFrame(df_scaled,
columns=['JumlahAnggotaKeluarga','Penghasilan (juta rupiah)'])
df_scaled

5. Membuat program algoritma K-Means

km = KMeans(n_clusters=3)
km

y_predicted =
km.fit_predict(df_scaled[['JumlahAnggotaKeluarga','Penghasilan (juta
rupiah)']])
y_predicted

df['tipePenghasilan'] = y_predicted
df

6. Visualisasi Clustered data

df1 = df[df.tipePenghasilan==0]
df2 = df[df.tipePenghasilan==1]
df3 = df[df.tipePenghasilan==2]
plt.scatter(df1.JumlahAnggotaKeluarga,df1['Penghasilan (juta
rupiah)'],color='green')
plt.scatter(df2.JumlahAnggotaKeluarga,df2['Penghasilan (juta
rupiah)'],color='red')
plt.scatter(df3.JumlahAnggotaKeluarga,df3['Penghasilan (juta
rupiah)'],color='black')

plt.xlabel('JumlahAnggotaKeluarga')
plt.ylabel('Penghasilan (juta rupiah)')
plt.grid()

7. Memasukkan Hasil K-means ke dalam dataframe

conditions = [
(df['tipePenghasilan']==0),
(df['tipePenghasilan']==1),
(df['tipePenghasilan']==2)]
choices = ['Rendah','Rata-Rata','Tinggi']
df['tipePenghasilan'] = np.select(conditions, choices)
df

Datasheet penghasilan per keluarga


8. Pengujian Hasil praktikum pada streamlit
Setelah proses clustering berhenti, telah didapatkan hasil pengelompokkan tipe/kategori
pendapatan suatu keluarga berdasarkan penghasilan dan jumlah anggota keluarga apakah
keluarga tersebut termasuk berpenghasilan tinggi, rata-rata, atau rendah

Anda mungkin juga menyukai