Rabu, 06 Januari 2021

PYTHON MACHINE LEARNING : K-Nearest Neighboor (K-NN)

 

PYTHON MACHINE LEARNING : K-Nearest Neighboor (K-NN)

Pertemuan Ke-12,13,14

Metode pembelajaran dalam mechine learning: 

Supervised learning

Algoritmanya : decision tree, regresi linear, k-nearest neighbor, Bayesian , neural network, dll. 

Insupervised learning

Semi supervised learning

Reinforcement learning

Apa itu K-NN? Adalah salah satu algoritma untuk klasifikasi data suatu obyek berdasarkan sejumlah K-data training yang memiliki jarak paling dekat (nearest neighbor)dengan objek tersebut(wahyono, 2018”Phyton for machine Learning”). Untuk menentukan jauh dekatnya tetangga, biasanya di hitung berdasarkan jarak Euclidean(d) denhgan rumus sbb: 

d= 2+(y2-y1)2

contoh kasus :

prediksi apakah seseorang bisa lulus S2tepat waktu berdasarkan variabel IPK S1 dan usia masuk kuliah S2. 

Data training yang digunakan: sejumlah data mahasiswa yang lulus tepat waktu dan yang tidak tepat waktu berdasarkan IPK S1 dan usia.

Pertama misalnya :

K=3 ( diperoleh 2 tetangga tepat waktu dan 1 tetangga yang tidak tepat waktu )sehingga, hasil prediksi Bejo lulus tepat waktu karena tetangga yang lulus tepat waktu lebih banyak daripada yang tidak.

Langkah –langkah algoritma K-NN:

Menentukan parameter K, bilangan bilat positif sebagai nearest neighbors(banyaknya tetangga terdekat)

Hitung jarak antara data baru dan semua data yang ada didata training

Menentukan K tetangga berdasarkan jarak minimum 

Tetangga yang memiliki frekuensi terbanyak diambil sebagai nilai prediksi atau hasil klasifikasi dari data baru tersebut. 

Latihan python

Klasifikasi bunga IRIS(bunga Pelangi)

Terdapat 3 jenis bunga iris yang agak susah dikenali yaitu setosa, versicolor, dan virginica. Untuk itu akan dibuat sebuah program dengan K-NN untuk memprediksi sebuah bunga iris, masuk kelompok yang mana. 

Data traini 

Data training adalah sejumlah data yang menunjukkan jenis bunga berdasarkan ukuran petal dan sepal dari bunga tersebut. 

Contoh melakukan prediksi :

#data yang akan di prediksi

Data = [[6.2, 1.5, 4.2, 2.6]]

#data yang akan di prediksi berdasarkan 

Y_pred= knn.predict(Data)

#mencetak hasil prediksi 

#hasil 0 adalah setosa

#hasil 1 adalah versicolor

#hasil 2 adalah virginica

Print(“Hasil Prediksi : JenisBunga” , Y_pred)

Hasil prediksi: jenis bunga [2]

Mengenal Boolean Value,Jenis-Jenis Operator Dan Kondisional

 

MENGENAL BOOLEAN VALUE, JENIS-JENIS OPERATOR DAN KONDISIONAL

Pertemuan ke-8,9,10,11  

1. 1. Operator identitas

Operator ini berbeda dengan operator lainnya, yang memaastikan ada atau tidaknya suatu anggota dalam daftar atau nilai tertentu dalam sebuah variabel. Operator identitas lebih digunakan untuk membandingkan dan memastikan apakah variabel x menunjuk lokasi memori yang sama dengan variabel y. lebih kea rah mencocokkan isi antar variabel. Jumlah anggota sama dengan operator keanggotaannya, yang hanya berisi 2. Apabila operator keanggotaan ana in dan not in. maka operator identitas ada is dan not is.

Is : Bernilai True jika kedua operand merujuk ke object yang sama dan berisi nilai yang sama

is not : Bernilai True jika kedua operand merujuk ke object yang tidak sama

contoh: 

a = 5

b = 5

c = 6

print('a is b :', a is b)

print('a is c :', a is c)

print('a is not c :', a is not c)

print('\n')

i = 'budi is ani'

j = 'ani is toni'

print('i is j :', i is j)

print('i is not j :', i is not j)

print('\n');

x = ['a','b','c']

y = ['a','b','c']

print('x is y :', x is y)

print('x is not y :', x is not y)

Hasil kode program:

a is b : True

a is c : False

a is not c : True

i is j : True

i is not j : False

x is y : False

x is not y : True


2. 2. Operator logika

Digunakan untuk operasi logika dan terdiri dari 3 jenis AND, OR dan NOT. AND menyatakan “dan” bernilai benar jika operan sebelah kanan dan kiri bernilai true. OR menyatakan “atau” bernilai benar jika minimal salah satu operan sebelah kanan dan kiri atau juga keduanya bernilai true. NOT menyatakan “tidak”, bernilai benar jika operasi bernilai false.

Contoh:

print(True and True)

print(1 + 2 == 3 and True)

print('----')

print(False or 1 > 5)

print(False or 5 > 2)

