menu bar

Wednesday, 6 December 2017

KLASIFIKASI datamining


KLASIFIKASI
sumber :
sumber dari modul praktikum Universitas Ahmad dahlan Yogyakarta

1.      Definisi Klasifikasi
Teknik klasifikasi merupakan suatu pendekatan sistematis untuk membangun model klasifikasi dari suatu himpunan masukan data (Hermawati, 2013). Model dari klasifikasi ditampilkan dalam Gambar 7.

Menurut Jianwei Han, 2001, klasifikasi merupakan proses menemukan kumpulan pola atau fungsi -fungsi yang mendeskripsikan dan memisahkan kelas data satu dengan lainnya, untuk dapat digunakan untuk memprediksi data yang belum memiliki kelas data tertentu. Jadi secara singkatnya, klasifikasi adalah proses untuk membedakan / memisahkan kelas.


 
A.      Langkah Praktikum      :
Ikuti langkah praktikum berikut ini:
1.      Jika akan dilakukan analisis data mining menggunakan Data Alumni untuk mengetahui hubungan antara NIM, UMUR, IPK, MASA STUDI, LAMA TUNGGU, GAJI, TOEFL, dan MASA TUNGGU. Maka lakukanlah analisis Data Alumni untuk kemudian dilakukan proses klasifikasi data
2.      Buka data set siswa dengan nama Data Alumni.xlxs
3.      Perhatikan record-record pada table tersebut
4.      Lakukan proses klasifikasi data dengan langkah-langkah berikut :
a.      Load library yang akan digunakan

Keterangan:
-       pandas merupakan data structure yang sering digunakan untuk data analysis pada bahasa pemrograman python
-       openpyxl merupakan class library untuk membuka file excel kedalam python
-       IPython.display import Image merupakan class library untuk menampilkan image atau gambar.
-       sklearn.preprocessing import imputer merupakan class library untuk melengkapi nilai yang hilang (NaN).
-       sklearn import tree merupakan import class library untuk Decision Tree.
-       sklearn.metrics import confusion_matrix, accuracy_score, recall_score, precision_score merupakan class library untuk Confusion Matrix.
-       subprocess import check_call dignakan untuk menjalankan perintah dengan argument.




b.      Mengatur nama file excel dan sheet yang digunakan.

Keterangan:
-       wb adalah variable data alumni pelatihan phiton
-       sheet_ranges adalah variable data alumni excel pdaa sheet 1
-       df adalah dataframe pandas yg digunakan untuk menampung data alumni pada sheet 1

c.       Seleksi kolom dari dataframe yang akan dilakukan klasifikasi.

Keterangan :
-          d = df[baris][[kolom]] merupakan seleksi baris dan kolom yang ingin ditampilkan
-          d.columns merupakan penamaan header setiap kolom yang telah diseleksi
-          d.dropna melakukan penghapusan baris pada data yang kosong dari dataframe.
-          d merupakan show table d

d.      Formating data
Formating data dilakukan untuk menyiapkan data pada kolom yang akan dilakukan cluster sudah sesuai. Seperti contoh kolom IPK harus float tidak boleh menggunakan string, maka harus dilakukan konversi kolom dari string ke float.


Keterangan :
-          dtypes Checking datatipe yang ada pada kolom
-          t adalah ambil penanggalan saat ini, t.to_datetime() adalah konversi penanggalan saat ini ke dalam format datetime, t.year adalah pengambilan tahun pada tahun ini (t).
-          for index, row in d.iterrows(): merupakan looping sejumlah baris data yang ada didalam table d.
-          row['TTL'][-4:] merupakan pengambilan tahun lahir setiap data.
-          t.year - int(row['TAHUN LAHIR']) merupakan penghitungan umur berdasarkan tahun sekarang – tahun lahir.
-          row['TAHUN LULUS']-row['TAHUN MASUK'] penghitungan masa studi
-          d['IPK'].apply(str) konversi data IPK diubah menjadi string secara keseluruhan
-          d['IPK'].str.replace(',','.').apply(float) replace , dengan . kemudian konversi data IPK menjadi float
-          d['GAJI'].apply(float) konversi data GAJI menjadi float.

Check kembali hasil formating data table apakah sudah sesuai dengan,

Jika telah sesuai dengan gambar dibawah berarti data telah siap untuk di lakukan klasifikasi.


e.       Ubah index dataframe agar lebih memudahkan dalam melakukan klasifikasi

Syntax diatas merupakan reset index pada dataframe. Kemudian akan muncul data dengan index dimulai dari 0.

f.       Membuat class label klasifikasi untuk lama masa tunggu kerja.
Dengan menggunakan kolom lama tunggu, disini akan dibuat 3 class yaitu:
- Cepat untuk masa tunggu kerja kurang dari 1 bulan.
- Sedang untuk masa tunggu kerja lebih dari atau sama dengan 1 bulan.
- Lama untuk masa tunggu kerja lebih dari atau sama dengan 2 bulan.
Dari rule diatas, akan dibuat kolom baru untuk class label klasifikasi, seperti berikut


g.      Menentukan kolom yang digunakan sebagai class target atau label.

Kolom MASA TUNGGU digunakan sebagai class label dan dimasukkan ke dalam variable y. Values digunakan untuk mengambil nilai dari kolom.
h.      Menentukan kolom apa saja yang digunakan sebagai fitur-fitur.
Kolom IPK, TOELF, MASA STUDI, UMUR digunakan sebagai fitur untuk klasifikasi. Fitur-fitur tersebut dimasukkan ke dalam variable features.

i.        Jika dalam fitur terdapat nilai yang hilang (NaN) dapat menggunakan fungsi imputer, fungsi ini akan mengganti nilai NaN dengan nilai rata-rata kolom.
fit_transform digunakan untuk mempelajari kamus dan mengembalikan nilai ke dalam matriks, kemudian fitur dimasukkan ke dalam variable X.

j.        Melakukan pelatihan menggunakan Decision Tree Scikit Learn untuk membuat model klasifikasi.
Keterangan:
-          tree.DecisionTreeClassifier merupakan fungsi sklearn yang digunakan untuk memanggil Decision Tree
-          criterion fungsi untuk mengukur kualitas split. Kriteria yang didukung adalah "gain" dan "entropy"
-          fit digunakan untuk membuat model klasifikasi decision tree dari set pelatihan (X, y) atau dari data fitur dan class label
-          Clf merupakan variable yang digunakan untuk menyimpan model klasifikasi.
-           
k.      Memvisualisasikan decision tree ke dalam graph.

Keterangan:
-          Clf merupakan variable yang menyimpan model atau classifier
-          Out_file untuk mengatur nama file keluaran
-          Features_names untuk menyimpan nama kolom yang dijadikan sebagai fitur
-          Filled untuk memberikan warna pada node
-          Rounded untuk membuat sudut node membulat
-          Special_character untuk karakter khusus untuk kompatibilitas PostScript.

l.        Convert file .dot ke file PNG.
Melakukan konversi file dari .dot ke .png diperlukan suatu aplikasi yang bernama Graphviz, yang berguna untuk memvisualisasikan graph. Kemudian install aplikasi Graphviz sampai selesai. Setelah aplikasi Graphviz terinstall, langkah berikutnya adalah melakukan pengaturan path pada system operasi kita.

m.    Melakukan konversi file dari .dot ke .png.

n.      Untuk Menampilkan graph tree yang sudah di convert ke dalam .png. Hasil:



B.       Post Test / Tugas Praktikum

materi lengkap lengkapnya
contoh lainnya
download data siswa

No comments:

Post a Comment