iT邦幫忙

2023 iThome 鐵人賽

DAY 27
0
AI & Data

深入探索AI模型系列 第 27

【Day 27】 Label encoding、One hot encoding

  • 分享至 

  • xImage
  •  

接下來我們講講在做機器學習時,會用到的重要概念—encoder。Encoder是一種可以讓城市去更好理解我們的資料以及去做運算的方式。今天會介紹兩種最常見的encode方法—label encoding、one hot encoding。

首先我們先利用pandas的dataframe來產生原始資料。

import pandas as pd

food = ["Apple", "Banana", "Cake", "Apple"]
calorie = [123.45, 345.65, 234.35, 246.45]
amount = [1, 4, 2, 2]
dic = {"Food": food,"Calorie": calorie, "Amount": amount}
data = pd.DataFrame(dic)

https://ithelp.ithome.com.tw/upload/images/20230823/20150784DA77qoKgVv.png

(一) Label encoding
Label encoding會將欄位中的內容用mapping的概念轉換成一個整數,不會去更動到欄位的數量。像上方的資料在Label encoding的轉換過後就會變成如下:

from sklearn.preprocessing import LabelEncoder

label_encoder = LabelEncoder()
data1 = data.copy()
data1["Food"] = label_encoder.fit_transform(data1["Food"])

https://ithelp.ithome.com.tw/upload/images/20230823/20150784f5RsJCBsJ5.png

(二) One hot encoding
One hot encoding的作法則是將欄位中的所有欄位值當作一個新的欄位,用0和1來表示是否是這個值。

from sklearn.preprocessing import OneHotEncoder

one_hot_encoder = OneHotEncoder()
data2 = data.copy()
data2_transform = one_hot_encoder.fit_transform(data2[["Food"]]).toarray()

data2 = data2.drop("Food", axis = 1)
data2 = pd.concat([data2, pd.DataFrame(data2_transform)], axis = 1)

https://ithelp.ithome.com.tw/upload/images/20230823/20150784u7FyldLeaY.png


上一篇
【Day 26】 GAN實作
下一篇
【Day 28】 Confusion Matrix(混淆矩陣)
系列文
深入探索AI模型30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言