Adriansyah Pramana - D - Kecerdasan Buatan - Modul 8
Adriansyah Pramana - D - Kecerdasan Buatan - Modul 8
KECERDASAN BUATAN
MODUL 8
MACHINE LEARNING : KLASIFIKASI GAMBAR
DENGAN CONVOLUTIONAL
DISUSUN OLEH :
Adriansyah Pramana 3411211132
I.1.B. Screenshot............................................................................................................3
I.1.C. Analisis.................................................................................................................3
I.2.B. Screenshot............................................................................................................4
I.2.C. Analisis.................................................................................................................4
I.3.B. Screenshot............................................................................................................5
I.3.C. Analisis.................................................................................................................5
I.4.B. Analisis.................................................................................................................5
I.5.B. Screenshot............................................................................................................7
I.5.C. Analisis.................................................................................................................7
I.6 Image...........................................................................................................................8
I.6.B. Analisis.................................................................................................................8
I.8.B. Analisis.................................................................................................................9
I.9.B. Analisis...............................................................................................................10
I.10.B. Screenshot.......................................................................................................11
I.10.C. Analisis...........................................................................................................11
I.11.B. Screenshot.......................................................................................................13
I.11.C. Analisis...........................................................................................................13
2
BAB I. HASIL PRAKTIKUM
I.1.B. Screenshot
I.1.C. Analisis
Instalasi Kaggle menggunakan perintah !pip install kaggle berfungsi untuk menginstal
paket Kaggle pada lingkungan Python.
3
I.2.B. Screenshot
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/.
4
I.3.B. Screenshot
I.3.C. Analisis
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.
5
glaucoma = pathlib.Path("dataset/glaucoma")
retinopathy = pathlib.Path("dataset/diabetic_retinopathy")
cataract = pathlib.Path("dataset/cataract")
"glaucoma": list(glaucoma.glob("*.jpg")),
"diabetic_retinopathy":
list(retinopathy.glob("*.jpg")),
"cataract": list(cataract.glob("*.jpg"))}
labels_dict = {
PIL.Image.open(str(images_dict["normal"][200]))
6
I.5.B. Screenshot
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 = [], []
image = cv2.imread(str(image))
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.
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().
8
x_train = x_train.astype("float32")
x_test = x_test.astype("float32")
import tensorflow as tf
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.MaxPooling2D(),
layers.MaxPooling2D(),
layers.MaxPooling2D(),
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"])
pred = model.predict(x_test[:10])
predslist = []
for i in pred:
predslist.append(np.argmax(i))
I.10.B. Screenshot
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.show()
12
I.11.B. Screenshot
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