Anda di halaman 1dari 16

LAPORAN PRAKTIKUM

KECERDASAN BUATAN

MODUL 8
MACHINE LEARNING : KLASIFIKASI GAMBAR
DENGAN CONVOLUTIONAL

DISUSUN OLEH :
Adriansyah Pramana 3411211132

PROGRAM STUDI INFORMATIKA


FAKULTAS SAINS DAN INFORMATIKA
UNIVERSITAS JENDERAL ACHMAD YANI
TAHUN 2023
DAFTAR ISI

BAB I. HASIL PRAKTIKUM.............................................................................................3

I.1 Menginstal package kaggle.........................................................................................3

I.1.A. Langkah Kerja/Source Code................................................................................3

I.1.B. Screenshot............................................................................................................3

I.1.C. Analisis.................................................................................................................3

I.2 Perintah direktori.........................................................................................................3

I.2.A. Langkah Kerja/Source Code................................................................................3

I.2.B. Screenshot............................................................................................................4

I.2.C. Analisis.................................................................................................................4

I.3 Mengekstrak file..........................................................................................................4

I.3.A. Langkah Kerja/Source Code................................................................................4

I.3.B. Screenshot............................................................................................................5

I.3.C. Analisis.................................................................................................................5

I.4 Import library...............................................................................................................5

I.4.A. Langkah Kerja/Source Code................................................................................5

I.4.B. Analisis.................................................................................................................5

I.5 Pra-pemrosesan data....................................................................................................5

I.5.A. Langkah Kerja/Source Code................................................................................5

I.5.B. Screenshot............................................................................................................7

I.5.C. Analisis.................................................................................................................7

I.6 Image...........................................................................................................................8

I.6.A. Langkah Kerja/Source Code................................................................................8

I.6.B. Analisis.................................................................................................................8

I.7 Melatih data gambar....................................................................................................8

I.7.A. Langkah Kerja/Source Code................................................................................8


1
I.7.B. Analisis.................................................................................................................8

I.8 Pemrosesan data..........................................................................................................8

I.8.A. Langkah Kerja/Source Code................................................................................8

I.8.B. Analisis.................................................................................................................9

I.9 Model neural network................................................................................................10

I.9.A. Langkah Kerja/Source Code..............................................................................10

I.9.B. Analisis...............................................................................................................10

I.10 Proses kompilasi........................................................................................................11

I.10.A. Langkah Kerja/Source Code...........................................................................11

I.10.B. Screenshot.......................................................................................................11

I.10.C. Analisis...........................................................................................................11

I.11 Model neural network................................................................................................12

I.11.A. Langkah Kerja/Source Code...........................................................................12

I.11.B. Screenshot.......................................................................................................13

I.11.C. Analisis...........................................................................................................13

BAB II. KESIMPULAN......................................................................................................15

2
BAB I. HASIL PRAKTIKUM

I.1 Menginstal package kaggle


I.1.A. Langkah Kerja/Source Code
!pip install kaggle

I.1.B. Screenshot

Gambar 1 instal package

I.1.C. Analisis
Instalasi Kaggle menggunakan perintah !pip install kaggle berfungsi untuk menginstal
paket Kaggle pada lingkungan Python.

I.2 Perintah direktori


I.2.A. Langkah Kerja/Source Code
!mkdir -p ~/.kaggle/

!cp kaggle.json ~/.kaggle/

! chmod 600 ~/.kaggle/kaggle.json

! kaggle datasets download gunavenkatdoddi/eye-diseases-


classification

3
I.2.B. Screenshot

Gambar 2 perintah direktori

I.2.C. Analisis
!mkdir -p ~/.kaggle/: Perintah ini membuat direktori ~/.kaggle/ jika belum ada.
Direktori ini digunakan untuk menyimpan file kaggle.json yang berisi kredensial API Kaggle.
!cp kaggle.json ~/.kaggle/: Perintah ini menyalin file kaggle.json ke direktori ~/.kaggle/.

I.3 Mengekstrak file


I.3.A. Langkah Kerja/Source Code
! unzip eye-diseases-classification

4
I.3.B. Screenshot

Gambar 3 ekstrak file

I.3.C. Analisis

Perintah !unzip eye-diseases-classification pada program di atas digunakan untuk


mengekstrak file zip dengan nama "eye-diseases-classification".

I.4 Import library


I.4.A. Langkah Kerja/Source Code
import matplotlib.pyplot as plt

from sklearn.model_selection import train_test_split

import cv2, PIL, glob, pathlib

import numpy as np

I.4.B. Analisis
import matplotlib.pyplot as plt: Library matplotlib.pyplot diimpor dengan alias plt.
Library ini digunakan untuk membuat visualisasi grafik dan plot data.

I.5 Pra-pemrosesan data


I.5.A. Langkah Kerja/Source Code
normal = pathlib.Path("dataset/normal")

5
glaucoma = pathlib.Path("dataset/glaucoma")

retinopathy = pathlib.Path("dataset/diabetic_retinopathy")

cataract = pathlib.Path("dataset/cataract")

images_dict = {"normal": list(normal.glob("*.jpg")),

"glaucoma": list(glaucoma.glob("*.jpg")),

"diabetic_retinopathy":
list(retinopathy.glob("*.jpg")),

"cataract": list(cataract.glob("*.jpg"))}

