Cara melakukan pengkodean label dengan python (dengan contoh)


Seringkali dalam pembelajaran mesin kita ingin mengonversi variabel kategori ke dalam beberapa jenis format numerik yang dapat dengan mudah digunakan oleh algoritme.

Salah satu cara untuk melakukannya adalah dengan menggunakan pengkodean label , yang menetapkan setiap nilai kategorikal nilai bilangan bulat berdasarkan urutan abjad.

Misalnya, tangkapan layar berikut menunjukkan cara mengonversi setiap nilai unik dari variabel kategori yang disebut Tim menjadi nilai bilangan bulat berdasarkan urutan abjad:

Anda dapat menggunakan sintaks berikut untuk melakukan pengkodean label dengan Python:

 from sklearn. preprocessing import LabelEncoder

#create instance of label encoder
lab = LabelEncoder()

#perform label encoding on 'team' column
df[' my_column '] = lab. fit_transform (df[' my_column '])

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh: pengkodean label dengan Python

Misalkan kita memiliki panda DataFrame berikut:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'B', 'B', 'C', 'C'],
                   ' points ': [25, 12, 15, 14, 19, 23, 25, 29]})

#view DataFrame
print (df)

  team points
0 to 25
1 to 12
2 B 15
3 B 14
4 B 19
5 B 23
6 C 25
7 C 29

Kita dapat menggunakan kode berikut untuk melakukan pengkodean label guna mengonversi setiap nilai kategorikal di kolom tim menjadi nilai integer:

 from sklearn. preprocessing import LabelEncoder

#create instance of label encoder
lab = LabelEncoder()

#perform label encoding on 'team' column
df[' team '] = lab. fit_transform (df[' team '])

#view updated DataFrame
print (df)

   team points
0 0 25
1 0 12
2 1 15
3 1 14
4 1 19
5 1 23
6 2 25
7 2 29

Dari hasilnya kita dapat melihat:

  • Setiap nilai “A” telah dikonversi menjadi 0 .
  • Setiap nilai “B” telah dikonversi menjadi 1 .
  • Setiap nilai “C” dikonversi menjadi 2 .

Perhatikan bahwa Anda juga dapat menggunakan fungsi inverse_transform() untuk mendapatkan nilai asli kolom tim :

 #display original team labels
lab. inverse_transform (df[' team '])

array(['A', 'A', 'B', 'B', 'B', 'B', 'C', 'C'], dtype=object)

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya dengan Python:

Cara mengonversi variabel kategorikal menjadi numerik di Pandas
Cara mengubah nilai boolean menjadi nilai integer di Pandas
Cara menggunakan faktorisasi() untuk menyandikan string sebagai angka di Pandas

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *