MLOps Academy · บทเรียน

ดึงฟีเจอร์ที่ถูกต้องตามช่วงเวลา

หลีกเลี่ยงข้อมูลเป้าหมายรั่วไหลขณะสร้างชุดข้อมูลฝึก

บทเรียน 4 จาก 413 ขั้นตอน

ดึงฟีเจอร์ที่ถูกต้องตามช่วงเวลา เป็นบทเรียน MLOps Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน MLOps Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส MLOps Academy มีบทเรียนทั้งหมด 4 บทเรียน

ปัญหาการเดินทางข้ามเวลา

เพื่อให้การฝึกสอนเป็นธรรม แต่ละป้ายกำกับต้องใช้ค่าฟีเจอร์ที่ทราบอยู่ก่อนเกิดเหตุการณ์ ไม่ใช่หลังจากนั้น หากสับสนเรื่องเวลา ก็จะนำข้อมูลจากอนาคตไหลเข้าสู่โมเดลของคุณ ⏳

การรั่วไหลของป้ายกำกับคืออะไร

การรั่วไหลของป้ายกำกับเกิดขึ้นเมื่อฟีเจอร์แอบนำข้อมูลจากหลังช่วงเวลาที่ทำนายมาใช้ โมเดลดูยอดเยี่ยมเมื่อทำงานแบบออฟไลน์ แต่กลับล้มเหลวเมื่อนำไปใช้งานจริง

กับดักที่เห็นได้ชัด

การนำยอดคงเหลือของบัญชีวันนี้ไปเชื่อมกับสินเชื่อที่เกิดขึ้นเมื่อปีที่แล้ว เป็นตัวอย่างคลาสสิกของการรั่วไหล ค่าที่ถูกต้องคือยอดคงเหลือ ณเวลาที่ให้สินเชื่อ

การเชื่อมตามจุดเวลา

การเชื่อมตามจุดเวลาจะจับคู่แต่ละเหตุการณ์กับค่าฟีเจอร์ล่าสุดที่มีอยู่ ณ หรือก่อนเวลาประทับของเหตุการณ์นั้น จึงไม่มีการแอบดูข้อมูลล่วงหน้า

DataFrame ของเอนทิตี

คุณส่งDataFrame ของเอนทิตีให้ Feast ซึ่งประกอบด้วยคีย์เอนทิตีและเวลาประทับของเหตุการณ์สำหรับแต่ละแถวการฝึกสอนที่คุณต้องการฟีเจอร์

entity_df = pd.DataFrame({"driver_id": [1001], "event_timestamp": [pd.Timestamp("2024-01-01")]})

ดึงฟีเจอร์ในอดีต

เรียกใช้ get_historical_features พร้อม DataFrame นั้น แล้ว Feast จะดำเนินการเชื่อมตามเวลาเข้ากับคลังออฟไลน์ให้คุณ

store.get_historical_features(entity_df=entity_df, features=["driver_stats:conv_rate"])

แปลงเป็นชุดข้อมูล

เรียกใช้ to_df กับผลลัพธ์เพื่อรับ DataFrame สำหรับการฝึกสอน ซึ่งทุกแถวมีค่าฟีเจอร์ที่ถูกต้องและไม่มีการรั่วไหล

training_df = job.to_df()

TTL ช่วยรักษาความใหม่ของข้อมูล

หากค่าที่ใกล้ที่สุดเก่ากว่าอายุการใช้งานของฟีเจอร์ Feast จะปล่อยค่าเป็นค่าว่าง แทนที่จะนำค่าที่ล้าสมัยมาเชื่อมให้

ตรรกะเดียวกัน คลังข้อมูลสองแห่ง

การอ่านข้อมูลในอดีตจะใช้คลังออฟไลน์สำหรับการฝึกสอน ส่วนการอ่านข้อมูลออนไลน์จะใช้คลังออนไลน์สำหรับการให้บริการ คำจำกัดความของฟีเจอร์ยังคงเหมือนเดิม จึงไม่เกิดความคลาดเคลื่อน

เหตุใดเรื่องนี้จึงสำคัญ

ความถูกต้องตามจุดเวลาคือสิ่งที่ทำให้คะแนนออฟไลน์เป็นคะแนนที่คุณไว้วางใจได้ หากข้ามขั้นตอนนี้ ตัวเลขการตรวจสอบของคุณก็เป็นเพียงคำโกหกที่ฟังดูน่าอุ่นใจ 🎯

ภาพรวมทั้งหมด

กำหนดครั้งเดียว บันทึกเพื่อความเร็ว และเชื่อมตามเวลาเพื่อการฝึกสอน ทั้งหมดนี้ทำให้คุณมีคลังฟีเจอร์ที่รวดเร็ว สอดคล้องกัน และสะท้อนความเป็นจริง

ตรวจสอบอย่างรวดเร็ว

เหตุใดจึงควรใช้การเชื่อมตามจุดเวลาเมื่อสร้างชุดข้อมูลสำหรับการฝึกสอน

สรุปทบทวน

คุณใช้การเชื่อมแบบตามจุดเวลาผ่าน get_historical_features เพื่อสร้างชุดข้อมูลฝึกสอนที่ไม่มีการรั่วไหล ขณะเดียวกันคำจำกัดความเดิมก็ใช้สำหรับการให้บริการออนไลน์ นี่คือวงจรคลังฟีเจอร์ที่สมบูรณ์ 🏁

เริ่มต้นได้ฟรี

เรียนรู้ Python ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
30
บทเรียน
120

คำถามที่พบบ่อย

บทเรียน “ดึงฟีเจอร์ที่ถูกต้องตามช่วงเวลา” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ดึงฟีเจอร์ที่ถูกต้องตามช่วงเวลา” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส MLOps Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส MLOps Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ดึงฟีเจอร์ที่ถูกต้องตามช่วงเวลา”

หลีกเลี่ยงข้อมูลเป้าหมายรั่วไหลขณะสร้างชุดข้อมูลฝึก คุณปฏิบัติ MLOps Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน MLOps Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน MLOps Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “ดึงฟีเจอร์ที่ถูกต้องตามช่วงเวลา” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน MLOps Academy นี้ได้ไหม

ได้ บทเรียน MLOps Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. เหตุใดจึงมีคลังฟีเจอร์
  2. กำหนดมุมมองฟีเจอร์ด้วย Feast
  3. ทำให้ฟีเจอร์พร้อมใช้ในคลังข้อมูลออนไลน์
  4. ดึงฟีเจอร์ที่ถูกต้องตามช่วงเวลา
← กลับไปที่ MLOps Academy