Menghitung akurasi klasifikasi sederhana

Ryan Salman Gunadharma

Sosial Media


0 orang menyukai ini
Suka

Summary

Description

Data Kaggle https://www.kaggle.com/datasets/utkarshx27/survey-of-labour-and-income-dynamics?resource=download

File SLID.csv

https://colab.research.google.com/drive/1zzXJxWXus8q0gMysCN5au7PGURfRrI59?usp=sharing

Dataset "Survey of Labour and Income Dynamics" adalah dataset yang berisi informasi tentang pekerja. Dataset ini memiliki 6 kolom, yaitu:

  1. Index: nomor identifikasi untuk setiap baris data
  2. Wages: gaji pekerja dalam dolar Kanada per jam
  3. Education: tingkat pendidikan pekerja (High School, College, University)
  4. Age: usia pekerja dalam tahun
  5. Sex: jenis kelamin pekerja (Male, Female)
  6. Language: bahasa yang digunakan oleh pekerja (English, French, Other)

klasifikasi data pada dataset "Survey of Labour and Income Dynamics" dengan 6 kolom: index, wages, education, age, sex, language

Hasil akhir dari klasifikasi data biasanya diukur menggunakan metrik akurasi. Akurasi mengukur sejauh mana model klasifikasi dapat memprediksi dengan benar kategori atau label dari data yang belum dilabeli.

Akurasi dihitung dengan membandingkan jumlah prediksi yang benar (prediksi yang sesuai dengan label yang sebenarnya) dengan total jumlah data yang diuji. Nilai akurasi berkisar antara 0 hingga 1, di mana 0 menunjukkan klasifikasi yang buruk atau tidak ada prediksi yang benar, sementara 1 menunjukkan klasifikasi yang sempurna atau semua prediksi benar.

kode

# Import library yang dibutuhkan

import pandas as pd

from sklearn.model_selection import train_test_split

from sklearn.tree import DecisionTreeClassifier

from sklearn.metrics import accuracy_score

# Load dataset

data = pd.read_csv("SLID.csv")

# Encoding kolom 'sex'

data['sex'] = data['sex'].map({'Male': 0, 'Female': 1})

# Hapus baris data yang memiliki nilai yang hilang (NaN)

data.dropna(inplace=True)

# Pisahkan atribut dan label

X = data.drop(['language'], axis=1)

y = data['language']

# Bagi data menjadi data latih dan data uji

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Buat model Decision Tree

model = DecisionTreeClassifier()

# Latih model dengan data latih

model.fit(X_train, y_train)

# Lakukan klasifikasi pada data uji

y_pred = model.predict(X_test)

# Hitung akurasi klasifikasi

accuracy = accuracy_score(y_test, y_pred)

# Tampilkan akurasi

print("Akurasi:", accuracy)

penjelasan singkat mengenai langkah-langkah yang dilakukan dalam kode tersebut:

Import library yang dibutuhkan:

  • pandas untuk membaca dataset dan melakukan manipulasi data.
  • train_test_split dari sklearn.model_selection untuk membagi data menjadi data latih dan data uji.
  • DecisionTreeClassifier dari sklearn.tree untuk membuat model Decision Tree.
  • accuracy_score dari sklearn.metrics untuk menghitung akurasi klasifikasi.

Load dataset:

  • Dataset diambil dari file CSV "SLID.csv" dan dimuat ke dalam variabel data menggunakan pd.read_csv() dari pandas.

Encoding kolom 'sex':

  • Kolom 'sex' yang berisi nilai 'Male' dan 'Female' diubah menjadi nilai numerik menggunakan fungsi map().

Hapus baris data yang memiliki nilai yang hilang (NaN):

  • Baris data yang mengandung nilai NaN dihapus menggunakan dropna() agar data yang digunakan dalam pemodelan tidak mengandung missing values.

Pisahkan atribut dan label:

  • Kolom 'language' dijadikan sebagai label yang ingin diprediksi, sementara kolom lainnya dijadikan atribut yang digunakan untuk melakukan prediksi.

Bagi data menjadi data latih dan data uji:

  • Data dibagi menjadi data latih dan data uji menggunakan train_test_split(). Dalam contoh ini, 80% data digunakan sebagai data latih dan 20% data digunakan sebagai data uji.

Buat model Decision Tree:

  • Model Decision Tree dibuat dengan membuat objek DecisionTreeClassifier().

Latih model dengan data latih:

  • Model Decision Tree dilatih menggunakan data latih menggunakan metode fit().

Lakukan klasifikasi pada data uji:

  • Model yang telah dilatih digunakan untuk melakukan klasifikasi pada data uji menggunakan metode predict().

Hitung akurasi klasifikasi:

  • Akurasi klasifikasi dihitung dengan membandingkan nilai prediksi (y_pred) dengan nilai sebenarnya (y_test) menggunakan accuracy_score().

Tampilkan akurasi:

  • Akurasi klasifikasi ditampilkan dengan menggunakan print().

Hasil akhir klasifikasi diatas berupa 0,68 menunjukkan bahwa model berhasil memprediksi sekitar 68% dari data uji yang telah diklasifikasikan oleh model Decision Tree.

 

Informasi Course Terkait
  Kategori: Artificial Intelligence
  Course: Data Science