SlideShare a Scribd company logo
1 of 41
Download to read offline
MOBILE-
PRICE
Oleh : 
Kelompok 2
Fajar Ahmad Nugroho (2110512103)
Frida Putriassa (2110512104)
Anggita Sondang Pasaribu (2110512114)
Meiza Aliansa (2110512115)
Bramastasetya Arie Nugroho (2110512118)
ANGGOTA
DATA YANG
DIGUNAKAN
Kelas 0: Harga paling rendah
Kelas 1: Harga sedang
Kelas 2: Harga sedikit lebih mahal
Kelas 3: Harga paling mahal
Data tersebut merupakan data perbandingan spesifikasi ponsel terhadap harga
jualnya yang bertujuan untuk untuk memprediksi rentang harga ponsel
berdasarkan spesifikasinya. Dataset ini terdiri dari satu set data
mobileprice.csv yang nantinya akan dibagi menjadi data training dan data
testing
Dataset memiliki 4 kelas target berdasarkan rentang harga :
DATASET MOBILE-PRICE
https://www.kaggle.com/datasets/iabhishekofficial/mobile-price-
classification?select=train.csv
Pada dataset tersebut terdapat 20 atribut/fitur, yaitu:
DATASET MOBILE-PRICE
battery_power
blue
clock_speed
dual_sim
fc
four_g
int_memory
m_dep
mobile_wt
n_cores
pc
px_height
px_width
ram
sc_h
sc_w
talk_time
three_g
touch_screen
wifi
DATASET INFO
Dataset ini memiliki 2000 baris dan total
21 kolom bertipe data numerik (2 float
dan 19 integer)
ALGORITMA
K-Nearest Neighbors (KNN) adalah algoritma machine learning yang
digunakan untuk masalah klasifikasi dan regresi. Cara kerja KNN adalah
dengan mencari k-nearest neighbors (tetangga terdekat) dari sebuah data
baru berdasarkan jarak Euclidean atau jarak Minkowski terhadap data-
data pada dataset. Setelah k-nearest neighbors ditemukan, maka data baru
tersebut diklasifikasikan sebagai kelas yang paling sering muncul pada
tetangga-tetangga tersebut (untuk klasifikasi) atau dihitung nilai rata-rata
tetangga-tetangga tersebut (untuk regresi). Dalam menentukan nilai k,
bisa dilakukan secara empiris atau melalui cross-validation.
K-NEAREST NEIGHBORS (KNN)
PROSES
ALGORITMA
IMPORT LIBRARY
Proses pertama adalah mengimport beberapa library dari scikit-learn yang
dibutuhkan untuk membuat model kNN, seperti sklearn.model_selection untuk
train_test_split(), sklearn.neighbors untuk KNeighborsClassifier(), dan
sklearn.metrics untuk confusion_matrix() dan accuracy_score(). Selain itu, juga
diimport library pandas untuk membaca dataset dari file CSV.
IMPORT LIBRARY
Proses selanjutnya adalah membaca data dari file CSV menggunakan
pd.read_csv(). Data ini akan dipisahkan menjadi data atribut/fitur (X) dan data
kelas target (y).
MEMBACA DATA
Setelah data diimport, kemudian dilakukan eksplorasi data untuk mendapatkan
insight. Dapat dilihat bahwa dataset ini memiliki 2001 entri data dan 21 kolom
atribut. Pada deskripsi dataset mobile price, dataset ini memiliki 20 attribut dan
1 class target.
EKSPLORASI DATA
Eksplorasi dengan menampilkan 5 baris teratas pada dataset. Dari preview data
diatas, kolom dataset masih dalam bentuk nomor index dan nama atribut masih
berada di dalam baris dataset.
EKSPLORASI DATA
Pertama, kami akan melakukan rename pada kolom sesuai atribut dataset
EKSPLORASI DATA
Selanjutnya kami menghapus baris pertama karena valuenya merupakan
nama nama atribut itu sendiri
Bisa dilihat bahwa kolom pada dataset telah direname dan value sudah
sesuai
EKSPLORASI DATA
Pada list kolom tersebut, bisa dilihat pada bagian Data type masih berupa object. Untuk
dapat lanjut ke langkah berikutnya, diperlukan tipe data numeric. Selanjutnya kami akan
mengubah tipe datanya sebagai berikut
EKSPLORASI DATA
Sekarang bisa dilihat tipe data pada setiap kolom sudah menjadi numerik
setelah menggunakan fungsi to_numeric
EKSPLORASI DATA
Kode diatas digunakan untuk melihat apa saja class yang terdapat pada
dataset tersebut. dengan menggunakan unique() kita dapat mengetahui
bahwa dataset ini mengklasifikasi dalam 4 class
EKSPLORASI DATA
Kode diatas digunakan melihat nilai yang hilang atau null. Semua value pada dataset tersebut
tidak memiliki nilai yang hilang karena bisa dilihat bahwa jumlah nilai null adalah 0
EKSPLORASI DATA
Setelah eksplorasi data selesai, saatnya untuk memulai membuat model.
Langkah pertama, kami membuat variabel khusus untuk dataframe yang
berisi atribut/fitur dan target class.
MEMBUAT VARIABEL ATRIBUT/FITUR DAN
VARIABEL TARGET CLASS
Program memisahkan data menjadi atribut (X) dan kelas target (y). Variabel X
merupakan sebuah dataframe berisi data-data atribut/fitur, sementara variabel y
merupakan sebuah series yang berisi data-data kelas target. memisahkan data
traning dan data testing dengan rasio 80:20 dengan random seed 0
MEMISAHKAN DATA
Model knn dibuat dan melatih data pada X_train dan y_train
MENGGUNAKAN K NEIGHBOURS CLASSIFIER
UNTUK MELATIH DATA TRAINING
Setelah data di training, akan dilakukan perdiksi pada data testing
MEMPREDIKSI HASIL TARGET CLASS DARI
'X_TEST'
AKURASI
Target class yang telah diprediksi akan dibandingkan dengan target class
pada data testing 'y_test' sehingga didapat akurasinya yaitu sebesar 92.75%.
SKOR AKURASI
Pada model sebelumnya, digunakan nilai k sebesar 5. Nilai k tersebut akan coba
diganti dengan beberapa nilai yang berbeda untuk mengetahui apakah bisa
mendapatkan akurasi yang lebih tinggi. Percobaan pertama, nilai k dibuat
sama dengan 6 dan menghasilkan akurasi 93.75%.
MENGUBAH NILAI K
Membuat ulang model dengan nilai k = 7, berikut dapat dilihat bahwa skor
akurasi mengalami peningkatan menjadi 95.25%
MENGUBAH NILAI K
MENGUBAH NILAI K
Membuat ulang model dengan nilai k = 8, pada percobaan menggunakan nilai K=8
skor akurasi mengalami penurunan kembali menjadi sebesar 95%. Jadi untuk
perhitungan selanjutnya saya akan menggunakan model dengan nilai k=7
CONFUSION
MATRIX
Confusion matrix juga dibuat
menggunakan
confusion_matrix() dengan
parameter y_test dan
y_pred_7. Confusion matrix
digunakan untuk
mengetahui jumlah prediksi
yang benar dan salah pada
setiap kelas target.
CONFUSION MATRIX
VISUALISASI CONFUSION MATRIX
MENGHITUNG TP, FP, FN PERCLASS
a: class 0
b: class 1
c: class 2
d: class 3
Sebelum menghitung, kami mengasumsikan 4 class yang
bernilai 0 sampai 3 akan saya ubah menjadi huruf untuk
mempermudah.
TP dihitung dengan menjumlahkan nilai diagonal
utama dari confusion matrix.
TN dihitung dengan menjumlahkan semua elemen di
luar diagonal utama dari confusion matrix.
FP dihitung dengan menjumlahkan semua prediksi
positif dikurangi nilai TP untuk setiap kelas pada
confusion matrix.
FN dihitung dengan menjumlahkan semua prediksi
negatif dikurangi nilai TN untuk setiap kelas pada
confusion matrix.
Dalam kode tersebut, confusion matrix (cm) yang telah
dihitung sebelumnya digunakan untuk menghitung nilai
TP, TN, FP, dan FN.
Setelah dilakukan penghitungan, nilai TP, TN, FP, dan FN
ditampilkan menggunakan print().
MENGHITUNG TP, FP, FN PERCLASS
Hasil perhitungan yang didapat
TP : 95
FP : 3
FN : 0
Class a
TP : 87
FP : 5
FN : 5
Class b
TP : 89
FP : 6
FN : 10
Class c
TP : 110
FP : 5
FN : 4
Class d
MENGHITUNG TP, FP, FN PERCLASS
MENGHITUNG
PRECISION
MENGHITUNG PRECISION
Precision mengukur sejauh mana prediksi positif yang diberikan oleh model benar. Precision didefinisikan
sebagai rasio antara jumlah prediksi positif yang benar (true positive) dengan jumlah total prediksi positif
(true positive + false positive). Precision memberikan gambaran tentang seberapa akurat model dalam
mengklasifikasikan contoh sebagai positif.
MENGHITUNG RECALL
Recall (atau juga dikenal sebagai sensitivitas) mengukur sejauh mana model mampu mengklasifikasikan
contoh positif secara keseluruhan. Recall didefinisikan sebagai rasio antara jumlah prediksi positif yang
benar (true positive) dengan jumlah total contoh yang sebenarnya positif (true positive + false negative).
Recall memberikan gambaran tentang seberapa baik model dalam menemukan contoh-contoh positif
yang ada.
KESIMPULAN
Pada projek ini kami membuat model klasifikasi mobile price dengan
metode k Nearest Neighbour dengan nilai k=7 dan menghasilkan performa
yang baik dengan nilai akurasi sebesar 95.25%
Setelah membuat ulang model dengan nilai k yang berbeda, nilai k=5
sampai k=7 selalu menghasilkan peningkatan akurasi model, namun pada
nilai k=8 hasil akurasi model kembali menurun
Model dengan nilai k=7 menghasilkan akurasi yang paling tinggi dibanding
nilai k yang lainnya
Dari nilai confussion matrix, telah dihitung precission dan recall. precission
yang didapat sebesar 0.9521 atau 95.21% dan recal yang didapat sebesar
0.9523 atau 95.24%. Hal ini menunjukkan performa model yang dibuat
sudah cukup baik
1.
2.
3.
4.
KESIMPULAN
TERIMA KASIH

