ชุดข้อมูลคือคอลเล็กชันของ ตัวอย่าง
ชุดข้อมูลจำนวนมากเก็บข้อมูลไว้ในตาราง (ตารางกริด) ตัวอย่างเช่น ค่าที่คั่นด้วยคอมมา (CSV) หรือจากสเปรดชีตโดยตรง หรือ ตารางฐานข้อมูล ตารางคือรูปแบบอินพุตที่ใช้งานง่ายสำหรับแมชชีน โมเดลการเรียนรู้ คุณสามารถจินตนาการแต่ละแถวของตารางเป็นตัวอย่างได้ และแต่ละคอลัมน์ให้เป็นฟีเจอร์หรือป้ายกำกับที่เป็นไปได้ กล่าวคือ ชุดข้อมูลอาจมาจากรูปแบบอื่นๆ เช่น ไฟล์บันทึกและบัฟเฟอร์โปรโตคอล
ไม่ว่าจะเป็นรูปแบบใด โมเดล ML ของคุณจะมีดีเท่ากับ ซึ่งใช้ในการฝึก ส่วนนี้จะอธิบายลักษณะของข้อมูลที่สำคัญ
ประเภทข้อมูล
ชุดข้อมูลอาจมีข้อมูลหลายประเภท ซึ่งรวมถึง ไม่จำกัดอยู่เพียง
- ซึ่งมีกล่าวถึงใน หน่วย
- ข้อมูลเชิงหมวดหมู่ ซึ่งจะกล่าวถึงใน หน่วย
- ภาษาของมนุษย์ รวมถึงคำและประโยคแต่ละประโยคไปจนถึง เอกสารข้อความทั้งหมด
- มัลติมีเดีย (เช่น รูปภาพ วิดีโอ และไฟล์เสียง)
- เอาต์พุตจากระบบ ML อื่นๆ
- เวกเตอร์การฝัง ซึ่งเป็น กล่าวถึงในหน่วยถัดไป
ประเภทข้อมูลก่อนหน้านี้สามารถแบ่งย่อยออกไปได้มาก โมดูลต่อๆ ไปในหลักสูตรนี้ ตัวอย่างเช่น หลักสูตรเชิงหมวดหมู่ โมดูลข้อมูล - รายละเอียด และแยกย่อยประเภทข้อมูลเหล่านี้
ปริมาณข้อมูล
จากหลักการทั่วไปอย่างคร่าวๆ โมเดลของคุณควรฝึกตามคำสั่งซื้ออย่างน้อย 1 รายการ ขนาด (หรือ 2) ตัวอย่างมากกว่าพารามิเตอร์ที่ฝึกได้ อย่างไรก็ตาม โมเดลต่างๆ มักจะมีตัวอย่างมากกว่านั้นจำนวนมาก
โมเดลที่ได้รับการฝึกจากชุดข้อมูลขนาดใหญ่ซึ่งมีเพียงไม่กี่รายการ ฟีเจอร์ โดยทั่วไปจะมีประสิทธิภาพสูงกว่าโมเดลที่ได้รับการฝึกจากชุดข้อมูลขนาดเล็กที่มี ฟีเจอร์มากมาย ที่ผ่านมา Google ประสบความสำเร็จอย่างมากในการฝึกโมเดลพื้นฐานเกี่ยวกับ ชุดข้อมูลขนาดใหญ่
ชุดข้อมูลที่แตกต่างกันสำหรับโปรแกรมแมชชีนเลิร์นนิงที่แตกต่างกันอาจต้องใช้อย่างมาก จำนวนตัวอย่างที่แตกต่างกันเพื่อสร้างโมเดลที่มีประโยชน์ สำหรับบางคนที่ แค่โจทย์ง่ายๆ สัก 2-3 ตัวอย่างก็เพียงพอแล้ว สำหรับปัญหาอื่นๆ ตัวอย่างเป็นล้านล้านตัวอย่างก็อาจไม่เพียงพอ
คุณอาจได้ผลลัพธ์ที่ดีจากชุดข้อมูลขนาดเล็กหากคุณปรับตัว โมเดลที่มีอยู่มีการฝึกกับข้อมูลจำนวนมากจาก สคีมาเดียวกัน
คุณภาพและความน่าเชื่อถือของข้อมูล
ทุกคนต้องการคุณภาพสูงหรือคุณภาพต่ำ แต่คุณภาพกลับไม่ค่อยชัดเจน ซึ่งสามารถนิยามได้หลายวิธี หลักสูตรนี้ให้คำจำกัดความ คุณภาพในเชิงปฏิบัติ
ชุดข้อมูลคุณภาพสูงช่วยให้โมเดลของคุณบรรลุเป้าหมาย ชุดข้อมูลคุณภาพต่ำจะขัดขวางไม่ให้โมเดลบรรลุเป้าหมาย
ชุดข้อมูลคุณภาพสูงมักจะเชื่อถือได้ด้วย ความน่าเชื่อถือหมายถึงระดับที่คุณจะเชื่อถือข้อมูลได้ โมเดลที่ได้รับการฝึกด้วยชุดข้อมูลที่เชื่อถือได้มักจะให้ผลลัพธ์ที่เป็นประโยชน์ การคาดการณ์มากกว่าโมเดลที่ได้รับการฝึกจากข้อมูล ที่ไม่น่าเชื่อถือ
คุณต้องระบุสิ่งต่อไปนี้ในการวัดความเสถียร
- ข้อผิดพลาดเกี่ยวกับป้ายกํากับพบได้ทั่วไปมากน้อยเพียงใด ตัวอย่างเช่น หากข้อมูลคือ ที่เจ้าหน้าที่ติดป้ายกํากับ เจ้าหน้าที่ตรวจสอบของคุณทําผิดพลาดบ่อยเพียงใด
- ฟีเจอร์ต่างๆ ของคุณรบกวนไหม กล่าวคือ ใช้ค่าในฟีเจอร์ของคุณ มีข้อผิดพลาดหรือไม่ เป็นไปตามความเป็นจริง คุณจะลบชุดข้อมูลถาวรไม่ได้ ของเสียงรบกวนทั้งหมด เสียงรบกวนบางส่วนเป็นเรื่องปกติ เช่น การวัด GPS สถานที่ตั้งจะผันผวนเล็กน้อยทุกสัปดาห์
- ข้อมูลได้รับการกรองอย่างเหมาะสมสำหรับปัญหาของคุณหรือไม่ ตัวอย่างเช่น ชุดข้อมูลของคุณควรมีคำค้นหาจากบ็อตไหม หากคุณ สร้างระบบตรวจจับสแปม ซึ่งก็น่าจะใช่ อย่างไรก็ตาม หากคุณพยายามปรับปรุงผลการค้นหาสำหรับมนุษย์ ก็ไม่เป็นเช่นนั้น
สาเหตุที่พบบ่อยซึ่งทำให้ข้อมูลไม่น่าเชื่อถือในชุดข้อมูลมีดังนี้
- ค่าที่ละเว้น ตัวอย่างเช่น ผู้ใช้ลืมป้อนค่าสำหรับ อายุของบ้าน
- ตัวอย่างที่ซ้ำกัน ตัวอย่างเช่น เซิร์ฟเวอร์อัปโหลดโดยไม่ได้ตั้งใจ บันทึก 2 ครั้ง
- ค่าฟีเจอร์ไม่ถูกต้อง ตัวอย่างเช่น มีคนพิมพ์หมายเลขพิเศษ หรือ เทอร์โมมิเตอร์ถูกทิ้งไว้กลางแดด
- ป้ายกำกับไม่ถูกต้อง เช่น การที่ผู้ใช้ติดป้ายกำกับภาพ ต้นโอ๊กเป็นต้นเมเปิล
- ส่วนข้อมูลไม่ถูกต้อง เช่น ฟีเจอร์บางอย่างมีความน่าเชื่อถือ ยกเว้นเฉพาะวันหนึ่งที่เครือข่ายขัดข้องอยู่เรื่อยๆ
เราขอแนะนำให้ใช้การทำงานอัตโนมัติเพื่อแจ้งข้อมูลที่ไม่น่าเชื่อถือ ตัวอย่างเช่น การทดสอบ 1 หน่วยที่กำหนดหรือใช้สคีมาข้อมูลอย่างเป็นทางการภายนอก ค่าแฟล็กที่อยู่นอกช่วงที่กำหนด
ตัวอย่างที่สมบูรณ์กับที่ไม่สมบูรณ์
ในโลกที่สมบูรณ์แบบ แต่ละตัวอย่างก็จะสมบูรณ์ กล่าวคือ แต่ละตัวอย่างจะมี สำหรับแต่ละฟีเจอร์
แต่น่าเสียดายที่ตัวอย่างที่เกิดขึ้นจริงมักจะไม่สมบูรณ์ ซึ่งหมายความว่า ไม่มีค่าของฟีเจอร์อย่างน้อย 1 ค่า
ไม่ต้องฝึกโมเดลบนตัวอย่างที่ไม่สมบูรณ์ แต่ให้แก้ไขหรือกำจัด ตัวอย่างที่ยังไม่เสร็จสมบูรณ์โดยทำอย่างใดอย่างหนึ่งต่อไปนี้
- ลบตัวอย่างที่ไม่สมบูรณ์
- ค่าขาดหายไป Impute นั่นคือ แปลงตัวอย่างที่ไม่สมบูรณ์เป็นตัวอย่างที่สมบูรณ์โดยใส่ การคาดเดาค่าที่ขาดหายไปอย่างมีเหตุผล
หากชุดข้อมูลมีตัวอย่างที่สมบูรณ์เพียงพอที่จะฝึกโมเดลที่มีประโยชน์ ให้พิจารณาลบตัวอย่างที่ไม่สมบูรณ์ออก ในทำนองเดียวกัน หากมีเพียงฟีเจอร์เดียวที่ขาดข้อมูลจำนวนมากพอ ฟีเจอร์หนึ่งน่าจะช่วยโมเดลได้ไม่มากนัก ฟีเจอร์นั้นจากอินพุตโมเดล และดูว่าคุณภาพที่หายไป การลบออก หากโมเดลใช้งานได้ดีหรือไม่ดีเลยหากไม่มีโมเดลนี้ ก็ถือว่าเยี่ยมมาก ในทางกลับกัน ถ้าคุณมีตัวอย่างที่สมบูรณ์ไม่พอที่จะฝึกโมเดลที่มีประโยชน์ คุณอาจลองประเมินค่าที่หายไป
คุณลบตัวอย่างที่ไม่มีประโยชน์หรือซ้ำซ้อนก็ได้ แต่การลบเป็นสิ่งไม่ดี ตัวอย่างที่สำคัญ ขออภัย ทำให้แยกความแตกต่างได้ยาก ระหว่างตัวอย่างที่ไร้ประโยชน์กับตัวอย่างที่เป็นประโยชน์ หากคุณตัดสินใจไม่ได้ว่า เพื่อลบหรือไม่แสดงข้อมูล ให้พิจารณาสร้างชุดข้อมูล 2 ชุด ชุดข้อมูลหนึ่งสร้างขึ้นจากการลบ ตัวอย่างที่ยังไม่สมบูรณ์ และที่เหลือเป็นการประเมิน จากนั้นระบุว่าชุดข้อมูลใดฝึกโมเดลที่ดีกว่า
วันที่อัลกอริทึมทั่วไปอย่างหนึ่งคือการใช้ค่าเฉลี่ยหรือค่ามัธยฐานเป็นค่าที่ประเมิน ดังนั้น เมื่อคุณแสดงคุณลักษณะที่เป็นตัวเลข Z-score จากนั้น ค่าที่คำนวณมักจะเป็น 0 (เนื่องจากโดยทั่วไป 0 คือค่าเฉลี่ย Z)
แบบฝึกหัด: ตรวจสอบความเข้าใจ
ชุดข้อมูล 2 คอลัมน์ที่จัดเรียงตาม Timestamp
มีดังนี้
การประทับเวลา | อุณหภูมิ |
---|---|
09:00 น. วันที่ 8 มิถุนายน 2023 | 12 |
8 มิถุนายน 2023 เวลา 10:00 น. | 18 |
8 มิถุนายน 2023 เวลา 11:00 น. | ขาดหายไป |
8 มิถุนายน 2023 เวลา 12:00 น. | 24 |
8 มิถุนายน 2023 13:00 น. | 38 |
ข้อใดต่อไปนี้เป็นค่าที่สมเหตุสมผลที่จะกล่าวเป็นนัย สำหรับค่าของ Temperature ที่ขาดหายไป