print('----')

print(not(1 > 5))

print(not(1 < 5))

hasilnya:

True

True

----

False

True

----

True

False


3. 3. Operator penugasan

Adalah operator yang digunakan untuk menyimpan nilai ke dalam variabel. Symbol dari operator ini pada dasarnya diwakili dengan tanda “=” . selain itu symbol operator ini bisa di kombinasikan dengan operator jenis lain, seperrti aritmatika dan bitwise. Ketika operator gabungan inidigunakan maka fungsinya tidak hanya akan menyimpan nilai tapi juga akan memanipulasi nilainya sesuai dengan operator gabungannya.

Contoh :

a = 5

b = 3

b = b + 1

c = a + b

d = c + c + a

e = (c + d)* a

print('Isi variabel a:',a)

print('Isi variabel b:',b)

print('Isi variabel c:',c)

print('Isi variabel d:',d)

print('Isi variabel e:',e)

hasilnya :

Isi variabel a: 5

Isi variabel b: 4

Isi variabel c: 9

Isi variabel d: 23

Isi variabel e: 160


4. Operator keanggotaan

Operator ini diperuntukkan untuk mencari keanggotaan dalam suatu tipe data urutan seperti string, list, dan tuple. Tak mengherankan jika operator ini ini sering diterapkan dalam perulangan. Karena hanya memastikan suatu nilai ada dan tidak ada di dalam daftar, maka operator ini hanya berisi 2 anggota saja.

Contoh 2:


#Operator in dan not in dalam String

sampel = 'kopidingin'

print('Sampel = kopidingin')

print('[kopi] in kopidingin :', 'kopi' in sampel)

print('[susu] in kopidingin :', 'susu' in sampel)

print('[panas] not in kopidingin :', 'panas' not in sampel)

print('[dingin] not in kopidingin :', 'dingin' not in sampel, "\n")


#Operator in dan not in dalam List beranggotakan string

asean = ['Indonesia', 'Malaysia', 'Singapura', 'Thailand', 'Filipina']

print('Anggota ASEAN = [Indonesia, Malaysia, Singapura, Thailand, Filipina]')

print('[Indonesia] in anggota ASEAN :', 'Indonesia' in asean)

print('[Australia] in anggota ASEAN :', 'Australia' in asean)

print('[Amerika] not in anggota ASEAN :', 'Amerika' not in asean)

print('[Singapura] not in anggota ASEAN :', 'Singapura' not in asean, "\n")


#Operator in dan not in dalam List beranggotakan bilangan

prima = [2, 3, 5, 7, 11, 13, 17, 19]

print('Bilangan prima = [2, 3, 5, 7, 11, 13, 17, 19]')

print('[5] in bilangan prima :', 5 in prima)

print('[9] in bilangan prima :', 9 in prima)

print('[15] not in bilangan prima :', 15 not in prima)

print('[17] not in bilangan prima :', 17 not in prima, "\n")


#Operator in dan not in dalam Tuple beranggotakan string

veto = ('Amerika', 'Rusia', 'RRC', 'Inggris', 'Perancis')

print('Pemilik = (Amerika, Rusia, RRC, Thailand, Filipina)')

print('[Amerika] in pemilik hak veto :', 'Amerika' in veto)

print('[Jepang] in pemilik hak veto :', 'Jepang' in veto)

print('[Indonesia] not in pemilik hak veto :', 'Indonesia' not in veto)

print('[Rusia] not in pemilik hak veto :', 'Rusia' not in veto, "\n")

 

#Operator in dan not in dalam Tuple beranggotakan bilangan

ganjil = (1, 3, 5, 7, 9, 11, 13, 15, 17, 19)

print('Bilangan ganjil = (1, 3, 5, 7, 9, 11, 13, 15, 17, 19)')

print('[5] in bilangan ganjil :', 5 in ganjil)

print('[10] in bilangan ganjil :', 10 in ganjil)

print('[18] not in bilangan ganjil :', 18 not in ganjil)

print('[7] not in bilangan ganjil :', 7 not in ganjil)

contoh 2:

ampel = kopidingin

[kopi] in kopidingin : True

[susu] in kopidingin : False

[panas] not in kopidingin : True

[dingin] not in kopidingin : False


Anggota ASEAN = [Indonesia, Malaysia, Singapura, Thailand, Filipina]

[Indonesia] in anggota ASEAN : True

[Australia] in anggota ASEAN : False

[Amerika] not in anggota ASEAN : True

[Singapura] not in anggota ASEAN : False


Bilangan prima = [2, 3, 5, 7, 11, 13, 17, 19]

[5] in bilangan prima : True

[9] in bilangan prima : False

[15] not in bilangan prima : True

[17] not in bilangan prima : False


Pemilik = (Amerika, Rusia, RRC, Thailand, Filipina)

[Amerika] in pemilik hak veto : True

[Jepang] in pemilik hak veto : False

[Indonesia] not in pemilik hak veto : True

[Rusia] not in pemilik hak veto : False


Bilangan ganjil = (1, 3, 5, 7, 9, 11, 13, 15, 17, 19)

