0% menganggap dokumen ini bermanfaat (0 suara)
93 tayangan8 halaman

7 - Python Programming

Dokumen tersebut membahas tentang pembuatan program klasifikasi menggunakan perceptron dengan bahasa pemrograman Python. Secara garis besar dibahas tentang penggunaan notebook Jupyter untuk mengembangkan kode Python, import library yang dibutuhkan seperti NumPy, Pandas, dan Scikit-learn, inisialisasi kelas perceptron beserta definisi fungsi-fungsinya seperti fit, net input, dan prediksi, serta proses training dan evaluasi model perceptron.

Diunggah oleh

Temu Rose
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
93 tayangan8 halaman

7 - Python Programming

Dokumen tersebut membahas tentang pembuatan program klasifikasi menggunakan perceptron dengan bahasa pemrograman Python. Secara garis besar dibahas tentang penggunaan notebook Jupyter untuk mengembangkan kode Python, import library yang dibutuhkan seperti NumPy, Pandas, dan Scikit-learn, inisialisasi kelas perceptron beserta definisi fungsi-fungsinya seperti fit, net input, dan prediksi, serta proses training dan evaluasi model perceptron.

Diunggah oleh

Temu Rose
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 8

20/11/2019

PYTHON
PROGRAMMING
Perceptron

Mulai
• Mengkodekan program klasifikasi dengan menggunakan
python dapat menggunakan notebook Jupyter.
• Jupyter memfasilitasi kerja luar biasa dan bereksperimen
dengan kode Python di lingkungan yang sangat ramah
bagi penjelajah dan peneliti data (data science).
• Kita dapat menggunakan notebook Jupyter secara gratis,
misalnya di Google colab: colab.research.google.com.

Fajar Astuti Hermawati - Untag Surabaya 1


20/11/2019

Tampilan Google colab


• Pilih new python untuk memulai file baru

Tampilan Google colab


• Mulai tuliskan kode program di editor berikut

Fajar Astuti Hermawati - Untag Surabaya 2


20/11/2019

Import Library
• Pertama kita mengimpor beberapa pustaka Python
standar.
• Numpy akan membantu kita dengan aljabar linier dan
fungsionalitas array.
• Kerangka data panda akan sangat berguna saat kita
mengimpor dan menyiapkan data kita.
• Dan Matplotlib akan membantu kita melakukan beberapa
grafik keren.
• Akhirnya, sklearn membantu kita menormalkan data dan
menampilkan grafik yang berguna, seperti confusion
matrices

Import Library
• import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn import preprocessing
from sklearn.preprocessing import MinMaxScaler
from sklearn import metrics
from sklearn.metrics import confusion_matrix
import itertools

Fajar Astuti Hermawati - Untag Surabaya 3


20/11/2019

Inisialisasi
• Selanjutnya, kita membuat kelas Python yang mengatur
dan menginisialisasi jaringan kita.
• def __init__(self, alfa=0.1, n_iter=10, random_seed=1, t
hresh=0.2):
• self.alfa = alfa
• self.n_iter = n_iter
• self.random_seed = random_seed
• self.thresh=thresh;

Inisialisasi
• Pertama-tama memberi nama kelas kita (Perceptron),
dan mendefinisikan metode init-nya.
• Pada saat metode init dijalankan pertama kali kita
membuat instance kelas yang bertanggung jawab untuk
membuat struktur jaringan dan metode yang akan
mengendalikannya.
• Inisialisasi terdiri dari learning rate (alfa) dan jumlah
iterasi (n_iter)
• Kemudian kita membuat serangkaian variabel kelas yang
akan menampung data kunci jaringan.

Fajar Astuti Hermawati - Untag Surabaya 4


20/11/2019

Definisi Fungsi Fit


• Fungsi Fit digunakan untuk update bobot dari jaringan
dengan input data training X dan target y
def fit(self, X, y):
• Menentukan bobot awal
#generate random w
#rgen = np.random.RandomState(self.random_seed) # add this line
#self.w_ = rgen.normal(loc=0.0, scale=0.1, size=X.shape[1])
self.w_ = np.array([0.3, -0.1])
• Proses iterasi untuk mengupdate bobot
• Menghitung error
• Menghitung update (w)
• Tambahkan ke nilai w yang lama

Definisi Fungsi Fit


• for _ in range(self.n_iter):
• errors = 0

• for xi, target in zip(X, y):
• print('Iterasi : ',iterasi)
• print('iteration for data :',xi,target)
• errors = target - self.predict(xi)
• print('error :', errors)
• print(self.alfa)
• update = self.alfa * xi *errors
• print('update w :', update)
• self.w_ += update
• print('new w :', self.w_)
• if errors >= 0.0 :
• self.errors_.append(errors)
• iterasi=iterasi+1
• return self

Fajar Astuti Hermawati - Untag Surabaya 5


20/11/2019

Definisi fungsi input jaringan


• Fungsi ini digunakan untuk mendapatkan nilai dari fungsi
linier yang mewakili setiap simpul
• def net_input(self, X):
• return np.dot(X, self.w_) - self.thresh

Definisi Fungsi prediksi


• Fungsi ini digunakan untuk mendapatkan output dari
jaringan
• Fungsi ini memanggil fungsi input jaringan

• def predict(self, X):


• return np.where(self.net_input(X) >= 0.0, 1, 0)

Fajar Astuti Hermawati - Untag Surabaya 6


20/11/2019

Definisi input dan target


• X = np.array([[0, 0],
• [0, 1],
• [1, 0],
• [1, 1]])
• y = np.array([[0],
• [0],
• [0],
• [1]])
• T=np.array([[0,0],
• [1,1]])

Proses training
• ppn = Perceptron(alfa=0.1, n_iter=10, random_seed=1, th
resh=0.2)
• ppn.fit(X, y)

Fajar Astuti Hermawati - Untag Surabaya 7


20/11/2019

Proses prediksi
• print("prediksi untuk data :",T)
• ppn.predict(T)

Menampilkan error
• plt.plot(range(1, len(ppn.errors_) + 1), ppn.errors_, marker
='o')
• plt.xlabel('Epochs')
• plt.ylabel('Errors')

Fajar Astuti Hermawati - Untag Surabaya 8

Anda mungkin juga menyukai