Naufal Fawwazi
Portofolio ini berisikan project implementasi Machine Learning pada sub materi Klasifikasi. Dataset yang digunakan diambil dari Kaggle yang merupakan kemungkinan seseorang bermain tennis. Algoritma klasifikasi yang digunakan pada project ini adalah algoritma Decision Tree. Adapula library yang diperlukan pada project ini yaitu pandas dan scikit-learn.
Saya menggunakan Jupyter Notebook sebagai media pemrograman bahasa Python untuk mengerjakan Tugas Akhir pada course ini. Adapun dataset yang saya gunakan adalah dataset mengenai kemungkinan seseorang kemungkinan seseorang bermain tennis. Dataset ini saya dapatkan melalui Kaggle pada tautan berikut: https://www.kaggle.com/datasets/fredericobreno/play-tennis
Disini saya melakukan klasifikasi dengan menggunakan algoritma Decision Tree. Sebelum melakukan proses koding, saya meletakkan dataset saya pada satu directory dengan file code saya.
Langkah pertama yang saya lakukan yaitu melakukan import library yang akan digunakan pada klasifikasi kali ini
Kemudian saya mulai membaca dataset yang telah diunduh yang bernama play_tennis.csv serta menampilkan 5 data teratas menggunakan keyword head()
Maka, output dari 5 data teratas menggunakan keyword head() adalah sebagai berikut
Lalu saya menentukan fitur prediktor yang secara umum diwakilkan oleh variabel X serta fitur target diwakilkan oleh variabel y
Dikarenakan adanya kolom day yang merepresentasikan hari secara sekuensial (D1, D2, D3,…) dan dirasa kurang diperlukan dalam klasifikasi kali ini, maka saya hapuskan kolom day
Kemudian saya juga melakukan perubahan value pada kolom play, dimana pada kolom ini awalnya berisikan value yes dan no, saya ubah menjadi 1 dan 0
Berikut adalah hasil dari 5 data teratas menggunakan keyword head() setelah dilakukan penghapusan kolom day serta perubahan value pada kolom play
Kini saya melakukan teknik one-hot encoding supaya data kategorik yang berada pada dataset play_tennis.csv berubah menjadi data numerik
Maka akan menjadi seperti ini ketika ditampilkan 5 data teratas menggunakan keyword head()
Setelah itu, saya akan menghapus 4 fitur asli dari 4 fitur tersebut karena akan saya gantikan dengan fitur yang telah diolah menggunakan one-hot encoding
Sesudah menghapus 4 fitur asli, saya gabungkan fitur dari hasil one-hot encoding dengan fitur target ke dalam dataset
Dan untuk hasil penggabungan dapat dilihat sebagai berikut
Kemudian saya melakukan teknik splitting, yaitu pemisahan antara data training dengan data testing. Disini saya memberikan test size sebesar 20% serta 80% adalah data training
Lalu saya melakukan pemodelan dengan algoritma Decision Tree (ID3) terhadap dataset yang saya miliki berdasarkan kriteria entropi
Disini saya melakukan pengujian terhadap data testing yang sudah disiapkan dan disimpan ke dalam variabel y_pred
Setelah melakukan pengujian, saya menghitung nilai akurasi dari model
Dan didapatkan hasil akurasi sebagai berikut
Kesimpulan dari klasifikasi terhadap kemungkinan seseorang bermain Tennis menggunakan algoritma Decision Tree yaitu memiliki akurasi sebesar 0.66 atau 66%