[5] in bilangan ganjil : True

[10] in bilangan ganjil : False

[18] not in bilangan ganjil : True

[7] not in bilangan ganjil : False

Mengenal Boolean Value

  Mengenal boolean value

Pertemuan ke-4,5,6,7 

Tipe Data Boolean adalah tipe data yang memiliki salah satu dari dua nilai yang mungkin (biasanya dilambangkan benar dan palsu ) yang dimaksudkan untuk mewakili dua nilai kebenaran dari logika dan aljabar boolean . Ini dinamai George Boole , yang pertama kali mendefinisikan sistem logika aljabar pada pertengahan abad ke-19. Tipe data Boolean terutama dikaitkan dengan pernyataan bersyarat, yang memungkinkan tindakan berbeda dengan mengubah aliran kontrol bergantung pada apakah kondisi Boolean yang ditentukan programmermengevaluasi benar atau salah. Ini adalah kasus khusus dari tipe data logis yang lebih umum (lihat logika probabilistik ) - logika tidak selalu harus Boolean.

§  Jenis-jenis operator

Dalam pemrograman python operator banyak jenisnya.tercatat ada 7 yaitu

1.   1.      Operator aritmatika
2.      Operator perbandingan atau reaksi
3.      Operator penugasan
4.      Operator logika
5.      Operator Bitwise
6.      Operator keanggotaan
7.      Operator identifikasi 

Operator Aritmatika

Fungsi operator aritmatika mencakup penjumlahan, pengurangan, pembagian, perkalian, dan lain-lain. Beberapa simbol dari operator aritmatika sudah kita kenal semenjak bangku TK, seperti penjumlahan kita tahu itu disimbolkan dengan tanda plus (+), pengurangan minus (-), perkalian (x, namun karena di python x merupakan huruf maka diganti *), dan sebagainya.

Operator

Penjelasan

Penerapan

+

Digunakan untuk operasi penjumlahan

7 + 2 = 9

Digunakan untuk operasi pengurangan

7 – 2 = 5

*

Digunakan untuk operasi perkalian

7 * 2 = 14

/

Digunakan untuk operasi pembagian dengan hasilnya berupa bilangan ril

7 / 2 = 3.5

//

Digunakan untuk operasi pembagian dengan hasilnya dibulatkan ke bawah

7 // 2 = 3

%

Digunakan untuk operasi sisa hasil pembagian

7 % 2 = 1

**

Digunakan untuk operasi pemangkatan

7 ** 2 = 49


 Operator Perbandingan

Digunakan untuk membandingkan nilai di sebelah kiri dan kanan. Kemudian akan ditetapkan hubungan antara keduanya. Maka dari itu operator ini juga disebut operator relasi. Hasil dari operator perbandingan adalah nilai tipe data boolean (True dan False).

 

Operator Penugasan

Merupakan operator yang digunakan atau ditugaskan untuk menyimpan nilai ke dalam variabel. Simbol dari operator jenis ini pada dasarnya diwakili dengan tanda =. Sering diterapkan saat kita membuat variabel.

Selain itu simbol = pada operator ini juga bisa dikombinasikan dengan operator jenis lain seperti operator aritmatika dan bitwise, hal ini disebut operator penugasan gabungan. Ketika operator gabungan ini digunakan, maka fungsinya tidak hanya akan menyimpan nilai tapi juga akan memanipulasi nilainya sesuai dengan jenis operator gabungannya.

Operator Logika

Operator ini digunakan untuk operasi logika dan terdiri dari 3 jenis AND, OR, dan NOT.

Operator Bitwise

Untuk menggunakan operator bitwise minimal kalian perlu tahu pemahaman tentang apa itu bilangan biner. Karena operator ini diperuntukkan untuk hal tersebut. Nah sekarang apa itu bilangan biner? Bilangan biner merupakan bilangan yang tersusun atas dua angka 0 dan 1.

Bisa dibilang konsep dari operator bitwise merupakan operator logika yang dikhususkan untuk bilangan biner.

Operator Keanggotaan

Operator ini diperuntukkan untuk mencari keanggotaan dalam suatu tipe data urutan seperti String, List, dan Tuple. Tak mengherankan jika operator ini sering diterapkan dalam perulangan. Karena hanya memastikan suatu nilai ADA atau TIDAK ADA di dalam daftar, maka operator ini hanya berisi 2 anggota saja.

Operator Identitas

Berbeda dengan operator keanggotaan sebelumnya, yang memastikan ada atau tidak adanya suatu anggota dalam daftar atau nilai tertentu dalam sebuah variabel. Operator identitas lebih digunakan untuk membandingkan dan memastikan apakah variabel x menunjuk lokasi memori yang sama dengan variabel y. Jadi lebih ke mencocokan isi antar variabel.

 

 

PYTHON MACHINE LEARNING : K-Nearest Neighboor (K-NN)

  PYTHON MACHINE LEARNING : K-Nearest Neighboor (K-NN) Pertemuan Ke-12,13,14 Metode pembelajaran dalam mechine learning:  Supervised learnin...