Mesin

PEMBELAJARAN MESIN

Pada kesempatan kali ini Penulis akan melakukan eksplorasi data set menggunakan Tools Google Collab, yaitu:
a. Bagaimana cara membuat evaluasi algoritma dengan menggunakan model algoritma DecisionTreeClassifier, RandomClassifier, dan LogisticRegression pada dataset Iris?
b. Bagaimana cara membuat evaluasi algoritma dengan menggunakan model algoritma K-Nearest Neighbors (KNN), Gaussian Naive Bayes (NB) dan Support Vector Machines (SVM) pada dataset Ecoli?

PEMBAHASAN

a. Dataset Iris.
1. Import Library yang dibutuhkan dan muat Datasetnya.
import pandas
import sklearn
import matplotlib
import numpy
import scipy
import keras
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.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.linear_model import LogisticRegression

url = "http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data" names = ['sepal-length', 'sepal-width', 'petal-length','petal-width', 'class']

dataset = pandas.read_csv(url, names=names)
Sebelum melakukan evaluasi algoritma dalam dataset Iris yaitu dengan melakukan import semua library yang dibutuhkan dan muat terlebih dahulu datasetnya untuk proses evaluasi algoritma.
2. Membuat Validasi Dataset.
Langkah selanjutnya yaitu melakukan validasi yang mana digunakan untuk mengetahui model yang telah dibuat baik, dengan menggunakan metode statistik untuk memperkirakan keakuratan model yang telah dibuat. Dataset yang telah dimuat akan dibagi menjadi 2, 80% diantaranya digunakan untuk melatih model dan 20% digunakan untuk data validasi.
array = dataset.values
X = array[:,0:4]
Y = array[:,4]
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)
Jika perintah diatas dieksekusi, maka terdapat dua data yaitu X_train dan Y_train untuk mempersiapkan model dan rangkaian X_validation dan Y_validation yang dapat digunakan selanjutnya.
3. K-Folds Cross Validation.
K-Fold Cross Validation adalah salah satu dari jenis pengujian cross validation yang berfungsi untuk menilai kinerja proses sebuah metode algoritma dengan membagi sampel data secara acak dan mengelompokkan data tersebut sebanyak nilai k-fold. Kemudian salah satu kelompok k-fold tersebut akan dijadikan sebagai data uji sedangkan sisa kelompok yang lain akan dijadikan sebagai data latih.
# Test options and evaluation metric
seed = 7
scoring = 'accuracy'
Dengan menggunakan validasi silang 10 kali lipat untuk memperkirakan akurasi. Maka dataset dibagi menjadi 10 bagian, dimana 9 untuk latihan dan 1 untuk pengujian dan diulangi untuk semua kombinasi.
4. Membangun Model.
# Spot Check Algorithms
models = []
models.append(('decision_tree', DecisionTreeClassifier()))
models.append(('random_forest', RandomForestClassifier()))
models.append(('logit', LogisticRegression()))
Untuk mengetahui algoritma yang cocok dengan studi kasus ini maka perlu adanya evaluasi menggunakan beberapa algoritma, dengan menggunakan model algoritma DecisionTreeClassifier, RandomClassifier, dan LogisticRegression.
5. Memilih Model Terbaik
Jika sudah memiliki hasil evaluasi dari ketiga model diatas selanjutnya, yaitu memilih model terbaik dari perbandingan satu sama lainnya dan dipilih yang paling akurat.
# evaluate each model in turn
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)
Dari hasil output di atas, dengan menggunakan model logisticRegression memiliki nilai akurasi terbesar. Setelah itu melakukan pengujian tentang keakuratan model LogisticRegression terhadap data yang ada.
# Make predictions on validation dataset
 logit = LogisticRegression()
 logit.fit(X_train, Y_train)
 predictions = logit.predict(X_validation)
 print(accuracy_score(Y_validation, predictions))
 print(confusion_matrix(Y_validation, predictions))
 print(classification_report(Y_validation, predictions))
b. Dataset Ecoli
1. Import Library yang dibutuhkan dan muat Datasetnya.
import pandas
import sklearn
import matplotlib
import numpy
import scipy
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 google.colab import drive

drive.mount('/content/drive')


names = ['Sequence_Name', 'mcg', 'gvh', 'lip', 'chg', 'aac', 'alm1', 'alm2','class']
dataset = pandas.read_csv(url, names=names)
Sebelum melakukan evaluasi algoritma dalam dataset Iris yaitu dengan melakukan import semua library yang dibutuhkan dan muat terlebih dahulu datasetnya untuk proses evaluasi algoritma.
2. Membuat Validasi Dataset.
Langkah selanjutnya yaitu melakukan validasi yang mana digunakan untuk mengetahui model yang telah dibuat baik, dengan menggunakan metode statistik untuk memperkirakan keakuratan model yang telah dibuat. Dataset yang telah dimuat akan dibagi menjadi 2, 80% diantaranya digunakan untuk melatih model dan 20% digunakan untuk data validasi.
array = dataset.values
X = array[:,0:4]
Y = array[:,4]
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)
Jika perintah diatas dieksekusi, maka terdapat dua data yaitu X_train dan Y_train untuk mempersiapkan model dan rangkaian X_validation dan Y_validation yang dapat digunakan selanjutnya.
3. K-Folds Cross Validation.
K-Fold Cross Validation adalah salah satu dari jenis pengujian cross validation yang berfungsi untuk menilai kinerja proses sebuah metode algoritma dengan membagi sampel data secara acak dan mengelompokkan data tersebut sebanyak nilai k-fold. Kemudian salah satu kelompok k-fold tersebut akan dijadikan sebagai data uji sedangkan sisa kelompok yang lain akan dijadikan sebagai data latih.
# Test options and evaluation metric
seed = 7
scoring = 'accuracy'
Dengan menggunakan validasi silang 10 kali lipat untuk memperkirakan akurasi. Maka dataset dibagi menjadi 10 bagian, dimana 9 untuk latihan dan 1 untuk pengujian dan diulangi untuk semua kombinasi.
4. Membangun Model.
# Spot Check Algorithms
models = []
models.append(('KNN', KNeighborsClassifier()))
models.append(('NB', GaussianNB()))
models.append(('SVM', SVC()))
Untuk mengetahui algoritma yang cocok dengan studi kasus ini maka perlu adanya evaluasi menggunakan beberapa algoritma, dengan menggunakan model algoritma K-Nearest Neighbors (KNN), Gaussian Naive Bayes (NB) dan Support Vector Machines (SVM).
5. Memilih Model Terbaik.
Jika sudah memiliki hasil evaluasi dari ketiga model diatas selanjutnya, yaitu memilih model terbaik dari perbandingan satu sama lainnya dan dipilih yang paling akurat.
# evaluate each model in turn
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))
Saya adalah manusia

Belum ada Komentar untuk "Mesin"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel