Project name: Submission Clustering and Classification Customer Segmentation with K-means and K-NN
Project Summary
- Dataset ini bersumber dari kaggle yg terdiri dari 2240 sample dan 29 Fitur . 26 diantaranya termasuk Fitur Numerik , dan 3 fitur lainnya termasuk fitur Object.
- Penerapan One-Hot Encoding untuk fitur
Marital_Status dan Education dilakukan untuk mengubah data kategorikal menjadi format numerik.
- terdapat beberapa missing values dari fitur
income sebanyak 24 baris/sample. berhasil menangani missing values nya dengan meng-hapus sample/baris yg mengandung missing values
- Sebelum melakukan clustering, kamu melakukan Feature Scaling menggunakan Z-Score Normalization yang mengubah rentang nilai setiap fitur menjadi seragam atau lebih kecil. Langkah ini sangat penting karena algoritma K-Means sangat sensitif terhadap skala nilai fitur. Tanpa normalisasi, fitur dengan skala yang lebih besar (misalnya, rentang nilai yang lebih tinggi) akan mendominasi perhitungan jarak antara titik data, yang dapat mempengaruhi hasil clustering secara signifikan. Dengan Z-Score Normalization, setiap fitur akan memiliki rata-rata 0 dan standar deviasi 1, sehingga semua fitur akan berada pada skala yang sama dan algoritma K-Means dapat bekerja lebih efektif dalam membentuk cluster yang lebih baik dan lebih representatif.
- Untuk pengembangan model clustering, kamu menggunakan total 22 fitur dan memilih K-means Clustering sebagai algoritma clustering-nya. Kemudian, kamu melakukan fine-tuning dengan memilih 10 fitur paling penting. Penting untuk memastikan bahwa fitur-fitur yang dipilih benar-benar relevan dan memiliki kontribusi signifikan terhadap model. Salah satu cara untuk mengevaluasi pentingnya fitur-fitur tersebut adalah dengan menampilkan/print variansi dari masing-masing fitur. Variansi memberikan informasi tentang seberapa besar distribusi data dalam setiap fitur, yang bisa menjadi indikator fitur yang memiliki pengaruh lebih besar terhadap pemisahan cluster. Fitur dengan variansi yang lebih tinggi cenderung lebih informatif, sementara fitur dengan variansi yang rendah bisa jadi memiliki sedikit kontribusi dan dapat diabaikan untuk meningkatkan kinerja model. Dengan pendekatan ini, kamu bisa memastikan bahwa hanya fitur-fitur yang relevan yang digunakan dalam clustering, yang pada akhirnya akan meningkatkan kualitas dan interpretabilitas dari hasil clustering.
- Pada pengembangan klasifikasi, kamu melakukan teknik klasifikasi K-NN untuk melakukan klasifikasi dari dataset yang sudah dikelompokkan. Sebaiknya, jika ingin melakukan klasifikasi menggunakan K-NN, terlebih dahulu lakukan normalisasi. Hal ini karena K-NN sangat sensitif terhadap jarak/skala antar fitur. Fitur-fitur dengan skala yang berbeda-beda dapat mendominasi perhitungan jarak, yang akhirnya mempengaruhi hasil prediksi. Dengan melakukan normalisasi pada fitur-fitur, misalnya menggunakan Min-Max Scaling atau Standardization, kamu memastikan bahwa setiap fitur memiliki kontribusi yang seimbang dalam perhitungan jarak. Ini akan meningkatkan performa model dan memberikan hasil klasifikasi yang lebih akurat, terutama ketika fitur-fitur dalam dataset memiliki rentang nilai yang sangat berbeda.
Error Notes
Pada cell ke-8 dari notebook [Clustering] terdapat error :
FileNotFoundError Traceback (most recent call last)
Cell In[2], line 7
5 # Load the dataset
6 file_path = "/content/marketing_campaign.csv"
----> 7 data_v1 = pd.read_csv(file_path)
9 # Display the first few rows to understand the dataset
10 print("Dataset Loaded Successfully!")
FileNotFoundError: [Errno 2] No such file or directory: '/content/marketing_campaign.csv'
error tersebut menandakan path file nya tidak ditemukan. saya memperbaikinya dengan kode :
# Pastikan Path file nya sesuai
file_path = "marketing_campaign.csv"
data_v1 = pd.read_csv(file_path, sep='\\t')
lalu pada submission [Classification] , terdapat error pada cell ke-3 :
---------------------------------------------------------------------------
FileNotFoundError Traceback (most recent call last)
Cell In[1], line 17
15 # Load the dataset
16 file_path = "/content/marketing_campaign.csv"
---> 17 data = pd.read_csv(file_path)
19 # Display the first few rows to understand the dataset
20 print("Dataset Loaded Successfully!")
FileNotFoundError: [Errno 2] No such file or directory: '/content/marketing_campaign.csv'
error tsb menunjukkan bahwa path file nya tidak ditemukan. dan seharusnya kamu me-load file ‘clustering_result.csv’ , bukan me-load file ‘marketing_campaign.csv’.
lalu saya memperbaiki kode tsb :
# Load file untuk dilakukan Klasifikasi
file_path = "clustering_results.csv"
data = pd.read_csv(file_path)
Pastikan untuk menggunakan path file dan nama file yg sesuai.