PENDAHULUAN
Confusion matrix memberikan indikasi dari tiga kesalahan yang dibuat, dan
laporan klasifikasi (classification report) memberikan rincian setiap kelas
(class-species) dengan precision, recall, f1-score dan support.
2.2 Evaluasi Algoritma Terhadap Haberman’s Survival Data Set
Selain evaluasi ketiga model algoritma diatas, pada laporan ini juga dibahas
evaluasi model K-Nearest Neighbors (KNN), Gaussian Naive Bayes (NB), dan
Support Vector Machines (SVM) terhadap haberman’s survival dataset. Langkah
yang dilakukan untuk evaluasi algoritma tersebut sama seperti pada evaluasi ketiga
algoritma sebelumnya.
2.2.1 Evaluasi algoritma
Berikut adalah perintah script untuk melakukan pengecekan/ evaluasi
algoritma terhadap haberman’s survival data set dengan menggunakan model
K-Nearest Neighbors (KNN), Gaussian Naive Bayes (NB), dan Support Vector
Machines (SVM).
import sys, scipy, numpy, matplotlib, pandas, sklearn
import matplotlib.pyplot as plt
from pandas.plotting import scatter_matrix
from sklearn import model_selection
from sklearn.metrics import accuracy_score
from sklearn.metrics import confusion_matrix
from sklearn.metrics import classification_report
from sklearn.neighbors import KNeighborsClassifier
from sklearn.naive_bayes import GaussianNB
from sklearn.svm import SVC
from sklearn.tree import DecisionTreeClassifier
url = "http://archive.ics.uci.edu/ml/machine-learning-
databases/haberman/haberman.data"
names = ['age', 'year', 'axillary-nodes', 'survival-status']
dataset = pandas.read_csv(url, names=names)
array = dataset.values
X = array[:,0:3]
Y = array[:,3]
validation_size = 0.20
seed = 7
X_train, X_validation, Y_train, Y_validation =
model_selection.train_test_split(X, Y,
test_size=validation_size, random_state=seed)
scoring = 'accuracy'
models = []
models.append(('KNN', KNeighborsClassifier()))
models.append(('NB', GaussianNB()))
models.append(('SVM', SVC(gamma="auto")))
results = []
names = []
for name, model in models:
kfold = model_selection.KFold(n_splits=10,
random_state=seed)
cv_results = model_selection.cross_val_score(model,
X_train, Y_train, cv=kfold, scoring=scoring)
results.append(cv_results)
names.append(name)
msg = "%s: %f (%f)" % (name, cv_results.mean(),
cv_results.std())
print(msg)
3.1 Kesimpulan
Klasifikasi dalam machine learning biasa digunakan untuk memprediksi kelas
target secara akurat dengan menggunakan variabel-variabel terkait. Terdapat banyak
model algoritma dalam teknik klasifikasi. Pemilihan model algoritma yang paling baik
tergantung pada dataset yang digunakan. Pada iris data set dengan melakukan evaluasi
terhadap model Logistic Regression, Linear Discriminant Analysis, dan Decision Tree
Classifier menghasilkan model Linear Discriminant Analysis sebagai model paling
akurat. Sedangkan pada haberman’s survival data set dengan melakukan evaluasi
terhadap model K-Nearest Neighbors (KNN), Gaussian Naive Bayes (NB), dan Support
Vector Machines (SVM) menghasilkan model Gaussian Naive Bayes sebagai model
paling akurat.
DAFTAR PUSTAKA