Python Programming

Klasifikasi Jenis Kelamin

Klasifikasi merupakan salah satu tujuan dari machine learning. Banyak metode untuk klasifikasi, seperti Support Vector Machine (SVM), k-NN (k-Nearest Neighbors), Naive Bayes, Neural Network (NN), Decision Tree, Random Forest, dan masih banyak lagi.

Berikut contoh program untuk melakukan klasifikasi jenis kelamin dengan Python dan library scikit-learn. Klasifikasi dilakukan dengan memakai tinggi badan, berat badan, dan ukuran sepatu. Dengan masukan itu, mesin dapat memprediksi apakah dia seorang pria atau wanita. Klasifikasi dilakukan dengan metode Decision Tree, SVM, k-NN, dan Naive Bayes. Kita akan membandingkan hasil akurasi dari masing-masing classifier.

# Hermon Jay 14-10-2017
# klasifikasi jenis kelamin dengan 
# Decision Tree, SVM, KNN, dan Naive Bayes

from sklearn import tree
from sklearn import svm
from sklearn import neighbors
from sklearn.metrics import accuracy_score
from sklearn.naive_bayes import GaussianNB

# model untuk ketiga classifier
cDT = tree.DecisionTreeClassifier()
cSVM = svm.SVC()
cKNN = neighbors.KNeighborsClassifier()
cNB = GaussianNB()

# data latih
# [tingi, berat, ukuran_sepatu]
X = [[181, 80, 44], [177, 70, 43], [160, 60, 38], [154, 54, 37], [166, 65, 40],
 [190, 90, 47], [175, 64, 39], [177, 70, 40], [159, 55, 37], [171, 75, 42],
 [181, 85, 43]]

Y = ['pria', 'pria', 'wanita', 'wanita', 'pria', 'pria', 'wanita', 'wanita',
 'wanita', 'pria', 'pria']

# latih classifier
cDT = cDT.fit(X, Y)
cSVM = cSVM.fit(X, Y)
cKNN = cKNN.fit(X, Y)
cNB = cNB.fit(X, Y)

# data test
X_test = [[198, 92, 48], [184, 84, 44], [183, 83, 44], [166, 47, 36],
 [170, 60, 38], [172, 64, 39], [182, 80, 42], [180, 80, 43]]
Y_test = ['pria', 'pria', 'pria', 'wanita', 'wanita', 'wanita', 'pria', 'pria']

# prediksi data test
Y_DT = cDT.predict(X_test)
Y_SVM = cSVM.predict(X_test)
Y_KNN = cKNN.predict(X_test)
Y_NB = cNB.predict(X_test)

# print prediksi
#print("Prediksi Decision Tree : ", Y_DT)
#print("Prediksi SVM : ", Y_SVM)
#print("Prediksi KNN : ", Y_KNN)
#print("Prediksi Naive Bayes : ", Y_NB)

# print akurasi
print("Akurasi Decision Tree : ", accuracy_score(Y_test, Y_DT))
print("Akurasi SVM : ", accuracy_score(Y_test, Y_SVM))
print("Akurasi KNN : ", accuracy_score(Y_test, Y_KNN))
print("Akurasi Naive Bayes : ", accuracy_score(Y_test, Y_NB))

Source code bisa dilihat diĀ https://github.com/HermonJay/klasifikasi_jenis_kelamin. Github akan terus diperbaharui.

Author: Hermon Teguh Jay M

Recent Graduate from Universitas Gadjah Mada

Leave a Reply

Your email address will not be published.