Machine Learning Sederhana untuk Klasifikasi Gender dengan Python

Saya menghabiskan sebagian dari libur semester awal tahun 2017 untuk belajar bahasa pemrograman interpreter Python. Awalnya tertarik untuk membuat sebuah machine learning sederhana yang dapat dilatih, hasil pencarian banyak menganjurkan untuk menggunakan bahasa pemrograman Python.

Setelah belajar dasar dan cara kerja Python akhirnya untuk prakteknya kasus pertama yang saya ambil adalah pendeteksi gender pria atau wanita dari karakter masing-masing dengan bantuan tutorial sana-sini. Pendeteksi ini menggunakan metode Decision Tree.

Decision Tree

Bagi yang belum familiar dengan metode Decision Tree, sederhananya metode ini adalah metode klasifikasi untuk mendapatkan kesimpulan dari sebuah data. Proses kerjanya mirip dengan logika IF-THEN.

Logika Decision Tree dapat di latih dengan mengajarkan pola tertentu dari sejumlah dataset untuk membuat keputusan baru, input baru kemudian di analisa untuk mencari pola tertentu sesuai dengan training sebelumnya untuk menghasilkan sebuah pengetahuan yang dapat menentukan kesimpulan untuk data input baru.

Kasus Pendeteksi Pria atu Wanita

Pada kasus ini, data training yang kita gunakan merupakan data karakter tinggi, berat dan ukuran sepatu dari pria dan wanita. Dengan sejumlah dataset training, Decision Tree akan membuat analisa pola karakter dari masing-masing gender agar jika ada input data karakter baru aplikasi dapat menentukan data input tersebut meruapakan karakter dari seorang pria atau wanita.

Cara Membuat

Pada Python, terdapat paket yang telah menyediakan metode decision tree untuk dapat digunakan. Paket ini disimpan dalam paket scikit-learn. Untuk dapat menggunakan scikit-learn terdapat 2 buah paket dependesi lain yang di butuhkan, yaitu numpy dan scipy. Paket-paket ini dapat di install dengan menggunakan perintah #pip install [paket] melalui terminal/cmd. Secara umum installasi paket sebagai berikut:

  1. pip install numpy
  2. pip install scipy
  3. #pip install -U scikit-learn

Bagi yang menemukan kendala dalam penginstalan paket tersebut, khususnya pengguna windows, beberapa turial berikut bisa membantu:

Coding

Secara sederhana coding untuk aplikasi ini dapat dilakukan pada satu file saja, buat file dengan nama demo.py, dengan isi:

# sample data format [tinggi, berat, ukuran-sepatu]
# data ukuran dari 11 orang
data = [[181,80,44], [177,70,43], [160,60,38], [154,54,37],
  [166,65,40], [190,90,47], [175,64,39], [165,49,40],
  [171,75,42], [157,55,39], [181,85,43],]

# data gender,berurut sesuai dengan datanya (merujuk variabel data)
gender = ['pria', 'pria', 'wanita', 'wanita',
   'wanita', 'pria', 'pria', 'wanita',
   'pria', 'wanita', 'pria',]

# memanggil metode DecisionTreeClassifier() dari onjek tree
klasifikasi = tree.DecisionTreeClassifier()
# training data, memanggil metode fit(param), param = data dan gender
klasifikasi = klasifikasi.fit(data,gender)

# memasukkan data baru untuk di prediksi
# memanggil metode predict([data])
databaru = [170,59,41]
prediksi = klasifikasi.predict([databaru])

# print hasil prediksi
print(data)
# print(type(data))
print(prediksi)

Terdapat beberapa bagian penting dari kode diatas:

  1. Pertama kita memanggil paket yang akan digunakan yaitu scikit-learn dengan from sklearn import tree
  2. Memuat data karakter gender pada variabel data
  3. memuat pasangan karakter gender pada variabel gender
  4. Melalukan training data
  5. Mengimput data baru untuk di prediksi
  6. Kemudian memprint hasilnya dengan perintah print

Github project: https://github.com/yasirutomo/mini-project-python

Leave a Reply