More Related Content

Similar to MOBILE-PRICE CLASSIFICATION

Aminullah Assagaf_EVIEWS, STATA, Data Panel_7 Nop 2023.pdf
Aminullah Assagaf_EVIEWS, STATA, Data Panel_7 Nop 2023.pdfAminullah Assagaf_EVIEWS, STATA, Data Panel_7 Nop 2023.pdf
Aminullah Assagaf_EVIEWS, STATA, Data Panel_7 Nop 2023.pdfAminullah Assagaf
 
Aminullah Assagaf_EVIEWS, STATA, Data Panel_7 Nop 2023.pdf
Aminullah Assagaf_EVIEWS, STATA, Data Panel_7 Nop 2023.pdfAminullah Assagaf_EVIEWS, STATA, Data Panel_7 Nop 2023.pdf
Aminullah Assagaf_EVIEWS, STATA, Data Panel_7 Nop 2023.pdfAminullah Assagaf
 
Modul Perkuliahan Research on ELT.pdf
Modul Perkuliahan Research on ELT.pdfModul Perkuliahan Research on ELT.pdf
Modul Perkuliahan Research on ELT.pdfBisnisDigitalMTU
 
Modul Perkuliahan Research on ELT.pdf
Modul Perkuliahan Research on ELT.pdfModul Perkuliahan Research on ELT.pdf
Modul Perkuliahan Research on ELT.pdfBisnisDigitalMTU
 
