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)

Leave a comment

Design a site like this with WordPress.com
Get started