All Articles

Memprediksi jenis kelamin dari nama bahasa Indonesia menggunakan Machine Learning

Berikut tahapan umum proses pembuatan machine learning :

  • Penentuan dataset: Membuat, mencari dataset yang akan diolah
  • Cleansing dataset: Merapihkan data agar dapat diolah, karena biasanya dataset awal bersifat unstructured
  • Feature extraction: Bertujuan untuk memilih data apa yang akan diambil dari dataset yang berpengaruh dan mengesampingkan hal yang tidak berpengaruh terhadap analisa data. Sehingga hasilnya lebih optimal dan efisien.
  • Penentuan Algorima: Menentukan algoritma yang cocok
  • Evaluasi akurasi jawaban

Sebagai bahan percobaan, saya telah menyiapkan dataset yang berasal dari data pemilih tetap Komisi Pemilihan Umum (KPU) dalam bentuk csv. Dataset ini terdiri dari 2 kolom (nama dan jenis kelamin), dengan total 13.137 data. Data tersebut dapat diperoleh disini.

Metode klasifikasi yang digunakan adalah Naive Bayes, Logistic Regression dan Random Forest Tree dengan bantuan library Python Scikit Learn.

Menjalankan program

python jenis-kelamin.py -h
usage: jenis-kelamin.py [-h] [-ml {NB,LG,RF}] [-t TRAIN] nama
Menentukan jenis kelamin berdasarkan nama Bahasa Indoensia
positional arguments:
  nama                  Nama
optional arguments:
  -h, --help            show this help message and exit
  -ml {NB,LG,RF}        NB=Naive Bayes(default); LG=Logistic Regression;
                        RF=Random Forest
  -t TRAIN, --train TRAIN
                        Training ulang dengan dataset yang ditentukan

Tebak jenis kelamin irfani ?

python jenis-kelamin.py irfani
Prediksi jenis kelamin dengan Naive Bayes :
irfani  :  Pria

Menjalankan program dengan metode Logistic Regression dan dataset yg ditentukan ulang

python jenis-kelamin.py -t "./data/data-pemilih-kpu.csv" -ml LG "niky felina"
Akurasi : 93.5135135135 %
Prediksi jenis kelamin dengan Logistic Regression :
niky felina  :  Wanita

Untuk mengubah prediksi nama dari nama bahasa negara lain atau bahasa daerah tertentu, dataset nya silahkan diganti sesuai kebutuhan.

Sourcecode aplikasi ini dapat dilihat di Github

Langkah-langkah proses pembuatan machine learning

Langkah-langkah lengkap proses pengolahan dataset hingga menghasilkan prediksi dapat dilihat di sini.

image