Aminullah Assagaf_EVIEWS, STATA, Data Panel_6 Nop 2023.pdf
Aminullah Assagaf_EVIEWS, STATA, Data Panel_6 Nop 2023.pdfAminullah Assagaf_EVIEWS, STATA, Data Panel_6 Nop 2023.pdf
Aminullah Assagaf_EVIEWS, STATA, Data Panel_6 Nop 2023.pdfAminullah Assagaf
 
Aminullah Assagaf_EVIEWS, STATA, Data Panel_6 Nop 2023.pdf
Aminullah Assagaf_EVIEWS, STATA, Data Panel_6 Nop 2023.pdfAminullah Assagaf_EVIEWS, STATA, Data Panel_6 Nop 2023.pdf
Aminullah Assagaf_EVIEWS, STATA, Data Panel_6 Nop 2023.pdfAminullah Assagaf
 
Aplikasi spss dan anates
Aplikasi spss dan anatesAplikasi spss dan anates
Aplikasi spss dan anatesSoni Gunners
 
Aplikasi spss dan anates
Aplikasi spss dan anatesAplikasi spss dan anates
Aplikasi spss dan anatesSoni Gunners
 
scikit-learn cheat sheet untuk data science
scikit-learn cheat sheet untuk data sciencescikit-learn cheat sheet untuk data science
scikit-learn cheat sheet untuk data sciencesoftscients
 
