Preprocessing Scaling Data untuk Machine Learning Supervised Learning K-NN Menggunakan Data Wine Quality

Proses Scalling biasanya dilakukan ketika dalam dataset yang masih mentah, beberapa variabel memiliki nilai yang sangat bervariasi dan random, jadi sangat penting untuk di scale feature feature tersebut, feature-feature tersebut nilainya sangat besar atau kecil hanya karena the nature of measurements sehingga ketika dilakukan perhitugan pada tetangga dengan jarak terdekat terdapat feature yang lebih dominan untuk mempengaruhi hasil keluaran, tentunya hal ini tidak bagus. berikut adalah contoh scalling 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= ';')

Visualisasi data sehingga terlihat tingkat kebutuhan prepossesing data berupa scallingnya

pd.DataFrame.hist(df,figsize = [15,15]);

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

Dilakukan proses Scalling

from sklearn.preprocessing import scale
Xs = scale(x)

inisialisasi nilai label

y1 = df['quality'].values

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)

Melakukan Preprocessing Binnarization Sebagai Contoh Machine Learning Binary Classifier

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)

Cara Membaca Confusion Matrix, Akurasi, Presisi dan Recall

Confusion matrix adalah matrix yang menggambarkan bagaimana hasil dari testing suatu model terhadap data testing yang digunakan pada saat membuat model machine learnig. confusion matrix digunakan pada Machine Learning yang Supevised Learning. Confusion matrix menggambarkan hasil tes yang sesuai dengan label dan hasil tes yang tidak sesuai dengan label. berikut adalah gambaran dari confusion matrix

  • Jumlah kolom dan jumlah baris merupakan jumlah class yang ada, semisal ada enam class berarti akan ada enam baris dan enam kolom.
  • Diagonal utama menggambarkan jumlah yang benar.
  • baris menggambarkan hasil prediksi, sedangkan kolom menggambarkan nilai sebenarnya

Untuk lebih jelasnya akan dijelaskan menggunakan contoh

array([[ 0,  0,  1,  0,  0,  0],
       [ 0,  1,  2,  7,  0,  0],
       [ 1,  4, 81, 40,  3,  1],
       [ 0, 11, 57, 51, 13,  0],
       [ 0,  0, 10, 18, 12,  2],
       [ 0,  0,  1,  2,  2,  0]], dtype=int64)

anggap kolom pertama dan baris pertama merupakan kelas 1 seterusnya begitu hingga kolom ke enam dan baris ke enam adalah kelas 6, artinya terdapat enam kelas.

  • jumlah nilai yang benar pada kelas pertama hasil prediksi adalah 0, jumlah total kelas pertama hasil prediksi adalah satu data, namun pada nilai sebenarnya merupakan golongan kelas tiga.
  • jumlah data yang terprediksi sebagai kelas tiga namun sebenarnya merupakan kelas empat sebagak 40 data.
  • jumlah data yang terprediksi sebagai kelas empat namun sebenarnya merupakan kelas tiga terdapat 57 data.
  • jumlah data yang terprediksi sebagai kelas lima dan sebenarnya kelas tiga sebanyak 10 data.
  • True Positive dan True Negative adalah nilai yang berwarna biru
  • False Negative adalah nilai yang berada di bawah diagonal utama
  • False Positive adalah nilai yang berada di atas diagonal utama

Akurasi adalah ketepatan dalam melakukan prediksi dapat dihitung dengan menggunakan persamaan

Precision menggambarkan tingkat keakuratan antara data yang diminta dengan hasil prediksi yang diberikan oleh model

Recall atau Sensitivity menggambarkan keberhasilan model dalam menemukan kembali sebuah informasi

Supervised, Unsupervised dan Reinforcement Learnig

Supervised Learning

Dalam supervised learning memiliki variabel input (x) dan variabel output (Y) dan kita menggunakan algoritma untuk mempelajari pemetaan dari input ke output. Dengan kata lain, algoritma pembelajaran yang diawasi mengambil kumpulan kumpulan data masukan yang diketahui dan tanggapannya yang diketahui terhadap data (keluaran) untuk mempelajari model regresi / klasifikasi. Algoritma pembelajaran kemudian melatih model untuk menghasilkan prediksi untuk respons terhadap data baru atau set data pengujian. dengan kata lain machine learning akan diberitahu terlebih terlebih dahulu berbagaimacam kombinasi nilai masukan dan keluaran kemudian membuat suatu model yang dapat digunakan untuk memprediksi suatu keluaran dari suatu kombinasi masukan yang diberikan.

