เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การใช้ One-Hot Encoding เพื่อแทนค่าภาพ

โครงข่ายประสาทเทียมต้องการให้ป้ายกำกับของคลาสในชุดข้อมูลอยู่ในรูปแบบ one-hot encoding กล่าวคือ แต่ละแถวในอาร์เรย์จะมีค่าเป็นศูนย์ในทุกคอลัมน์ ยกเว้นคอลัมน์ที่ตรงกับป้ายกำกับนั้น ซึ่งจะถูกกำหนดเป็น 1

ชุดข้อมูล fashion มีสามหมวดหมู่ ได้แก่

  1. เสื้อ
  2. ชุดเดรส
  3. รองเท้า

ในแบบฝึกหัดนี้ จะสร้าง one-hot encoding จากตัวอย่างป้ายกำกับขนาดเล็กชุดหนึ่ง

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การสร้างโมเดลภาพด้วย Keras

ดูคอร์ส

คำแนะนำการฝึกหัด

  • กำหนดค่าเริ่มต้นให้ตัวแปร ohe_labels เพื่อเก็บอาร์เรย์แบบ one-hot encoding
  • ใช้ np.where() เพื่อค้นหาตำแหน่งของหมวดหมู่ของรายการในแต่ละรอบการวนซ้ำใน categories
  • กำหนดค่า 1 ลงในตำแหน่งแถว/คอลัมน์ที่ถูกต้องในทุกรอบการวนซ้ำ

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# The number of image categories
n_categories = 3

# The unique values of categories in the data
categories = np.array(["shirt", "dress", "shoe"])

# Initialize ohe_labels as all zeros
ohe_labels = ____((len(labels), n_categories))

# Loop over the labels
for ii in range(len(labels)):
    # Find the location of this label in the categories variable
    jj = np.where(___)
    # Set the corresponding zero to one
    ohe_labels[____] = ____
แก้ไขและรันโค้ด