Task10 - Bagus Arimanu - Ipynb - Colaboratory
Task10 - Bagus Arimanu - Ipynb - Colaboratory
ipynb - Colaboratory
Individual task 10
I Made Bagus Arimanu Dwipayana (24) | [email protected]
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score
Kode di atas merupakan impor library dan modul yang diperlukan untuk melakukan analisis data menggunakan algoritma K-Nearest Neighbors
(KNN) dalam masalah klasifikasi. Berikut adalah penjelasan singkat mengenai setiap baris kode tersebut:
import pandas as pd: Mengimpor library pandas yang digunakan untuk manipulasi dan analisis data.
import numpy as np: Mengimpor library numpy yang digunakan untuk operasi numerik pada data.
import seaborn as sns: Mengimpor library seaborn yang digunakan untuk visualisasi data.
import matplotlib.pyplot as plt: Mengimpor modul pyplot dari library matplotlib yang digunakan untuk visualisasi data.
from sklearn.model_selection import train_test_split: Mengimpor fungsi train_test_split dari modul model_selection dalam library scikit-
learn (sklearn). Fungsi ini digunakan untuk membagi data menjadi subset pelatihan dan uji.
from sklearn.neighbors import KNeighborsClassifier: Mengimpor kelas KNeighborsClassifier dari modul neighbors dalam library scikit-
learn. Kelas ini digunakan untuk menerapkan algoritma K-Nearest Neighbors.
from sklearn.metrics import accuracy_score: Mengimpor fungsi accuracy_score dari modul metrics dalam library scikit-learn. Fungsi ini
digunakan untuk mengukur akurasi model klasifikasi.
Dengan mengimpor library dan modul tersebut, Anda dapat menggunakan fungsi dan kelas yang diperlukan untuk melakukan analisis data
menggunakan algoritma K-Nearest Neighbors (KNN) dalam masalah klasifikasi.
Kode tersebut melakukan membaca file CSV dengan nama 'diabetes.csv' menggunakan fungsi read_csv dari library pandas. File CSV yang
dibaca diharapkan berisi data terkait diabetes.
Setelah file CSV berhasil dibaca, data dari file tersebut dimuat ke dalam sebuah DataFrame yang disimpan dalam variabel data. DataFrame
adalah struktur data dua dimensi yang disediakan oleh library pandas untuk memanipulasi dan menganalisis data tabular.
Dengan menggunakan kode pd.read_csv('diabetes.csv'), file CSV akan dibaca dan diinterpretasikan sebagai DataFrame. Data tersebut dapat
digunakan untuk melakukan analisis lebih lanjut, seperti eksplorasi data, pemrosesan data, atau melatih model machine learning.
1 1 85 66 29 0 26.6 0.351 31
3 1 89 66 23 94 28.1 0.167 21
6 3 78 50 32 88 31.0 0.248 26
Kode data.head(10) digunakan untuk menampilkan 10 baris pertama dari DataFrame data. Fungsi head() pada objek DataFrame digunakan
untuk mengambil sejumlah baris teratas dari data.
Dengan menggunakan kode tersebut, Anda akan melihat 10 baris pertama dari data yang ada dalam DataFrame data. Hal ini berguna untuk
memberikan gambaran awal tentang struktur dan konten dari data tersebut
https://colab.research.google.com/drive/12Gb7rO_8zHp-OD5qpD7omP81HZEL-Muk#scrollTo=_bfoR2r9QsRn&printMode=true 1/6
5/7/23, 9:31 PM Task10_Bagus Arimanu.ipynb - Colaboratory
# melihat jumlah data pa da setiap kelas Outcome
print(data['Outcome'].value_counts())
0 500
1 268
Name: Outcome, dtype: int64
Kode print(data['Outcome'].value_counts()) digunakan untuk menghitung jumlah kemunculan setiap nilai dalam kolom 'Outcome' pada
DataFrame data dan menampilkannya. Kolom 'Outcome' umumnya digunakan dalam dataset diabetes untuk menunjukkan apakah seseorang
memiliki diabetes atau tidak.
Fungsi value_counts() pada objek Series (yaitu kolom 'Outcome') akan menghitung jumlah kemunculan setiap nilai dalam kolom tersebut.
Hasilnya akan ditampilkan dalam format yang memperlihatkan nilai unik dari 'Outcome' beserta jumlah kemunculannya.
Dengan menggunakan kode tersebut, Anda akan melihat jumlah pasien dengan diabetes dan tanpa diabetes dalam dataset data, memberikan
pemahaman awal tentang distribusi kelas pada data tersebut.
sns.set_style('whitegrid'): Baris ini mengatur gaya plot menjadi 'whitegrid'. Ini berarti akan ada garis-garis grid yang terlihat di latar belakang
plot, memberikan tampilan yang lebih terstruktur.
data.hist(figsize=(10,10), color='BROWN'): Kode ini menampilkan histogram dari setiap atribut dalam DataFrame data. Fungsi hist() digunakan
untuk menghasilkan histogram. Argumen figsize=(10,10) mengatur ukuran plot menjadi 10x10 inci, sehingga plot histogram lebih besar dan
lebih jelas. Argumen color='BROWN' mengatur warna histogram menjadi cokelat.
plt.show(): Baris ini digunakan untuk menampilkan plot histogram yang telah dibuat sebelumnya. Fungsi show() dari pyplot (dalam library
matplotlib) digunakan untuk menampilkan plot yang sedang aktif.
https://colab.research.google.com/drive/12Gb7rO_8zHp-OD5qpD7omP81HZEL-Muk#scrollTo=_bfoR2r9QsRn&printMode=true 2/6
5/7/23, 9:31 PM Task10_Bagus Arimanu.ipynb - Colaboratory
Dengan menggunakan kode tersebut, histogram untuk setiap atribut dalam dataset akan ditampilkan dalam grid putih dengan ukuran plot yang
disesuaikan. Hal ini memungkinkan Anda untuk melihat distribusi data pada setiap atribut dan mendapatkan wawasan tentang karakteristik
dataset tersebut.
https://colab.research.google.com/drive/12Gb7rO_8zHp-OD5qpD7omP81HZEL-Muk#scrollTo=_bfoR2r9QsRn&printMode=true 3/6
5/7/23, 9:31 PM Task10_Bagus Arimanu.ipynb - Colaboratory
kode ini memiliki tujuan untuk melatih model K-Nearest Neighbors (KNN) untuk memprediksi kelas 'Outcome' pada dataset yang diberikan.
Kode ini memisahkan atribut dari label dalam dataset. Variabel X akan berisi atribut-atribut yang digunakan untuk melatih model, sedangkan
variabel y akan berisi label yang ingin diprediksi
Kode ini menggunakan train_test_split() dari library sklearn.model_selection untuk membagi dataset menjadi data latih (train set) dan data uji
(test set). Data test set akan terdiri dari 20% dari keseluruhan dataset, sedangkan data train set akan terdiri dari 80% dari keseluruhan dataset.
Argumen random_state=0 digunakan untuk menjaga konsistensi pembagian data yang sama setiap kali kode dijalankan.
▾ KNeighborsClassifier
KNeighborsClassifier()
Kode ini membuat objek model KNN dengan menggunakan KNeighborsClassifier() dari library sklearn.neighbors. Argumen n_neighbors=5
mengatur jumlah tetangga terdekat yang akan digunakan dalam proses prediksi. Model kemudian dilatih pada data train set menggunakan
https://colab.research.google.com/drive/12Gb7rO_8zHp-OD5qpD7omP81HZEL-Muk#scrollTo=_bfoR2r9QsRn&printMode=true 4/6
5/7/23, 9:31 PM Task10_Bagus Arimanu.ipynb - Colaboratory
Kode ini menggunakan model yang telah dilatih untuk melakukan prediksi pada data test set dengan menggunakan metode predict(). Hasil
prediksi akan disimpan dalam variabel y_pred.
Accuracy: 75.32%
Kode ini menghitung akurasi model menggunakan metode accuracy_score() dari library sklearn.metrics. Akurasi dihitung dengan
membandingkan label sebenarnya (y_test) dengan hasil prediksi (y_pred). Hasil akurasi akan dicetak ke layar dalam bentuk persentase
menggunakan print().
Tingkat akurasi menggambarkan sejauh mana model berhasil memprediksi dengan benar kelas 'Outcome' pada data yang belum pernah dilihat
sebelumnya (data test set). Akurasi dihitung dengan membandingkan label sebenarnya (y_test) dengan hasil prediksi (y_pred) yang dilakukan
oleh model.
Dalam konteks ini, hasil akurasi yang dicetak akan memberikan persentase seberapa baik model KNN dapat memprediksi kelas 'Outcome' pada
data test set. Semakin tinggi nilai akurasi, semakin baik model dalam memprediksi dengan benar kelas 'Outcome' pada data yang belum
pernah dilihat sebelumnya.
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
# Membuat model Random Forest dan melatihnya pada data train set
model = RandomForestClassifier(n_estimators=100)
model.fit(X_train, y_train)
Accuracy: 81.82%
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score
# Membuat model Decision Tree dan melatihnya pada data train set
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
Accuracy: 79.22%
https://colab.research.google.com/drive/12Gb7rO_8zHp-OD5qpD7omP81HZEL-Muk#scrollTo=_bfoR2r9QsRn&printMode=true 6/6