TA/web_JMW/docs/penjelasan-contoh-input-clu...

196 lines
5.5 KiB
Markdown

# Penjelasan Contoh Input Harga, Tahun, dan Mesin CC pada Rekomendasi K-Means
## 1. Gambaran Umum
Fitur rekomendasi mobil menggunakan metode K-Means untuk mengelompokkan data mobil berdasarkan kemiripan atribut numerik. Atribut utama yang digunakan sebagai fitur perhitungan adalah:
```text
harga, tahun, mesin_cc
```
Ketiga atribut tersebut dipakai karena dapat mewakili karakteristik utama mobil bekas:
- Harga menunjukkan kisaran budget atau kemampuan beli pengguna.
- Tahun menunjukkan usia atau kebaruan mobil.
- Mesin CC menunjukkan kapasitas mesin mobil.
Ketika pengguna memasukkan harga, tahun, dan mesin cc, sistem akan mencari mobil yang sesuai dengan input tersebut. Data mobil yang tersedia akan diproses dalam model K-Means untuk menentukan kelompok atau cluster yang paling sesuai.
## 2. Contoh Input Pengguna
Misalnya pengguna memasukkan data berikut:
```text
Harga/Budget : Rp 200.000.000
Tahun Minimal : 2018
Mesin CC : 1500
```
Artinya pengguna ingin mencari mobil dengan harga maksimal Rp 200.000.000, tahun minimal 2018, dan kapasitas mesin yang mendekati 1500 cc.
## 3. Contoh Data Mobil
Misalnya terdapat lima data mobil yang memenuhi batas budget dan tahun:
| Kode Mobil | Harga | Tahun | Mesin CC |
|---|---:|---:|---:|
| A | Rp 130.000.000 | 2018 | 1200 |
| B | Rp 150.000.000 | 2019 | 1500 |
| C | Rp 170.000.000 | 2020 | 1500 |
| D | Rp 190.000.000 | 2021 | 1800 |
| E | Rp 200.000.000 | 2022 | 2000 |
Setiap mobil kemudian direpresentasikan ke dalam bentuk fitur numerik:
```text
A = [130000000, 2018, 1200]
B = [150000000, 2019, 1500]
C = [170000000, 2020, 1500]
D = [190000000, 2021, 1800]
E = [200000000, 2022, 2000]
```
## 4. Penentuan Centroid Awal
Dalam K-Means, centroid adalah titik pusat dari sebuah cluster. Pada awal proses, sistem menentukan centroid awal. Misalnya jumlah cluster yang digunakan adalah 2, maka contoh centroid awal dapat berupa:
```text
Centroid 0 = [130000000, 2018, 1200]
Centroid 1 = [200000000, 2022, 2000]
```
Centroid awal ini menjadi acuan sementara untuk menentukan mobil mana yang paling dekat dengan masing-masing cluster.
## 5. Proses Pemilihan Cluster
Setiap mobil dihitung jaraknya terhadap centroid. Mobil akan masuk ke cluster dengan jarak paling dekat.
Contoh hasil pengelompokan awal:
```text
Cluster 0:
A = [130000000, 2018, 1200]
B = [150000000, 2019, 1500]
C = [170000000, 2020, 1500]
Cluster 1:
D = [190000000, 2021, 1800]
E = [200000000, 2022, 2000]
```
Mobil A, B, dan C lebih dekat dengan Centroid 0, sedangkan mobil D dan E lebih dekat dengan Centroid 1.
## 6. Pergeseran Centroid
Setelah anggota cluster terbentuk, centroid baru dihitung berdasarkan rata-rata nilai setiap fitur dari anggota cluster tersebut.
### Centroid Baru Cluster 0
Anggota Cluster 0:
```text
A = [130000000, 2018, 1200]
B = [150000000, 2019, 1500]
C = [170000000, 2020, 1500]
```
Perhitungan centroid baru:
```text
Harga = (130000000 + 150000000 + 170000000) / 3
= 150000000
Tahun = (2018 + 2019 + 2020) / 3
= 2019
Mesin CC = (1200 + 1500 + 1500) / 3
= 1400
```
Maka centroid baru untuk Cluster 0 adalah:
```text
Centroid 0 baru = [150000000, 2019, 1400]
```
### Centroid Baru Cluster 1
Anggota Cluster 1:
```text
D = [190000000, 2021, 1800]
E = [200000000, 2022, 2000]
```
Perhitungan centroid baru:
```text
Harga = (190000000 + 200000000) / 2
= 195000000
Tahun = (2021 + 2022) / 2
= 2021.5
Mesin CC = (1800 + 2000) / 2
= 1900
```
Maka centroid baru untuk Cluster 1 adalah:
```text
Centroid 1 baru = [195000000, 2021.5, 1900]
```
Pergeseran centroid terjadi karena titik pusat cluster diperbarui mengikuti rata-rata anggota cluster. Proses ini akan diulang sampai posisi cluster stabil atau anggota cluster tidak berubah lagi.
## 7. Pemilihan Hasil Rekomendasi
Setelah cluster terbentuk, sistem memilih mobil yang paling sesuai dengan input pengguna. Dalam contoh ini, input pengguna adalah:
```text
[200000000, 2018, 1500]
```
Mobil yang memiliki harga di bawah atau mendekati budget, tahun sesuai, dan mesin cc mendekati 1500 akan mendapat skor rekomendasi yang lebih baik.
Contoh mobil yang cocok:
```text
C = [170000000, 2020, 1500]
```
Mobil C dapat menjadi rekomendasi yang baik karena:
- Harga masih di bawah budget Rp 200.000.000.
- Tahun 2020 lebih baru dari batas minimal 2018.
- Mesin 1500 cc sesuai dengan input pengguna.
## 8. Hubungan dengan Kode Program
Pada kode API Flask, fitur yang digunakan untuk K-Means terdapat pada fungsi berikut:
```python
def car_features(car):
return [car["harga"], car["tahun"], car["mesin_cc"]]
```
Fungsi tersebut menunjukkan bahwa proses clustering menggunakan tiga atribut utama, yaitu harga, tahun, dan mesin cc.
Proses pergeseran centroid terdapat pada bagian berikut:
```python
new_centroids.append(
[sum(member[column] for member in members) / len(members) for column in range(len(vectors[0]))]
)
centroids = new_centroids
```
Kode tersebut menghitung rata-rata anggota cluster untuk membentuk centroid baru.
## 9. Kesimpulan
Berdasarkan contoh di atas, input harga, tahun, dan mesin cc dapat digunakan sebagai acuan dalam proses rekomendasi mobil. K-Means akan mengelompokkan data mobil berdasarkan kemiripan harga, tahun, dan kapasitas mesin. Setelah cluster terbentuk, centroid akan bergeser mengikuti rata-rata anggota cluster sampai hasil pengelompokan stabil.
Dengan demikian, fitur rekomendasi dapat memberikan hasil yang lebih sesuai karena mempertimbangkan budget pengguna, batas tahun kendaraan, dan kapasitas mesin yang diinginkan.