Binary Classifier merupakan machine learning yang tergolong kepada supervised learning, yang mana label yang dimilikinya hanya ada dua macam.
Berikut adalah contoh pengubahan dari multiclass Classifier menjadi Binary Classifier untuk machine learning penentu kualitas wine.
pertama dilakukan import library
import numpy as np
import pandas as pd
%matplotlib inline
import matplotlib.pyplot as plt
plt.style.use('ggplot')
Kemudian Loading Data
df = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-red.csv', sep= ';')
Pemisahan label dari data sehingga hanya tersisa feature saja, dan menyimpannya dalam satu variabel
x = df.drop('quality',1)
Pengubahan format feature pada variabel penyimpannya menjadi array
x=x.values
inisialisasi nilai label
y1 = df['quality'].values
Penentuan nilai binary dari label
y= (y1<= 5)*1
disini nilai y akan bernilai 1 ketika y1 kecil atau sama dengan lima dan bernilai 0 ketika y1 bernilai besar dari lima
untuk lebih jelas sebaiknya dilakukan ploting pada nilai label tersebut dengan
plt.figure(figsize=(20,5));
plt.subplot(1,2,1);
plt.hist(y1);
plt.xlabel ('original targer value')
plt.ylabel('count')
plt.subplot(1,2,2);
plt.hist(y);
plt.xlabel ('new targer value')
plt.show()

Dilakukan Split data untuk Training dan Testing
from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(x,y,test_size = 0.2,random_state = 42)
x_train
Dilakukan proses Training
from sklearn import neighbors
knn = neighbors.KNeighborsClassifier(n_neighbors = 3)
"sementara nilai k adalah 3, dibawah ini adalah proses fitting"
knn_model_1 = knn.fit(x_train,y_train)
Berikut untuk melihat hasil test dari model yang telah dibuat
knn_result_1 = knn_model_1.score(x_test,y_test)
print('k-NN accuracy for test set : %f' % knn_result_1)
from sklearn.metrics import classification_report
y_true, y_pred = y_test, knn_model_1.predict(x_test)
print(classification_report(y_true,y_pred))
from sklearn.metrics import confusion_matrix
confusion_matrix(y_true, y_pred)