labels_dict = {

"normal":0, "glaucoma":1, "diabetic_retinopathy":2,


"cataract":3

PIL.Image.open(str(images_dict["normal"][200]))

6
I.5.B. Screenshot

Gambar 4 pra-pemrosesan data

I.5.C. Analisis
Program ini melakukan impor library dan mendefinisikan variabel serta objek yang
akan digunakan untuk pemrosesan lebih lanjut pada gambar.

7
I.6 Image
I.6.A. Langkah Kerja/Source Code
x, y = [], []

for label, images in images_dict.items():

for image in images:

image = cv2.imread(str(image))

image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

image = cv2.resize(image, (180, 180))

if image is not None:

x.append(image)

y.append(labels_dict[label])

I.6.B. Analisis
program membaca, mengubah format, dan mengubah ukuran gambar, kemudian
menambahkannya ke dalam list x dan labelnya ke dalam list y.

I.7 Melatih data gambar


I.7.A. Langkah Kerja/Source Code
x = np.array(x)

y = np.array(y)

I.7.B. Analisis
Pada bagian kode di atas, list x dan y yang berisi data gambar dan label, diubah menjadi
array NumPy menggunakan fungsi np.array().

I.8 Pemrosesan data


I.8.A. Langkah Kerja/Source Code
x = x/255.0

x_train, x_test, y_train, y_test = train_test_split(x, y,


test_size=0.2)

8
x_train = x_train.astype("float32")

x_test = x_test.astype("float32")

import tensorflow as tf

from tensorflow import keras

from keras import models, layers

data_augmentation = keras.Sequential([

keras.layers.experimental.preprocessing.RandomRotation(0.2
),

keras.layers.experimental.preprocessing.RandomContrast(0.3
),

keras.layers.experimental.preprocessing.RandomZoom(0.3),

keras.layers.experimental.preprocessing.RandomZoom(0.7)

])

I.8.B. Analisis
x = x/255.0: Kode ini mengubah nilai piksel dalam array x yang mewakili gambar
menjadi rentang antara 0 dan 1. x_train, x_test, y_train, y_test = train_test_split(x, y,
test_size=0.2):

9
I.9 Model neural network
I.9.A. Langkah Kerja/Source Code
model = keras.Sequential([

data_augmentation,

layers.Conv2D(64, (5, 5), padding="same",


input_shape=(180, 180, 3), activation="relu"),

layers.MaxPooling2D(),

layers.Conv2D(32, (5, 5), padding="same",


activation="relu"),

layers.MaxPooling2D(),

layers.Conv2D(16, (5, 5), padding="same",


activation="relu"),

layers.MaxPooling2D(),

layers.Conv2D(8, (5, 5), padding="same",


activation="relu"),

layers.MaxPooling2D(),

layers.Dropout(0.2),

layers.Flatten(),

layers.Dense(50, activation="sigmoid"),

layers.Dense(4, activation="softmax"),

])

I.9.B. Analisis

Pada bagian kode di atas, sebuah model neural network dibangun menggunakan library Keras
dari TensorFlow. model = keras.Sequential([...]): Kode ini membuat objek model neural
network dengan menggunakan keras.Sequential.

10
I.10 Proses kompilasi
I.10.A. Langkah Kerja/Source Code
model.compile(optimizer="adam",
loss="sparse_categorical_crossentryopy", metrics=["accuracy"])

model.fit(x_train, y_train, epochs=150)

pred = model.predict(x_test[:10])

predslist = []

for i in pred:

predslist.append(np.argmax(i))

I.10.B. Screenshot

Gambar 5 proses kompilasi

I.10.C. Analisis
Pada bagian kode di atas, dilakukan proses kompilasi, pelatihan, dan prediksi menggunakan
model yang telah dibuat.

11
I.11 Model neural network
I.11.A. Langkah Kerja/Source Code
answers = ["normal", "glaucoma", "diabetic retinopathy",
"cataract"]

for i in range(10):

plt.imshow(x_test[i])

plt.title("Predicted: " + str(answers[predslist[i]]))

plt.xlabel("Actual: " + str(answers[y_test[i]]))

plt.show()

12
I.11.B. Screenshot

Gambar 6 Model neural network

I.11.C. Analisis
Pada bagian kode di atas, terdapat loop yang melakukan visualisasi hasil prediksi dari model.
answers = ["normal", "glaucoma", "diabetic retinopathy", "cataract"] yaitu Sebuah daftar
answers dibuat yang berisi label kelas yang sesuai dengan angka-angka prediksi. Loop for i in
13
range(10), Loop ini digunakan untuk melakukan visualisasi hasil prediksi untuk 10 sampel
data uji.

14
BAB II. KESIMPULAN

Kesimpulan yang bisa saya dapatkan adalah saya bisa melakukan prediksi dari model,
saya dapat memnbuat dan mengatur izin akses untuk file kaggle.json yang berisi kredensial
API, dapat mengekstrak file dataset yang telah diunduh, mengimpor library yang dibutuhkan,
dapat membuat objek dan variable yang akan digunakan untuk memproses gambar, dapat
mengubah list x dan y menjadi array numpy, dapat membangun model neural network
dengan lapisan yang sesuai.

15

Anda mungkin juga menyukai