scikit-learn cheat sheet untuk data science
scikit-learn cheat sheet untuk data sciencescikit-learn cheat sheet untuk data science
scikit-learn cheat sheet untuk data sciencesoftscients
 
Presentasi Analytic Hierarchy Process (AHP)
Presentasi Analytic Hierarchy Process (AHP)Presentasi Analytic Hierarchy Process (AHP)
Presentasi Analytic Hierarchy Process (AHP)Dex Gunt
 
Presentasi Analytic Hierarchy Process (AHP)
Presentasi Analytic Hierarchy Process (AHP)Presentasi Analytic Hierarchy Process (AHP)
Presentasi Analytic Hierarchy Process (AHP)Dex Gunt
 
5. pemrograman array dan_string
5. pemrograman array dan_string5. pemrograman array dan_string
5. pemrograman array dan_stringRoziq Bahtiar
 
5. pemrograman array dan_string
5. pemrograman array dan_string5. pemrograman array dan_string
5. pemrograman array dan_stringRoziq Bahtiar
 
perbandingan analisis data mining klasifikasi sentiment berita indonesia
perbandingan analisis data mining klasifikasi sentiment berita indonesiaperbandingan analisis data mining klasifikasi sentiment berita indonesia
perbandingan analisis data mining klasifikasi sentiment berita indonesiaBoyMorenaAllzytoroto
 
perbandingan analisis data mining klasifikasi sentiment berita indonesia
perbandingan analisis data mining klasifikasi sentiment berita indonesiaperbandingan analisis data mining klasifikasi sentiment berita indonesia
perbandingan analisis data mining klasifikasi sentiment berita indonesiaBoyMorenaAllzytoroto
 
vdocuments.net_uji-normalitas-dan-validitas.ppt
vdocuments.net_uji-normalitas-dan-validitas.pptvdocuments.net_uji-normalitas-dan-validitas.ppt
vdocuments.net_uji-normalitas-dan-validitas.pptAnggaPratama111616
 
vdocuments.net_uji-normalitas-dan-validitas.ppt
vdocuments.net_uji-normalitas-dan-validitas.pptvdocuments.net_uji-normalitas-dan-validitas.ppt
vdocuments.net_uji-normalitas-dan-validitas.pptAnggaPratama111616
 

Similar to MOBILE-PRICE CLASSIFICATION (20)

Aminullah Assagaf_EVIEWS, STATA, Data Panel_7 Nop 2023.pdf
Aminullah Assagaf_EVIEWS, STATA, Data Panel_7 Nop 2023.pdfAminullah Assagaf_EVIEWS, STATA, Data Panel_7 Nop 2023.pdf
Aminullah Assagaf_EVIEWS, STATA, Data Panel_7 Nop 2023.pdf
 
Aminullah Assagaf_EVIEWS, STATA, Data Panel_7 Nop 2023.pdf
Aminullah Assagaf_EVIEWS, STATA, Data Panel_7 Nop 2023.pdfAminullah Assagaf_EVIEWS, STATA, Data Panel_7 Nop 2023.pdf
Aminullah Assagaf_EVIEWS, STATA, Data Panel_7 Nop 2023.pdf
 
Modul Perkuliahan Research on ELT.pdf
Modul Perkuliahan Research on ELT.pdfModul Perkuliahan Research on ELT.pdf
Modul Perkuliahan Research on ELT.pdf
 
Modul Perkuliahan Research on ELT.pdf
Modul Perkuliahan Research on ELT.pdfModul Perkuliahan Research on ELT.pdf
Modul Perkuliahan Research on ELT.pdf
 
Aminullah Assagaf_EVIEWS, STATA, Data Panel_6 Nop 2023.pdf
Aminullah Assagaf_EVIEWS, STATA, Data Panel_6 Nop 2023.pdfAminullah Assagaf_EVIEWS, STATA, Data Panel_6 Nop 2023.pdf
Aminullah Assagaf_EVIEWS, STATA, Data Panel_6 Nop 2023.pdf
 
Aminullah Assagaf_EVIEWS, STATA, Data Panel_6 Nop 2023.pdf
Aminullah Assagaf_EVIEWS, STATA, Data Panel_6 Nop 2023.pdfAminullah Assagaf_EVIEWS, STATA, Data Panel_6 Nop 2023.pdf
Aminullah Assagaf_EVIEWS, STATA, Data Panel_6 Nop 2023.pdf
 
Aplikasi spss dan anates
Aplikasi spss dan anatesAplikasi spss dan anates
Aplikasi spss dan anates
 
Aplikasi spss dan anates
Aplikasi spss dan anatesAplikasi spss dan anates
Aplikasi spss dan anates
 
scikit-learn cheat sheet untuk data science
scikit-learn cheat sheet untuk data sciencescikit-learn cheat sheet untuk data science
scikit-learn cheat sheet untuk data science
 
scikit-learn cheat sheet untuk data science
scikit-learn cheat sheet untuk data sciencescikit-learn cheat sheet untuk data science
scikit-learn cheat sheet untuk data science
 
Presentasi Analytic Hierarchy Process (AHP)
Presentasi Analytic Hierarchy Process (AHP)Presentasi Analytic Hierarchy Process (AHP)
Presentasi Analytic Hierarchy Process (AHP)
 
Presentasi Analytic Hierarchy Process (AHP)
Presentasi Analytic Hierarchy Process (AHP)Presentasi Analytic Hierarchy Process (AHP)
Presentasi Analytic Hierarchy Process (AHP)
 
5. pemrograman array dan_string
5. pemrograman array dan_string5. pemrograman array dan_string
5. pemrograman array dan_string
 
5. pemrograman array dan_string
5. pemrograman array dan_string5. pemrograman array dan_string
5. pemrograman array dan_string
 
File
FileFile
File
 
File
FileFile
File
 
perbandingan analisis data mining klasifikasi sentiment berita indonesia
perbandingan analisis data mining klasifikasi sentiment berita indonesiaperbandingan analisis data mining klasifikasi sentiment berita indonesia
perbandingan analisis data mining klasifikasi sentiment berita indonesia
 
perbandingan analisis data mining klasifikasi sentiment berita indonesia
perbandingan analisis data mining klasifikasi sentiment berita indonesiaperbandingan analisis data mining klasifikasi sentiment berita indonesia
perbandingan analisis data mining klasifikasi sentiment berita indonesia
 
vdocuments.net_uji-normalitas-dan-validitas.ppt
vdocuments.net_uji-normalitas-dan-validitas.pptvdocuments.net_uji-normalitas-dan-validitas.ppt
vdocuments.net_uji-normalitas-dan-validitas.ppt
 
vdocuments.net_uji-normalitas-dan-validitas.ppt
vdocuments.net_uji-normalitas-dan-validitas.pptvdocuments.net_uji-normalitas-dan-validitas.ppt
vdocuments.net_uji-normalitas-dan-validitas.ppt
 

More from FridaPutriassa

K-Drama Recommendation Using Python
K-Drama Recommendation Using PythonK-Drama Recommendation Using Python
K-Drama Recommendation Using PythonFridaPutriassa
 
NOTIFOOD: INFORMATION SYSTEM OF REDUCING FOOD WASTE THROUGH EXPIRATION REMIN...
NOTIFOOD:  INFORMATION SYSTEM OF REDUCING FOOD WASTE THROUGH EXPIRATION REMIN...NOTIFOOD:  INFORMATION SYSTEM OF REDUCING FOOD WASTE THROUGH EXPIRATION REMIN...
NOTIFOOD: INFORMATION SYSTEM OF REDUCING FOOD WASTE THROUGH EXPIRATION REMIN...FridaPutriassa
 
