กำไร:
- ความสามารถในการจดจำแหล่งข้อมูลที่แตกต่างกัน (ฐานข้อมูล, API, ไฟล์, การขูดเว็บ) และข้อผิดพลาดของแหล่งข้อมูลแต่ละแหล่ง และเข้าใจสคีมาได้อย่างถูกต้อง
- ความสามารถในการสุ่มตัวอย่างซ้ำได้โดยการประเมินว่าตัวอย่างแสดงถึงประชากรและความลำเอียงในการเลือกหรือไม่
- ความสามารถในการกำจัดการรั่วไหลของข้อมูลในขั้นตอนการเก็บรวบรวมและปฏิบัติตามขอบเขตทางกฎหมาย/จริยธรรมโดยถามคำถาม 'ฉันจะได้ข้อมูลในขณะที่คาดการณ์' ในแต่ละคอลัมน์หรือไม่
การวิเคราะห์ทุกครั้งจะดีพอๆ กับคุณภาพของข้อมูลที่คุณรวบรวม แม้แต่แบบจำลองที่ทันสมัยที่สุดในโลกก็ยังให้ผลลัพธ์ที่ไม่น่าเชื่อถือหากทำงานกับข้อมูลที่รวบรวมไม่ถูกต้อง เก็บตัวอย่างอย่างลำเอียง หรือมีข้อมูลเกี่ยวกับอนาคต ในวิทยาการคอมพิวเตอร์ หลักการนี้สรุปได้ว่า "ขยะเข้า ขยะออก" (ขยะเข้า ขยะออก) ในหน่วยนี้ เราจะครอบคลุมขั้นตอนการรวบรวมข้อมูล: การทำความเข้าใจแหล่งที่มา การสุ่มตัวอย่าง การถามคำถามที่มีคุณภาพ และการแจ้งเตือนถึงความเสี่ยงของการรั่วไหลของข้อมูลตั้งแต่วันแรก ปัญญาประดิษฐ์เป็นตัวช่วยที่ทรงพลังในขั้นตอนนี้ เขียนแบบสอบถาม SQL, สรุปเอกสาร API, ร่างสัญญาข้อมูล แต่มนุษย์เป็นคนตัดสินใจว่าข้อมูลใดที่คุณรวบรวมและข้อมูลนั้นเป็นตัวแทนของคุณหรือไม่
ทำความรู้จักกับแหล่งข้อมูล
ข้อมูลมาจากที่ต่างกัน และแต่ละแหล่งที่มาก็มีข้อผิดพลาดของตัวเอง ฐานข้อมูล (ข้อมูลที่มีโครงสร้างจัดเก็บไว้ในตาราง ซึ่งมักจะสืบค้นด้วย SQL) เป็นแหล่งที่พบได้บ่อยที่สุด มีความน่าเชื่อถือ แต่จำเป็นต้องเข้าใจโครงร่างให้ดี API (Application Programming Interface) ให้ข้อมูลสดแต่มีความเสี่ยงต่อการจำกัดความเร็วและการเปลี่ยนแปลงรูปแบบ ไฟล์ (CSV, Excel, JSON) มีความยืดหยุ่นแต่มีแนวโน้มที่จะจัดรูปแบบไม่สอดคล้องกัน การขูดเว็บมีประสิทธิภาพ แต่ก็มีข้อจำกัดทางกฎหมายและจริยธรรม ไม่ใช่ทุกไซต์ที่สามารถคัดลอกได้
ข้อควรพิจารณา: สำหรับการขูดเว็บและการรวบรวมข้อมูลอัตโนมัติ ให้ปฏิบัติตามข้อกำหนดการใช้งานของเว็บไซต์ ไฟล์ robots.txt และ KVKK/GDPR การรวบรวมข้อมูลโดยไม่ได้รับอนุญาตจะทำให้เกิดความรับผิดทางกฎหมาย ในบริบทของความปลอดภัยของข้อมูล ให้ใช้เครื่องมือรวบรวมข้อมูลเฉพาะบนระบบที่คุณได้รับอนุญาตและเพื่อวัตถุประสงค์ในการป้องกัน/วิเคราะห์เท่านั้น ห้ามเข้าถึงหรือขูดโดยไม่ได้รับอนุญาต
ทำความเข้าใจสคีมา: ทำความคุ้นเคยกับข้อมูล
ก่อนที่จะรวบรวมชุดข้อมูล คุณต้องเข้าใจสคีมาของชุดข้อมูล (ชื่อของคอลัมน์ ประเภทข้อมูล ความหมาย และความสัมพันธ์ระหว่างกัน) AI มีประโยชน์มากในการสร้าง "พจนานุกรมข้อมูล" ซึ่งเป็นตารางที่อธิบายว่าแต่ละคอลัมน์หมายถึงอะไร แต่คำอธิบายที่ AI สร้างขึ้นนั้นเป็นการคาดการณ์ ยืนยันความหมายที่แท้จริงของแต่ละคอลัมน์กับทีมงานที่จัดทำข้อมูล ตัวอย่างเช่น คอลัมน์ชื่อ "สถานะ" อาจมี 0/1/2; มีเพียงทีมผู้สร้างเท่านั้นที่รู้ว่าสิ่งเหล่านี้ "รอดำเนินการ/อนุมัติ/ยกเลิก" หรืออย่างอื่น
ตารางต่อไปนี้สรุปประเภททรัพยากรพื้นฐานและข้อควรระวัง:
แหล่งที่มา
จุดแข็ง
กับดัก
AI ช่วยได้อย่างไร
ฐานข้อมูล SQL
มีโครงสร้างเชื่อถือได้
เข้าร่วมที่ซับซ้อน
เขียนแบบสอบถามแบบร่าง
เอพีไอ
ข้อมูลสด
การจำกัดความเร็ว การเปลี่ยนแปลงรูปร่าง
สรุปเอกสารดึงรหัส
CSV/Excel
มีความยืดหยุ่นรวดเร็ว
รูปแบบไม่สอดคล้องกัน
อ่าน/แยกโค้ด
การขูดเว็บ
เข้าถึงได้กว้าง
ข้อจำกัดทางกฎหมาย/จริยธรรม
การแยกวิเคราะห์ร่าง (ภายในอำนาจ)
ข้อมูลบันทึก/เหตุการณ์
รายละเอียด
ปริมาณมาก
การกรองแบบสอบถาม
ภาพประกอบ: ส่วนหนึ่งเป็นตัวแทนทั้งหมดหรือไม่?
โดยส่วนใหญ่ คุณจะทำงานกับกลุ่มตัวอย่าง (ชุดย่อยที่เลือกจากประชากร) แทนที่จะเป็นข้อมูลทั้งหมด คำถามสำคัญคือ กลุ่มตัวอย่างนี้เป็นตัวแทนของประชากรหรือไม่ อคติในการเลือกเป็นกับดักที่พบบ่อยที่สุด ตัวอย่างเช่น หากคุณสุ่มตัวอย่างผู้ใช้จากแอปบนอุปกรณ์เคลื่อนที่ คุณจะไม่เห็นผู้ใช้เว็บและผลลัพธ์ของคุณจะทำให้เข้าใจผิด การสุ่มตัวอย่าง (แต่ละบันทึกมีโอกาสถูกเลือกเท่ากัน) จะปลอดภัยที่สุดในกรณีส่วนใหญ่ แต่ในข้อมูลอนุกรมเวลา การแยกจะกระทำตามลำดับเวลามากกว่าการสุ่ม (เราจะเห็นสิ่งนี้ในหน่วยที่ 7 และ 10)
การรับรู้รั่วไหลตั้งแต่วันแรก
การรั่วไหลของข้อมูลเป็นสาเหตุของภัยพิบัติส่วนใหญ่ และมักเกิดขึ้นในระหว่างขั้นตอนการรวบรวมข้อมูล ตัวอย่าง: เมื่อคาดการณ์ "ถูกยกเลิกหรือไม่" หากคุณเพิ่มคอลัมน์ "วันที่ยกเลิก" ลงในข้อมูล โมเดลจะพิจารณาถึงอนาคต ในระหว่างขั้นตอนการรวบรวม ให้ถามคำถามหนึ่งข้อสำหรับแต่ละคอลัมน์: “ฉันจะได้ข้อมูลนี้จริง ๆ หรือไม่ในขณะที่ทำการทำนาย” หากคำตอบคือไม่ แสดงว่าคอลัมน์นั้นรั่ว เราจะกล่าวถึงหัวข้อนี้อย่างเจาะลึกในบทที่ 10 แต่การรับรู้ควรเริ่มตั้งแต่วันแรก
มินิเคสสามอัน
กรณีที่ 1 — ปัญหาของการเป็นตัวแทน ธนาคารแห่งหนึ่งรวบรวมข้อมูลเฉพาะสินเชื่อที่ได้รับอนุมัติสำหรับแบบจำลองความเสี่ยงด้านเครดิต (18,500 รายการ) การปฏิเสธไม่ได้อยู่ในข้อมูล แบบจำลองนี้ผิดในโลกแห่งความเป็นจริง เนื่องจากไม่เคยเห็นว่าผู้ถูกปฏิเสธจะมีพฤติกรรมอย่างไร บทเรียน: กลุ่มตัวอย่างควรเป็นตัวแทนของประชากรทั้งหมดที่คุณกำลังตัดสินใจ
กรณีที่ 2 — การเปลี่ยนแปลงรูปแบบเงียบ ทีมงานดึงข้อมูลราคาจาก API ทุกวัน วันหนึ่ง ผู้ให้บริการ API เปลี่ยนสกุลเงินจาก USD เป็น EUR แต่ชื่อโดเมนยังคงเหมือนเดิม ข้อมูลถูกเก็บรวบรวมในหน่วยที่ไม่ถูกต้องเป็นเวลา 12 วัน 3,200 เส้นเสียหาย บทเรียน: ตรวจสอบความสอดคล้องของปริมาณและรูปแบบในข้อมูล API เป็นประจำ
กรณีที่ 3 — การรั่วไหลตั้งแต่เนิ่นๆ นักวิเคราะห์ได้รวมคอลัมน์ "เหตุผลในการปิดบัญชี" เมื่อรวบรวมข้อมูลสำหรับประมาณการ "การเลิกใช้งาน" คอลัมน์นี้ถูกเติมหลังจากที่ลูกค้าออกไปแล้วเท่านั้น แบบจำลองนี้ให้ความแม่นยำ 97% ในชุดทดสอบ ใช้งานไม่ได้ในการผลิตเนื่องจากคอลัมน์นั้นว่างเปล่าในเวลาคาดการณ์ บทเรียน: ถามคำถามแต่ละคอลัมน์ว่า "ฉันมีมันในขณะที่ทำนายหรือไม่"
เทมเพลตที่สามารถคัดลอกได้สี่แบบ
1) การแยกพจนานุกรมข้อมูล:
บทบาทของคุณ: ผู้ช่วยนักวิทยาศาสตร์ข้อมูล ด้านล่างนี้คือชื่อคอลัมน์และค่าตัวอย่าง (ไม่ระบุชื่อ) ของตาราง สำหรับแต่ละคอลัมน์ ให้แสดงรายการความหมายโดยประมาณ ประเภทข้อมูล และความเสี่ยงด้านคุณภาพที่อาจเกิดขึ้นในตาราง ทำเครื่องหมายคอลัมน์ที่คุณไม่แน่ใจว่าเป็น "จำเป็นต้องยืนยัน"; แปลว่า การทำ คอลัมน์: [วางที่นี่]
2) รหัสการสุ่มตัวอย่าง (สุ่ม, ทำซ้ำได้):
ฉันมีแพนด้า df เขียนโค้ดที่ดึงตัวอย่างสุ่มตัวแทน 5% จาก 200,000 แถว ใช้ Random_state=42 (เพื่อการทำซ้ำ) เพิ่มโค้ดเพื่อตรวจสอบว่าการแจกแจงคลาสของกลุ่มตัวอย่างคล้ายกับประชากร
3) คำถามเกี่ยวกับการสแกนรอยรั่ว:
ฉันจะให้รายการคอลัมน์นี้แก่คุณ เป้าหมายของฉันคือการทำนาย "ถูกยกเลิกหรือไม่" (0/1) สำหรับแต่ละคอลัมน์ ให้ประเมินว่าฉันจะได้รับมันจริงหรือไม่ในขณะที่คาดการณ์ และทำเครื่องหมายว่า "ปลอดภัย / น่าสงสัย / รั่วไหล" เขียนเหตุผลของคุณในหนึ่งประโยค คอลัมน์: [รายการ]
4) ร่างแบบสอบถามดึง SQL:
ฉันมีตาราง "คำสั่งซื้อ" และ "ลูกค้า" ใน PostgreSQL เขียนแบบสอบถาม JOIN ที่รวมคำสั่งซื้อในช่วง 90 วันที่ผ่านมาเข้ากับเมืองของลูกค้า แล้วส่งคืนจำนวนและจำนวนคำสั่งซื้อทั้งหมดต่อเมือง อธิบายตัวกรองวันที่และวิธีจัดการเมือง NULL ฉันจะเรียกใช้แบบสอบถามและตรวจสอบ
พรอมต์อ่อน / พรอมต์แข็งแกร่ง
พรอมต์ที่อ่อนแอ:
ดึงข้อมูลตัวอย่างที่ดีจากฐานข้อมูลนี้มาให้ฉัน
"ดี" นั้นคลุมเครือ ภาพวาดไหน ยุคไหน ขนาดไหน จุดประสงค์ไหนยังไม่ชัดเจน AI จะสร้างเฉพาะคำค้นหาทั่วไปที่อาจผิดเท่านั้น
พรอมต์อันทรงพลัง:
บทบาทของคุณ: ผู้ช่วย SQL ฉันมีตาราง "ธุรกรรม": รหัสคอลัมน์, customer_id, วันที่ (ประทับเวลา), จำนวนเงิน (ตัวเลข), ช่อง (ข้อความ: 'เว็บ'/'มือถือ') งาน: เขียนแบบสอบถามที่สามารถทำซ้ำได้ (กำหนดด้วย ORDER BY) ซึ่งส่งคืนแถวตัวแทน 10,000 แถวจากแต่ละช่องทางสำหรับปี 2024 วัตถุประสงค์: การวิเคราะห์เปรียบเทียบช่องทาง แสดงรายการสมมติฐานของคำถามของคุณ
ตาราง วัตถุประสงค์ ขนาด และความสามารถในการทำซ้ำมีความชัดเจน
ข้อผิดพลาดทั่วไป
- ไม่ตั้งคำถามถึงความเป็นตัวแทนของกลุ่มตัวอย่าง ข้อมูลที่เข้าถึงได้ง่ายไม่ใช่ข้อมูลที่ถูกต้อง อคติในการเลือกบิดเบือนผลลัพธ์
- การปรับความหมายของคอลัมน์ให้เป็น AI ทีมงานต้นทางรู้ความหมาย อย่าใช้การทำนายของ AI โดยไม่ยืนยัน
- ไม่ติดตามการเปลี่ยนแปลงรูปแบบ/หน่วย API การเปลี่ยนแปลงแบบเงียบจะรวบรวมข้อมูลที่เสียหายเป็นเวลาหลายวัน
- โดยไม่สนใจการรั่วไหลในขั้นตอนการเก็บรวบรวม หากไม่ถามคำถาม "ฉันมีมัน ณ เวลาที่คาดการณ์หรือไม่" เร็ว โมเดลก็จะให้ผลสำเร็จที่ผิดพลาด
- การรวบรวมข้อมูลที่ไม่ได้รับอนุญาตหรือผิดกฎหมาย การละเมิด robots.txt เงื่อนไขการใช้งาน และ KVKK ถือเป็นความเสี่ยงร้ายแรง
เคล็ดลับ: เก็บ “การ์ดข้อมูล” หนึ่งหน้าไว้สำหรับแหล่งข้อมูลใหม่แต่ละแหล่ง ได้แก่ แหล่งที่มา วันที่ดึง จำนวนแถว ขอบเขตที่ทราบ และคอลัมน์ที่เสี่ยงต่อการรั่วไหล การ์ดใบนี้จะบันทึกคำถาม "ข้อมูลนี้คืออะไร" และความสามารถในการทำซ้ำหลายเดือนต่อมา
โดยสรุป
คุณภาพของการวิเคราะห์ถูกจำกัดด้วยคุณภาพของข้อมูลที่รวบรวม รู้จักแหล่งที่มา (ฐานข้อมูล, API, ไฟล์, สเครป) และสคีมาเป็นอย่างดี ตรวจสอบให้แน่ใจว่ากลุ่มตัวอย่างเป็นตัวแทนของประชากร กำจัดการรั่วไหลตั้งแต่วันแรกโดยถามแต่ละคอลัมน์ว่า "ฉันมีข้อมูลในขณะที่คาดการณ์หรือไม่" AI เป็นตัวเร่งที่ยอดเยี่ยมสำหรับงานสืบค้นและงานเอกสาร แต่มนุษย์เป็นผู้ตัดสินใจว่าจะรวบรวมข้อมูลใดและเป็นตัวแทนของข้อมูลนั้น ข้อจำกัดของอำนาจ กฎหมาย และการรักษาความลับต้องมาก่อนเสมอ
งานสมัคร
เลือกแหล่งข้อมูล (จากธุรกิจของคุณเองหรือสมมุติ) รับร่างพจนานุกรมข้อมูลจาก AI ด้วยเทมเพลต “การแยกพจนานุกรมข้อมูล” ด้านบน จากนั้นประเมินแต่ละคอลัมน์ด้วยตนเองเพื่อดูว่ามีการรั่วไหลหรือไม่ พยายามค้นหาคอลัมน์ที่น่าสงสัย/รั่วไหลอย่างน้อยหนึ่งคอลัมน์ และเขียนในหนึ่งประโยคว่าเหตุใดจึงมีความเสี่ยง
รายการตรวจสอบ
- [ ] ฉันได้ยืนยันแหล่งข้อมูลและสคีมากับทีมต้นทางแล้วหรือยัง
- [ ] ฉันได้ตรวจสอบแล้วว่ากลุ่มตัวอย่างเป็นตัวแทนของประชากรหรือไม่
- [ ] ฉันเคยถามคำถามแต่ละคอลัมน์ว่า "ฉันจะได้มันหรือไม่ ณ เวลาที่ประมาณการ"
- [ ] ฉันได้ทำการสุ่มตัวอย่างซ้ำได้ (เมล็ดคงที่) หรือไม่?
- [ ] ฉันได้ตรวจสอบข้อจำกัดทางกฎหมาย/จริยธรรม (หน่วยงาน, robots.txt, KVKK) แล้วหรือยัง