# memasukkan library tensorflow untuk membuat model ML/DL
import tensorflow as t # memasukkan library numpy untuk membuat array multi dimensi import numpy as np #memproses data library tensorflow secara sequential (berurutan) from tensorflow.keras.models import Sequential # memproses data hingga menjadi data satu dimensi from tensorflow.keras.layers import Flatten #menambahkan layer pada neuron network from tensorflow.keras.layers import Dense # fungsi untuk mengaktufkan neuron network from tensorflow.keras.layers import Activation # memasukan library matplotlib untuk memvisualisasikan data import matplotlib.pyplot as pt
# fig adalah grafik, ax adalah axis.
# menggambar subplot 5x5 # ukuran gambar 12*12 fig, ax = pt.subplots(5, 5, figsize=(12, 12)) # memasukan nilai variabel k sama dengan 0 k = 0 # i mewakili jumlah nilai dalam rentang daftar (5) for i in range(5): # j mewakili jumlah nilai dalam rentang daftar (5) for j in range(5): # memberikan data kedalam axis ax[i] [j].imshow(x_train[k].reshape(28, 28), aspect='auto') k = k + 1 pt.show()
# show feedforward artificial neural network that generates a set of
outpu ts from a set of inputs with sequential method model_MLP = Sequential([ # reshape 28 row * 28 column data to 28*28 rows # sigmoid function in machine learning which is used to add nonlinearity Flatten(input_shape=(28, 28)), # hidden layer 1 # memasukan nilai pada layer Dense(700, activation='sigmoid'), # hidden layer 2 Dense(100, activation='sigmoid'), # output layer Dense(10, activation='sigmoid'), ]) # optimizer adalah untuk menjadwal peng-inpuan oleh user, pengaksesan basis data, proses komputasi, dan pengeluaran ou tput untuk meningkatkan kegunaan. # loss adalah fungsi yang mengukur seberapa bagus performa yang dihasilkan oleh model dalam melakukan prediksi terhadap target # metrics adalah pengukur kualitas akurasi macjine learning model_MLP.compile(optimizer='adam', loss='sparse_categorical_crossentropy' , metrics=['accuracy'])
# epoch adalah hyperparameter yang menentukan berapa kali algoritma
deep l earning bekerja melewati seluruh dataset baik secara forward maupun backwa rd. # batch_size adalah umlah training sampel yang digunakan dalam satu batch untuk sekali iterasi # validation_split adalah alogaritma yang digunakan untuk melakukan valida si dari pelatihan history = model_MLP.fit(x_train, y_train, epochs=10, batch_size=2000, vali dation_split=0.2)
# merubah ukuran figur menjadi 16*10
pt.figure(figsize=(16,10)) # the figure has 2 row, 2 columns, and this plot is the first plot. pt.subplot(2,2,1) #summarize history for accuracy #make a limit pt.plot(history.history['accuracy']) pt.plot(history.history['val_accuracy']) pt.ylim(0, 1) pt.title('model accuracy') pt.ylabel('accuracy') pt.xlabel('epoch') pt.legend(['train', 'valid'], loc='lower right') # the figure has 2 row, 2 columns, and this plot is the second plot. pt.subplot(2,2,2) #summarize history for loss # make a limit pt.plot(history.history['loss']) pt.plot(history.history['val_loss']) pt.title('model loss') pt.ylabel('loss') pt.xlabel('epoch') pt.legend(['train', 'valid'], loc='upper right') pt.ylim([0,2])
# Confusion Matrix adalah pengukuran performa untuk masalah klasifikasi
ma chine learning dimana keluaran dapat berupa dua kelas atau lebih #mengklasifikasi data dari data metrics from sklearn.metrics import confusion_matrix, classification_report #memasukkan testing data ke variabel y_predict y_pred = model_MLP.predict(x_test) # argmax mencari label terbesar 0.2[0]; 0.3[1]; 0.5[2]; 0.33[3] = 2 y_pred = np.argmax(y_pred, axis=1) # memunculkan kata "===========================Confusion Matrix=========== =================" print("===========================Confusion Matrix======================== ====") #menampilkan hasil confusin matrix print(confusion_matrix(y_test,y_pred))
#memunculkan kata "==============Classification Report============="
12*12 fig, ax = pt.subplots(5, 5, figsize=(12, 12)) # memasukan nilai variabel k sama dengan 0 k = 0 # i mewakili jumlah nilai dalam rentang daftar (5) for i in range(5): # i mewakili jumlah nilai dalam rentang daftar (5 for j in range(5): # memasukan hasil prediksi # coordinat (0,10) #warna merah ax[i][j].text(0, 10, y_pred[k], fontsize=40, color='red') # memberikan data kedalam axis ax[i] [j].imshow(x_test[k].reshape(28, 28), aspect='auto') # memasukan nilai variabel k sama dengan k ditambah 1 k = k + 1 #menampilkan objek visual pt.show()
Kode Program Ini Adalah Sebuah Fungsi Python Yang Disusun Untuk Memeriksa Apakah Simbol Saham Yang Dimasukkan Oleh Pengguna Terdapat Dalam File CSV Yang Disediakan