Implementasi Metode TSP pada Rute Pariwisata Menggunakan Algoritma Ant Colony...
Implementasi Metode TSP pada Rute Pariwisata Menggunakan Algoritma Ant Colony...Implementasi Metode TSP pada Rute Pariwisata Menggunakan Algoritma Ant Colony...
Implementasi Metode TSP pada Rute Pariwisata Menggunakan Algoritma Ant Colony...FridaPutriassa
 
Perancangan Sistem Informasi Museum.pdf
Perancangan Sistem Informasi Museum.pdfPerancangan Sistem Informasi Museum.pdf
Perancangan Sistem Informasi Museum.pdfFridaPutriassa
 
Branding dan Digital Marketing untuk UMKM
Branding dan Digital Marketing untuk UMKMBranding dan Digital Marketing untuk UMKM
Branding dan Digital Marketing untuk UMKMFridaPutriassa
 
Introduction: AndroidX
Introduction: AndroidXIntroduction: AndroidX
Introduction: AndroidXFridaPutriassa
 

More from FridaPutriassa (6)

K-Drama Recommendation Using Python
K-Drama Recommendation Using PythonK-Drama Recommendation Using Python
K-Drama Recommendation Using Python
 
NOTIFOOD: INFORMATION SYSTEM OF REDUCING FOOD WASTE THROUGH EXPIRATION REMIN...
NOTIFOOD:  INFORMATION SYSTEM OF REDUCING FOOD WASTE THROUGH EXPIRATION REMIN...NOTIFOOD:  INFORMATION SYSTEM OF REDUCING FOOD WASTE THROUGH EXPIRATION REMIN...
NOTIFOOD: INFORMATION SYSTEM OF REDUCING FOOD WASTE THROUGH EXPIRATION REMIN...
 
Implementasi Metode TSP pada Rute Pariwisata Menggunakan Algoritma Ant Colony...
Implementasi Metode TSP pada Rute Pariwisata Menggunakan Algoritma Ant Colony...Implementasi Metode TSP pada Rute Pariwisata Menggunakan Algoritma Ant Colony...
Implementasi Metode TSP pada Rute Pariwisata Menggunakan Algoritma Ant Colony...
 
Perancangan Sistem Informasi Museum.pdf
Perancangan Sistem Informasi Museum.pdfPerancangan Sistem Informasi Museum.pdf
Perancangan Sistem Informasi Museum.pdf
 
Branding dan Digital Marketing untuk UMKM
Branding dan Digital Marketing untuk UMKMBranding dan Digital Marketing untuk UMKM
Branding dan Digital Marketing untuk UMKM
 
Introduction: AndroidX
Introduction: AndroidXIntroduction: AndroidX
Introduction: AndroidX
 

