Foto User
Classification Using Decision Tree Algorithm

fingki sri marsanti

Sosial Media


0 orang menyukai ini
Suka

Summary

Klasifikasi merupakan metode supervised learning dengan menerapkan algoritme tertentu untuk secara akurat menetapkan data uji ke dalam kategori tertentu. Salah satu algoritma machine learning untuk proses klasifikasi adalah Decision Tree.

Description

Klasifikasi adalah proses untuk menemukan model yang menjelaskan atau membedakan konsep atau kelas data, dengan tujuan untuk memperkirakan kelas dari suatu objek yang labelnya tidak diketahui. Proses klasifikasi biasanya terdiri dari dua fase, yaitu learning dan test. Pada fase learning sebagian data yang telah diketahui kelas datanya diumpankan untuk membentuk model perkiraan. Kemudian, pada fase test model yang sudah terbentuk diuji dengan sebagian data lainnya untuk mengetahui akurasi dari model tersebut. Bila akurasinya mencukupi model ini dapat dipakai untuk prediksi kelas data yang belum diketahui. Salah satu algortima yang banyak digunakan pada proses klasifikasi yaitu Decision Tree. 

 

Decision Tree

Decision Tree merupakan salah satu cara data processing dalam memprediksi masa depan dengan cara membangun klasifikasi atau regresi model dalam bentuk struktur pohon. Terdapat tiga elemen dalam satu decision tree, yaitu :

  1. Root node (akar) : tujuan akhir atau keputusan besar yang ingin diambil
  2. Branches (ranting) : berbagai pilihan tindakan
  3. Leaf node (daun) : kemungkinan hasil atas setiap tindakan 

| 黜卜1~ 
그를:

(Sumber : glints.com)

 

Algoritma Decision Tree

  • Membuat cabang untuk setiap nilai
  • Memilih atribut sebagai root
  • Ulangi prosedur untuk setiap cabang hingga semua kasus di cabang memiliki kelas yang sama
  • Memilih atribut berdasarkan nilai gain tertinggi dari atribur-atribut yang ada, dimana nilai gain dapat ditentukan dengan persamaan berikut :

 

Keterangan :

S : himpunan

A : atribut

N : jumlah partisi atribut A

|Si| : jumlah kasus pada partisi ke-I

|S| : jumlah kasus dalam S

 

  • Menghitung nilai entropy dengan persamaan berikut :

Keterangan :

S : himpunan kasus

A : fitur

N : jumlah partisi S

Pi : proporsi dari Si terhadap S

 

Klasifikasi dataset Drug200 menggunakan algortima Decision Tree

Dataset

Dataset drug200.csv memiliki beberapa fitur diantaranya usia, jenis kelamin, tekanan darah, dan kolesterol pasien. Kemudian untuk targetnya yaitu obat yang diresponkan oleh setiap pasien. 

o 
2 
3 
4 
Age 
23 
47 
47 
28 
61 
Sex 
M 
M 
F 
BP 
HIGH 
LOW 
LOW 
NORMAL 
LOW 
Cholesterol 
HIGH 
HIGH 
HIGH 
HIGH 
HIGH 
Na to K 
25355 
13093 
10.114 
7798 
18.043 
Drug 
DrugY 
drugC 
drugC 
drugX 
DrugY

Klasifikasi yang dilakukan berupa pengklasifikasien biner, dimana akan menggunakan bagian training dataset untuk membangun model Decision Tree,  lalu digunakan untuk memprediksi kelas pasien yang tidak diketahui atau untuk meresepkan pada pasien baru. 

Modeling

1 drugTree = 
2 drugTree 
DecisionTreeC1assifier(criterion="entropy", max_depth 
DecisionTreeC1assifier(c1ass_weight=None, criterion= 'entropy' , max_depthz4, 
max features=None, max leaf nodes -None, 
min impurity_decrease=e.e, min _ impurity_sp1it=None, 
min samples leaf—I, min samples_sp1it=2, 
min_weight_fraction leaf=e .e, presort=Fa1se, 
random_state=None, 'best ) 
fit the data with the training feature matrix X_trainset and training response vector y_trainset 
1 drugTree.fit(X_trainset,y_trainset) 
DecisionTreeC1assifier(c1ass_weight=None, criterion= 'entropy' , max_depth4, 
max features=None, max leaf nodes -None, 
min impurity_decrease=e.e, min _ impurity_sp1it=None, 
min samples leaf—I, min samples_sp1it=2, 
min_weight_fraction leaf=e .e, presort=Fa1se, 
random_state=None, 'best )

Prediksi 

1 predTree = drugTree. 
2 print (predTree [a: 5]) 
3 print (y_testset [e: 5]) 
[ • drugv 'drugx• • drugx• 'drugx• • drugX'] 
drugY 
drugX 
drugX 
139 
drugX 
197 
drugX 
17e 
• Drug, dtype: object 
Name.

Visualisasi 

Evaluasi Model

1 from sklearn import metrics 
2 import matplotlib.pyplot as plt 
3 Accuracy: " , 
metrics. accuracy score(y_testset, 
predTree) ) 
DecisionTrees• s Accuracy: e. 9833333333333333

Akurasi model Decision Tree yaitu sebesar 98.3%

Informasi Course Terkait
  Kategori: Data Science / Big Data
  Course: Data Science