Contoh Judul Penerapan Algoritma K-Nearest Neighbor (KNN) untuk Klasifikasi Data E-commerce Menggunakan Python, yang berfokus pada algoritma KNN untuk mengklasifikasikan data dalam konteks e-commerce.



Pengenalan K-Nearest Neighbor (KNN)

K-Nearest Neighbor (KNN) adalah algoritma klasifikasi berbasis data yang sangat sederhana namun efektif. KNN bekerja dengan cara membandingkan data baru dengan data yang sudah ada di dalam dataset berdasarkan kedekatannya (jarak) dan kemudian mengklasifikasikannya berdasarkan mayoritas kelas dari tetangga terdekat.

Cara Kerja Algoritma KNN:

  1. Menentukan K: Tentukan nilai K (jumlah tetangga yang akan dipertimbangkan).
  2. Menghitung Jarak: Hitung jarak antara data yang baru dan data yang ada di dataset menggunakan metrik jarak seperti Euclidean distance.
  3. Memilih Tetangga Terdekat: Pilih K data terdekat dari data yang baru.
  4. Klasifikasi: Tentukan kelas dari data baru berdasarkan mayoritas kelas dari K tetangga terdekat.

Contoh Program KNN untuk Klasifikasi Data E-commerce

Untuk contoh ini, kita akan menggunakan dataset e-commerce sederhana yang mengandung informasi pelanggan dan produk yang dibeli. Kita akan mengklasifikasikan pelanggan berdasarkan fitur seperti pendapatan, umur, dan frekuensi pembelian, dan mencoba memprediksi kategori produk yang dibeli.

Langkah-langkah:

  1. Memuat dataset.
  2. Memilih fitur untuk klasifikasi.
  3. Menerapkan algoritma KNN.
  4. Evaluasi akurasi model.

Kode Python untuk Klasifikasi Menggunakan KNN

Persiapan:

  • Pastikan Anda sudah menginstal pustaka scikit-learn untuk menggunakan algoritma KNN. Jika belum, Anda dapat menginstalnya menggunakan pip:
    bash
    pip install scikit-learn

Contoh Program KNN untuk Data E-commerce:

python
# Import library import pandas as pd from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.neighbors import KNeighborsClassifier from sklearn.metrics import accuracy_score # Dataset E-commerce sederhana data = { 'umur': [25, 34, 45, 36, 50, 23, 41, 34, 37, 29], 'pendapatan': [40000, 60000, 80000, 70000, 90000, 35000, 65000, 48000, 55000, 72000], 'frekuensi_pembelian': [5, 8, 9, 6, 7, 3, 7, 4, 6, 8], 'produk_dibeli': ['A', 'B', 'B', 'A', 'A', 'C', 'B', 'C', 'A', 'B'] } # Membuat DataFrame dari data df = pd.DataFrame(data) # Menyandikan target variabel (produk_dibeli) dengan label numerik df['produk_dibeli'] = df['produk_dibeli'].map({'A': 0, 'B': 1, 'C': 2}) # Fitur dan target variabel X = df[['umur', 'pendapatan', 'frekuensi_pembelian']] # Fitur y = df['produk_dibeli'] # Target variabel # Membagi data menjadi training dan testing set X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42) # Standarisasi data scaler = StandardScaler() X_train = scaler.fit_transform(X_train) X_test = scaler.transform(X_test) # Inisialisasi model KNN dengan K=3 knn = KNeighborsClassifier(n_neighbors=3) # Latih model menggunakan data training knn.fit(X_train, y_train) # Prediksi kelas untuk data testing y_pred = knn.predict(X_test) # Evaluasi akurasi accuracy = accuracy_score(y_test, y_pred) print(f"Akurasi model KNN: {accuracy * 100:.2f}%") # Menampilkan hasil prediksi untuk data testing print(f"Hasil Prediksi: {y_pred}")

Penjelasan Kode:

  1. Data E-commerce Sederhana:

    • Data ini berisi informasi tentang pelanggan, seperti umur, pendapatan, dan frekuensi pembelian.
    • Target variabel produk_dibeli menunjukkan kategori produk yang dibeli pelanggan (A, B, atau C).
  2. Mengonversi Kategorikal ke Numerik:

    • Algoritma KNN membutuhkan data numerik, jadi kita mengubah label produk yang dibeli (A, B, C) menjadi angka (0, 1, 2).
  3. Preprocessing:

    • Dataset dibagi menjadi X (fitur) dan y (target).
    • Data dibagi menjadi training set dan testing set dengan proporsi 70% untuk pelatihan dan 30% untuk pengujian menggunakan train_test_split.
    • Data fitur (X) distandarisasi menggunakan StandardScaler untuk menghindari dominasi fitur dengan nilai besar (misalnya pendapatan) dalam perhitungan jarak.
  4. Model KNN:

    • Model KNeighborsClassifier dengan parameter n_neighbors=3 diinisialisasi.
    • Model dilatih dengan data training (X_train, y_train).
    • Setelah model dilatih, dilakukan prediksi pada data pengujian (X_test), dan hasilnya dibandingkan dengan nilai sebenarnya untuk menghitung akurasi.
  5. Evaluasi Model:

    • Akurasi model dihitung dengan accuracy_score antara prediksi dan data asli.
    • Hasil prediksi untuk data pengujian juga ditampilkan.

Output yang Diharapkan:

Jika Anda menjalankan program ini, Anda mungkin akan melihat hasil seperti berikut (bergantung pada data dan random state yang digunakan):

yaml
Akurasi model KNN: 100.00% Hasil Prediksi: [1 0]
  • Akurasi: Akurasi model menunjukkan seberapa tepat model dalam mengklasifikasikan data uji berdasarkan pelatihan yang telah dilakukan.
  • Hasil Prediksi: Menunjukkan prediksi produk yang dibeli untuk data uji.

Penggunaan KNN dalam Data E-commerce:

  • Segmentation Pelanggan: Dengan KNN, kita dapat mengklasifikasikan pelanggan berdasarkan perilaku mereka (misalnya, produk yang dibeli berdasarkan umur, pendapatan, dan frekuensi pembelian).
  • Rekomendasi Produk: Model ini bisa digunakan untuk memberikan rekomendasi produk kepada pelanggan berdasarkan pelanggan yang memiliki kemiripan karakteristik.
  • Prediksi Pembelian: KNN dapat digunakan untuk memprediksi produk mana yang kemungkinan akan dibeli oleh pelanggan tertentu.

Kesimpulan:

  • KNN adalah algoritma klasifikasi yang mudah diterapkan pada berbagai masalah, termasuk di bidang e-commerce untuk analisis pelanggan dan prediksi produk.
  • Akurasi model bisa bervariasi tergantung pada data dan pemilihan parameter seperti nilai K (jumlah tetangga terdekat).
  • Dengan data yang lebih besar dan lebih kompleks, Anda bisa mengembangkan model ini lebih lanjut untuk memberikan rekomendasi yang lebih presisi atau analisis pelanggan yang lebih mendalam.

0 Comments