Unsupervised Learning

Unsupervised Learning digunakan saat kita tidak memiliki data berlabel. Fokus utamanya adalah mempelajari lebih lanjut tentang data dengan menyimpulkan pola dalam kumpulan data tanpa mengacu pada keluaran yang diketahui. Disebut unsupervised karena algoritmanya dibiarkan sendiri untuk mengelompokkan informasi yang tidak disortir dengan menemukan persamaan, perbedaan, dan pola dalam data. Pembelajaran tanpa pengawasan sebagian besar dilakukan sebagai bagian dari analisis data eksplorasi. Hal ini paling sering digunakan untuk menemukan kelompok data dan untuk reduksi dimensi.

Reinforcement Learning

Secara sederhana, reinforcement learning dapat diartikan sebagai pembelajaran dengan terus menerus berinteraksi dengan lingkungan. Ini adalah jenis algoritma pembelajaran mesin di mana agen belajar dari lingkungan interaktif dengan cara coba-coba dengan terus menggunakan umpan balik dari tindakan dan pengalaman sebelumnya. Pembelajaran penguatan menggunakan rewards dan punishment, agen menerima penghargaan untuk melakukan tindakan yang benar dan penalti untuk melakukannya dengan tidak benar.

Machine Learning

Machine Learning adalah proses pembelajaran yang dilakukan oleh mesin dengen pemberian data untuk dianalisis agar data tersebut diketahui polanya dan dapat digunakan untuk memprediksi ataupun untuk mengetahui sesuatu.

Machine Learning memiliki berbagai macam aplikasi, seperti memprediksi keadaan di masa depan, mengoptimalisasi proses pemberian keputusan dan bahkan mendeteksi penyakit ataupun melakukan analisis terhadap suatu gejala sehingga diketahui penyakitnya.

Macam-macam Machine Learning terbagi menjadi Supervised Learning, Unsupervised Learning dan Reinforcement Learning serta Deep Learning.

Istilah machine learning pertama kali dikemukakan oleh beberapa ilmuwan matematika Adrien Marie Legendre, Andrey Markov dan Thomas Bayes pada tahun 1920-an dengan mengemukakan dasar-dasar machine learning dan konsepnya. Sejak saat itu ML banyak yang mengembangkan.

Peran machine learning banyak membantu manusia dalam berbagai bidang. Bahkan saat ini penerapan ML dapat dengan mudah kamu temukan dalam kehidupan sehari-hari. Misalnya saat kamu menggunakan fitur face unlock untuk membuka perangkat smartphone kamu, atau saat kamu menjelajah di internet atau media sosial kamu akan sering disuguhkan dengan beberapa iklan. Iklan-iklan yang dimunculkan juga merupakan hasil pengolahan ML yang akan memberikan iklan sesuai dengan pribadi kamu.

Preprocessing Data dalam Machine Learning

Biasanya data yang didapatkan dari flat files atau database berupa data mentah. Algoritma machine learning classification bekerja dengan data yang akan diformat dengan cara tertentu sebelum mereka memulai proses training. Untuk menyiapkan data untuk konsumsi oleh algoritma machine learning, kita harus memrosesnya terlebih dahulu dan mengonversinya menjadi format yang tepat.

dalam penerapannya kita bisa menggunakan scikit-learn untuk preprocessing data, dalam library scikit-learn ada banyak fungsi-fungsi yang tersedia.

Binarization

proses binarization adalah ketika kita ingin mengubah variabel numerik kedalam nilai boolean (0 dan 1)

input = np.array([[8,2,3],
                  [4,7,1],
                  [9,2,6]])
                  
data_biner = preprocessing.Binarizer(threshold = 5).transform(input)

output:
[[1 0 0]
 [0 1 0]
 [1 0 1]]

Mean Removal

Mean removal adalah cara umum dalam teknik preprocessing yang digunakan dalam machine learning, menghilangkan rata-rata biasanya sangat berguna dari variabel, jadi variabel berada ditengah tengah pada angka 0. kita melakukannya untuk menghilangkan bias dari variabel

# Sebelum mean removal
print("Mean = ", input.mean(), "\n", "Std deviation = ", input.std(axis = 0))

output:
Mean =  4.66666666667 
Std deviation =  [ 2.1602469   2.3570226   2.05480467]

# Sesudah mean removal
data_scaled = preprocessing.scale(input)
print("Mean = ", data_scaled)
print("Std deviation = ", data_scaled.std(axis = 0))