MOBILE-PRICE CLASSIFICATION

  • 2. Fajar Ahmad Nugroho (2110512103) Frida Putriassa (2110512104) Anggita Sondang Pasaribu (2110512114) Meiza Aliansa (2110512115) Bramastasetya Arie Nugroho (2110512118) ANGGOTA
  • 4. Kelas 0: Harga paling rendah Kelas 1: Harga sedang Kelas 2: Harga sedikit lebih mahal Kelas 3: Harga paling mahal Data tersebut merupakan data perbandingan spesifikasi ponsel terhadap harga jualnya yang bertujuan untuk untuk memprediksi rentang harga ponsel berdasarkan spesifikasinya. Dataset ini terdiri dari satu set data mobileprice.csv yang nantinya akan dibagi menjadi data training dan data testing Dataset memiliki 4 kelas target berdasarkan rentang harga : DATASET MOBILE-PRICE https://www.kaggle.com/datasets/iabhishekofficial/mobile-price- classification?select=train.csv
  • 5. Pada dataset tersebut terdapat 20 atribut/fitur, yaitu: DATASET MOBILE-PRICE battery_power blue clock_speed dual_sim fc four_g int_memory m_dep mobile_wt n_cores pc px_height px_width ram sc_h sc_w talk_time three_g touch_screen wifi
  • 6. DATASET INFO Dataset ini memiliki 2000 baris dan total 21 kolom bertipe data numerik (2 float dan 19 integer)
  • 8. K-Nearest Neighbors (KNN) adalah algoritma machine learning yang digunakan untuk masalah klasifikasi dan regresi. Cara kerja KNN adalah dengan mencari k-nearest neighbors (tetangga terdekat) dari sebuah data baru berdasarkan jarak Euclidean atau jarak Minkowski terhadap data- data pada dataset. Setelah k-nearest neighbors ditemukan, maka data baru tersebut diklasifikasikan sebagai kelas yang paling sering muncul pada tetangga-tetangga tersebut (untuk klasifikasi) atau dihitung nilai rata-rata tetangga-tetangga tersebut (untuk regresi). Dalam menentukan nilai k, bisa dilakukan secara empiris atau melalui cross-validation. K-NEAREST NEIGHBORS (KNN)
  • 11. Proses pertama adalah mengimport beberapa library dari scikit-learn yang dibutuhkan untuk membuat model kNN, seperti sklearn.model_selection untuk train_test_split(), sklearn.neighbors untuk KNeighborsClassifier(), dan sklearn.metrics untuk confusion_matrix() dan accuracy_score(). Selain itu, juga diimport library pandas untuk membaca dataset dari file CSV. IMPORT LIBRARY
  • 12. Proses selanjutnya adalah membaca data dari file CSV menggunakan pd.read_csv(). Data ini akan dipisahkan menjadi data atribut/fitur (X) dan data kelas target (y). MEMBACA DATA
  • 13. Setelah data diimport, kemudian dilakukan eksplorasi data untuk mendapatkan insight. Dapat dilihat bahwa dataset ini memiliki 2001 entri data dan 21 kolom atribut. Pada deskripsi dataset mobile price, dataset ini memiliki 20 attribut dan 1 class target. EKSPLORASI DATA
  • 14. Eksplorasi dengan menampilkan 5 baris teratas pada dataset. Dari preview data diatas, kolom dataset masih dalam bentuk nomor index dan nama atribut masih berada di dalam baris dataset. EKSPLORASI DATA
  • 15. Pertama, kami akan melakukan rename pada kolom sesuai atribut dataset EKSPLORASI DATA
  • 16. Selanjutnya kami menghapus baris pertama karena valuenya merupakan nama nama atribut itu sendiri Bisa dilihat bahwa kolom pada dataset telah direname dan value sudah sesuai EKSPLORASI DATA
  • 17. Pada list kolom tersebut, bisa dilihat pada bagian Data type masih berupa object. Untuk dapat lanjut ke langkah berikutnya, diperlukan tipe data numeric. Selanjutnya kami akan mengubah tipe datanya sebagai berikut EKSPLORASI DATA
  • 18. Sekarang bisa dilihat tipe data pada setiap kolom sudah menjadi numerik setelah menggunakan fungsi to_numeric EKSPLORASI DATA
  • 19. Kode diatas digunakan untuk melihat apa saja class yang terdapat pada dataset tersebut. dengan menggunakan unique() kita dapat mengetahui bahwa dataset ini mengklasifikasi dalam 4 class EKSPLORASI DATA
  • 20. Kode diatas digunakan melihat nilai yang hilang atau null. Semua value pada dataset tersebut tidak memiliki nilai yang hilang karena bisa dilihat bahwa jumlah nilai null adalah 0 EKSPLORASI DATA
  • 21. Setelah eksplorasi data selesai, saatnya untuk memulai membuat model. Langkah pertama, kami membuat variabel khusus untuk dataframe yang berisi atribut/fitur dan target class. MEMBUAT VARIABEL ATRIBUT/FITUR DAN VARIABEL TARGET CLASS
  • 22. Program memisahkan data menjadi atribut (X) dan kelas target (y). Variabel X merupakan sebuah dataframe berisi data-data atribut/fitur, sementara variabel y merupakan sebuah series yang berisi data-data kelas target. memisahkan data traning dan data testing dengan rasio 80:20 dengan random seed 0 MEMISAHKAN DATA
  • 23. Model knn dibuat dan melatih data pada X_train dan y_train MENGGUNAKAN K NEIGHBOURS CLASSIFIER UNTUK MELATIH DATA TRAINING
  • 24. Setelah data di training, akan dilakukan perdiksi pada data testing MEMPREDIKSI HASIL TARGET CLASS DARI 'X_TEST'
  • 26. Target class yang telah diprediksi akan dibandingkan dengan target class pada data testing 'y_test' sehingga didapat akurasinya yaitu sebesar 92.75%. SKOR AKURASI
  • 27. Pada model sebelumnya, digunakan nilai k sebesar 5. Nilai k tersebut akan coba diganti dengan beberapa nilai yang berbeda untuk mengetahui apakah bisa mendapatkan akurasi yang lebih tinggi. Percobaan pertama, nilai k dibuat sama dengan 6 dan menghasilkan akurasi 93.75%. MENGUBAH NILAI K
  • 28. Membuat ulang model dengan nilai k = 7, berikut dapat dilihat bahwa skor akurasi mengalami peningkatan menjadi 95.25% MENGUBAH NILAI K
  • 29. MENGUBAH NILAI K Membuat ulang model dengan nilai k = 8, pada percobaan menggunakan nilai K=8 skor akurasi mengalami penurunan kembali menjadi sebesar 95%. Jadi untuk perhitungan selanjutnya saya akan menggunakan model dengan nilai k=7
  • 31. Confusion matrix juga dibuat menggunakan confusion_matrix() dengan parameter y_test dan y_pred_7. Confusion matrix digunakan untuk mengetahui jumlah prediksi yang benar dan salah pada setiap kelas target. CONFUSION MATRIX
  • 33. MENGHITUNG TP, FP, FN PERCLASS a: class 0 b: class 1 c: class 2 d: class 3 Sebelum menghitung, kami mengasumsikan 4 class yang bernilai 0 sampai 3 akan saya ubah menjadi huruf untuk mempermudah.
  • 34. TP dihitung dengan menjumlahkan nilai diagonal utama dari confusion matrix. TN dihitung dengan menjumlahkan semua elemen di luar diagonal utama dari confusion matrix. FP dihitung dengan menjumlahkan semua prediksi positif dikurangi nilai TP untuk setiap kelas pada confusion matrix. FN dihitung dengan menjumlahkan semua prediksi negatif dikurangi nilai TN untuk setiap kelas pada confusion matrix. Dalam kode tersebut, confusion matrix (cm) yang telah dihitung sebelumnya digunakan untuk menghitung nilai TP, TN, FP, dan FN. Setelah dilakukan penghitungan, nilai TP, TN, FP, dan FN ditampilkan menggunakan print(). MENGHITUNG TP, FP, FN PERCLASS
  • 35. Hasil perhitungan yang didapat TP : 95 FP : 3 FN : 0 Class a TP : 87 FP : 5 FN : 5 Class b TP : 89 FP : 6 FN : 10 Class c TP : 110 FP : 5 FN : 4 Class d MENGHITUNG TP, FP, FN PERCLASS
  • 37. MENGHITUNG PRECISION Precision mengukur sejauh mana prediksi positif yang diberikan oleh model benar. Precision didefinisikan sebagai rasio antara jumlah prediksi positif yang benar (true positive) dengan jumlah total prediksi positif (true positive + false positive). Precision memberikan gambaran tentang seberapa akurat model dalam mengklasifikasikan contoh sebagai positif.
  • 38. MENGHITUNG RECALL Recall (atau juga dikenal sebagai sensitivitas) mengukur sejauh mana model mampu mengklasifikasikan contoh positif secara keseluruhan. Recall didefinisikan sebagai rasio antara jumlah prediksi positif yang benar (true positive) dengan jumlah total contoh yang sebenarnya positif (true positive + false negative). Recall memberikan gambaran tentang seberapa baik model dalam menemukan contoh-contoh positif yang ada.
  • 40. Pada projek ini kami membuat model klasifikasi mobile price dengan metode k Nearest Neighbour dengan nilai k=7 dan menghasilkan performa yang baik dengan nilai akurasi sebesar 95.25% Setelah membuat ulang model dengan nilai k yang berbeda, nilai k=5 sampai k=7 selalu menghasilkan peningkatan akurasi model, namun pada nilai k=8 hasil akurasi model kembali menurun Model dengan nilai k=7 menghasilkan akurasi yang paling tinggi dibanding nilai k yang lainnya Dari nilai confussion matrix, telah dihitung precission dan recall. precission yang didapat sebesar 0.9521 atau 95.21% dan recal yang didapat sebesar 0.9523 atau 95.24%. Hal ini menunjukkan performa model yang dibuat sudah cukup baik 1. 2. 3. 4. KESIMPULAN