output:
Mean =  [[ 0.46291005 -0.70710678 -0.16222142]
 [-1.38873015  1.41421356 -1.13554995]
 [ 0.9258201  -0.70710678  1.29777137]]
 Std deviation =  [ 1.  1.  1.]

Scaling

biasanya dalam dataset yang masih mentah, beberapa variabel memiliki nilai yang sangat bervariasi dan random, jadi sangat penting untuk di scale feature feature tersebut, in my prespective feature-feature tersebut nilainya sangat besar atau kecil hanya karena the nature of measurements

data_scaler_minmax = preprocessing.MinMaxScaler(feature_range=(0, 1))
data_scaled_minmax = data_scaler_minmax.fit_transform(input)
data_scaled_minmax

output:
array([[ 0.8,  0. ,  0.4],
       [ 0. ,  1. ,  0. ],
       [ 1. ,  0. ,  1. ]])

Normalization

Biasanya dalam preprocessing, proses normalisasi untuk memodifikasi nilai dalam varabel sehingga kita dapat mengukurnya dalam skala umum. Dalam machine learning, kita menggunakan berbagai bentuk normalisasi. Beberapa bentuk normalisasi yang paling umum bertujuan untuk mengubah nilai-nilai sehingga jumlahnya menjadi 1. Normalisasi L1 (di library scikit-learn), yang mengacu pada Penyimpangan Absolut Terkecil, bekerja dengan memastikan bahwa jumlah nilai absolut adalah 1 dalam setiap baris. Normalisasi L2, yang mengacu pada kuadrat terkecil, bekerja dengan memastikan bahwa jumlah kuadrat adalah 1. Secara umum, teknik normalisasi L1 dianggap lebih kuat daripada teknik normalisasi L2. Teknik normalisasi L1 kuat karena tahan terhadap outlier dalam data. Seringkali, data cenderung mengandung outlier dan kita tidak bisa berbuat apa-apa. Kami ingin menggunakan teknik yang dapat dengan aman dan efektif mengabaikannya selama perhitungan. Jika kita memecahkan masalah di mana outlier itu penting, maka mungkin normalisasi L2 menjadi pilihan yang lebih baik

data_normalized_l1 = preprocessing.normalize(input, norm='l1')
data_normalized_l2 = preprocessing.normalize(input, norm='l2')
print("\nL1 normalized data:\n", data_normalized_l1)
print("\nL2 normalized data:\n", data_normalized_l2)

L1 normalized data:
 [[ 0.61538462  0.15384615  0.23076923]
 [ 0.33333333  0.58333333  0.08333333]
 [ 0.52941176  0.11764706  0.35294118]]

L2 normalized data:
 [[ 0.91168461  0.22792115  0.34188173]
 [ 0.49236596  0.86164044  0.12309149]
 [ 0.81818182  0.18181818  0.54545455]]

Label encoding

Ketika kita melakukan klasifikasi, biasanya kita berurusan dengan banyak label. Label-label ini bisa dalam bentuk kata-kata, angka, atau sesuatu yang lain. Fungsi pembelajaran mesin dalam sklearn mengharapkan mereka menjadi angka. Jadi jika mereka sudah menjadi nomor, maka kita dapat menggunakannya secara langsung untuk memulai pelatihan. Tetapi ini tidak biasanya terjadi.
Di dunia nyata, label dibuat dalam bentuk kata-kata, karena kata-kata dapat dibaca manusia. kita melabeli data training dengan kata-kata sehingga pemetaan dapat dilacak. Untuk mengonversi label kata menjadi angka, kita perlu menggunakan pembuat label encoding. label encoding mengacu pada proses transformasi label kata menjadi bentuk numerik. dalam hal regresi jika memuat varibel kategori dan nilainya tidak bisa di faktorisasi dalam bentuk tingkatan, dilakukan proses dummy, setiap nilai didalam variabel itu menjadi variabel lain.

label_kategori = ['senin', 'selasa', 'rabu', 'kamis', 'jumat', 'sabtu', 'minggu']
encoder = preprocessing.LabelEncoder()
encoder.fit(label_kategori)

print("\nLabel mapping:")
for i, item in enumerate(encoder.classes_):
    print(item, '>', i)
    
output:
Label mapping:
jumat > 0
kamis > 1
minggu > 2
rabu > 3
sabtu > 4
selasa > 5
senin > 6

# Encode list menggunakan encoder sebelumnya
test_labels = ['senin', 'kamis', 'jumat']
encoded_values = encoder.transform(test_labels)
print("Labels =", test_labels)
print("Encoded values =", list(encoded_values))

Labels = ['senin', 'kamis', 'jumat']
Encoded values = [6, 1, 0]

Proses Klasifikasi K-NN dengan Python

Proses dari klassifikasi menggunakan K-NN yaitu

  1. Loading Data : Kegiatan pengumpulan data yang akan digunakan untuk melakukan machine learning.
  2. Prepocessing Data : Kegiatan penyetingan data supaya dapat diproses oleh mesin.
  3. Splitting Data : Pembagian data untuk latih dan unutk uji.
  4. Training Model : Melakukan iterasi untuk memperoleh model.
  5. Testing Model : Mencoba model yang telah diporoleh untuk mengetahui akurasinya.

Testing model dapat dilakukan dengan nilai k yang berbeda-beda,besar atau kecilnya nilai K akan berpengaruh terhadap akurasi yang dihasilkan oleh mesin tersebut [baca disini].

Dalam menjalankannya digunakan aplikasi anaconda jupoternotebook

Impor Library Merupakan Proses yang pertama dilakukan.

import numpy as np
import pandas as pd
%matplotlib inline
import matplotlib.pyplot as plt
plt.style.use('ggplot')
from sklearn.model_selection import train_test_split
from sklearn import neighbors
from sklearn.metrics import classification_report
from sklearn.metrics import confusion_matrix

Setelah itu melakukan import data

df = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-red.csv', sep= ';') 
#pemanggilan data dari internet dengan format file .csv yang menggunakan tanda pemisah/separator ';'

Data dapat diperoleh dari data local ataupun dari internet seperti yang dilakukan sekarang ini. Data yang kita gunakan dapat ditampilkan dengan Perintah Menampilkan Data

df #menampilkan data secara keseluruhan
df.head() #menampilkan lima data teratas dari tabel
fixed acidityvolatile aciditycitric acidresidual sugarchloridesfree sulfur dioxidetotal sulfur dioxidedensitypHsulphatesalcoholquality
07.40.700.001.90.07611.034.00.99783.510.569.45
17.80.880.002.60.09825.067.00.99683.200.689.85
27.80.760.042.30.09215.054.00.99703.260.659.85
311.20.280.561.90.07517.060.00.99803.160.589.86
47.40.700.001.90.07611.034.00.99783.510.569.45

untuk melihat info dari data yang dimiliki dapat digunakan

df.info()

Pada data kali ini kolom terakhir merupakan label yang digunakan yaitu kolom dengan nama feature quality. label dan feature harus dibuat dalam variabel berbeda untuk melakukan proses klasifikasi, oleh karena itu diguakan perintah berikut

x = df.drop('quality',1) #variabel yang menyimpan data tanpa ada label.
y1 = df['quality'].values #variabel yang menyimpan data label

dalam melakukan klasifikasi data yang digunakan dalam bentuk array. untuk itu digunakan syntax seperti berikut ini

x = x.values

Selanjutnya dilakukan Split data untuk memisahkan data yang akan digunakan untuk training dan data yang akan digunakan untuk testing,

x_train, x_test, y_train, y_test = train_test_split(x,y1,test_size = 0.2,random_state = 42)
x_train

Selanjutnya dilakukan proses Learning dengan menggunakan syntax

knn = neighbors.KNeighborsClassifier(n_neighbors = 3) 
knn_model_1 = knn.fit(x_train,y_train)

Untuk dapat melihat akurasi dari hasil latih maka digunakan data test yang merupakan hasil Slit sebelumnya

knn_result_1 = knn_model_1.score(x_test,y_test)
print('k-NN accuracy for test set : %f' % knn_result_1)

Untuk Mengetahui info akurasi lebih detail dapat dilihat dengan

y_true, y_pred = y_test, knn_model_1.predict(x_test)
print(classification_report(y_true,y_pred))

Dan berikut ini merupakan Confusion Matrics

confusion_matrix(y_true, y_pred)

yang mana dengan cara di atas akan di dapatkan confusion matrix seperti berikut ini

array([[ 0,  0,  1,  0,  0,  0],
       [ 0,  1,  2,  7,  0,  0],
       [ 1,  4, 81, 40,  3,  1],
       [ 0, 11, 57, 51, 13,  0],
       [ 0,  0, 10, 18, 12,  2],
       [ 0,  0,  1,  2,  2,  0]], dtype=int64)

Dari confution matrix dapat juga diketahui akurasi presisi dan sensitivitasnya, Cara Membaca Confusion Matrix, perhitungan Akurasi, presisi dan sensitifitas.

K-Nearest Neighbor (K-NN) dan Distance Matrix

K-NN merupakan metode klasifikasi pada sistem machine learning. dari artinya sendiri K-NN dapat diartikan sebagai Jumlah Tetangga Terdekat sejumlah K.

Perhatikan Pada Gambar terdapat titik yang tersebar, untuk memudahkannya dipetakan dalam diagram kartesius.

Semisal titik merah merupakan nilai yang ingin di ketahui kelasnya. maka akan dicari tetangga terdekat dari titik merah sejumlah K titik yang telah ditentukan, pada gambar diberikan contoh 3 ataupun 6, biasanya nilai K ganjil sehingga keputusan tidak ambigu, kemudian melalui penghitungan kelas dengan titik terbanyaklah yang merupakan kelas dari titik yang belum diketahui kelasnya tersebut. seperti pada contoh jika k bernilai 3 maka titik merah akan masuk ke kelas B, namun apabila K-nya bernilai 6 maka titik merah masuk kelas A.

Ada tiga hal yang dibutuhkan dalam K-NN yaitu

  1. Dataset yang dapat digunakan untuk proses klasifikasi K-NNN
  2. Distance Matrix atau Cara Untuk menghitung Nearest Neighbor (tetngga terdekat) dari suatu titik , yang terdiri dati L1-Norm dan L2-Norm.
  3. Penentuan nilai K yang digunakan

Distance Matrix

misal ada data

Data 1 : (x1, y1) dan Data2 : (x2, y2)

L1-Norm (Manhattan Distance) :

|x1-x2| +|y1-y2|

L2-Norm (Euclidean Distance) :

rumus L2-Norm merupaka rumus untuk pitagoras.

Minkowski distance :sama seperti L2-Norm hanya saja akar pangkat dan pengurangan pangkatnya tidak bernilai 2 namun masih sama

Hal yang berbeda ketika feature ataupun label yang dimiliki nilaiya tidak berupa angka. setiap nilai tadi akan diiniasialisasikan dengan angka terlebih dahulu.

Penentuan Nilai K

K semakin besar makan kestabilannya akan semakin tinggi, sedangkan ketika nilai Knya semakin kecil kestabilannya akan semakin rendah. karena jumlah tetangga terdekat yang dihitung terlalu sedikit sehingga belum dapat menggambarkan cluster dari data yang inign dinilai. kestabilan disini adalah kestabilan mesin dalam menentukan kelas dari suatu nilai.

namun jika nilai K terlalu besar maka hasil errornya akan menjadi lebih tinggi, karena mesin menghitung terlalu banyak tetangga terdekatnya. semisal pada gambar diatas diambil tetangga terdekat sejumlah 10 atau nilai K bernilai 10 tentu semua nilai akan masuk dalam penentuan kelas dari titik yang baru. hal inilah yang menajadikan tingkat error tinggi.

Konsep Classification

K-Nearest Neighbor Algorithm.

Classification adalah salah satu machine learning task, berdasarkan cara trainingnya tergolong supervised learning.

pada Classification data yang dimiliki mempunyai bagian predictor variable(feature) yang merupakan parameter-parameter yang akan digunakan untuk penentuan label, dan Taget Variable (label) merupakan keluaran dari parameter-parameter yang ada. nilai inilah yang nantinya menjadi keluaran dari prediksi.

HargaDisplay CardRAMStorageBattery CapacityProcessorRecommen Rate
10000000GEFORCE930M16GB1TB500mAhCore i78
7000000Intel Graphics2GB1TB450mAhCore i46
5000000GEFORCE930M4GB500TB400mAhCore i57

tabel diatas dapat dijadikan contoh untuk data yang bisa digunakan untuk melakukan proses learning untuk mesin, yang mana Harga,Display Card, RAM, Storage, Battery Capacity, dan Processor merupakan Features sedangkan Recomendation Ratting merupakan Label

Contoh Data Set untuk penilaian untuk suatu mobil accaptable untuk dibeli atau tidak

Klasifikasi tentunya akan memberikan nilai hasil keluaran berupa klasifikasi. suatu klasifikasi dapat dibedakan menjadi dua berdasarkan jumlah kelas yang dimilikinya yaitu

binary classifier (hasilnya hanya ada 2 label)

multi classifier (hasilnya lebih dari 2 label)

Design a site like this with WordPress.com
Get started