المكاسب:
- القدرة على التعرف على مصادر البيانات المختلفة (قاعدة البيانات، API، الملف، تجريف الويب) ومزالق كل منها وفهم المخطط بشكل صحيح
- القدرة على إجراء أخذ عينات متكررة من خلال تقييم ما إذا كانت العينة تمثل السكان والتحيز في الاختيار
- القدرة على القضاء على تسرب البيانات في مرحلة التجميع ومراقبة الحدود القانونية/الأخلاقية من خلال طرح السؤال "هل سأحصل عليها في وقت التنبؤ" في كل عمود؟
كل تحليل جيد مثل جودة البيانات التي تجمعها. فحتى النموذج الأكثر تقدما في العالم سوف يسفر عن نتائج غير موثوقة إذا كان يعمل مع بيانات تم جمعها بشكل غير صحيح، أو تم أخذ عينات منها بشكل متحيز، أو تحتوي على معلومات حول المستقبل. في علوم الكمبيوتر، يتم تلخيص هذا المبدأ على أنه "القمامة تدخل، قمامة تخرج" (القمامة تدخل، قمامة تخرج). في هذه الوحدة، سنغطي مرحلة جمع البيانات: فهم المصدر، وأخذ العينات، وطرح أسئلة الجودة، والتنبيه لخطر تسرب البيانات من اليوم الأول. يعد الذكاء الاصطناعي أداة مساعدة قوية في هذه المرحلة؛ يكتب استعلام SQL، ويلخص مستند API، ويصيغ عقد البيانات. ولكن الإنسان هو الذي يقرر ما هي البيانات التي تجمعها وما إذا كانت تلك البيانات تمثلك أم لا.
التعرف على مصادر البيانات
تأتي البيانات من أماكن مختلفة، ولكل مصدر مخاطره الخاصة. قاعدة البيانات (البيانات المنظمة المخزنة في الجداول، والتي يتم الاستعلام عنها عادةً باستخدام SQL) هي المصدر الأكثر شيوعًا؛ أنها موثوقة، ولكن من الضروري أن نفهم مخططها جيدا. توفر API (واجهة برمجة التطبيقات) بيانات حية ولكنها تنطوي على مخاطر حدود السرعة وتغييرات التنسيق. تتميز الملفات (CSV وExcel وJSON) بالمرونة ولكنها عرضة لعدم تناسق التنسيق. يعتبر تجريف الويب أمرًا قويًا، لكن له حدود قانونية وأخلاقية؛ لا يمكن كشط كل موقع.
تنبيه: بالنسبة لنسخ الويب وجمع البيانات تلقائيًا، يجب الالتزام بشروط استخدام الموقع وملف robots.txt وKVKK/GDPR. جمع البيانات غير المصرح به يخلق المسؤولية القانونية. في سياق أمن المعلومات، استخدم أدوات جمع البيانات فقط على الأنظمة المصرح لك باستخدامها ولأغراض الدفاع/التحليل؛ يحظر الوصول غير المصرح به أو تجريف.
فهم المخطط: التعرف على البيانات
قبل تجميع مجموعة بيانات، يجب عليك فهم مخططها (أسماء الأعمدة وأنواع بياناتها ومعانيها وعلاقاتها مع بعضها البعض). يعد الذكاء الاصطناعي مفيدًا جدًا هنا في إنشاء "قاموس البيانات" - وهو جدول يشرح معنى كل عمود. لكن التفسيرات التي يقدمها الذكاء الاصطناعي هي مجرد تنبؤات؛ تأكد من المعنى الحقيقي لكل عمود مع الفريق الذي أنتج البيانات. على سبيل المثال، قد يحتوي العمود المسمى "الحالة" على 0/1/2؛ فقط الفريق الأصلي يعرف ما إذا كانت هذه "معلقة/موافق عليها/ملغاة" أو أي شيء آخر.
يلخص الجدول التالي أنواع الموارد الأساسية والتحذيرات:
المصدر
نقطة قوية
فخ
كيف يساعد الذكاء الاصطناعي
قاعدة بيانات SQL
هيكلية وموثوقة
الصلات المعقدة
يكتب مسودة الاستعلام
واجهة برمجة التطبيقات
البيانات الحية
الحد الأقصى للسرعة، تغيير الشكل
ملخصات المستندات، سحب الكود
CSV/اكسل
مرنة وسريعة
عدم تناسق التنسيق
قراءة/تحليل الكود
تجريف الويب
وصول واسع
الحد القانوني/الأخلاقي
تحليل المسودة (داخل السلطة)
بيانات السجل/الحدث
مفصلة
حجم ضخم
استعلام التصفية
توضيح: هل الجزء يمثل الكل؟
في معظم الأحيان، تعمل مع عينة (مجموعة فرعية مختارة من السكان) بدلاً من البيانات بأكملها. والسؤال الحاسم هو: هل هذه العينة تمثل السكان؟ إن تحيز الاختيار هو الفخ الأكثر شيوعًا. على سبيل المثال، إذا قمت بأخذ عينة من المستخدمين من تطبيق الهاتف المحمول فقط، فلن ترى مستخدمي الويب وستكون نتائجك مضللة. يعتبر أخذ العينات العشوائية (لكل سجل فرصة متساوية في الاختيار) هو الأكثر أمانًا في معظم الحالات؛ لكن في بيانات السلاسل الزمنية، يتم التقسيم بتسلسل زمني وليس عشوائيًا (سنرى ذلك في الوحدتين 7 و10).
تسرب الوعي من اليوم الأول
يعد تسرب البيانات مصدر معظم الكوارث وعادة ما ينشأ أثناء مرحلة جمع البيانات. مثال: عند التنبؤ بـ "هل تم الإلغاء"، إذا قمت بإضافة عمود "تاريخ الإلغاء" إلى البيانات، فإن النموذج ينظر إلى المستقبل. خلال مرحلة التجميع، اطرح سؤالاً واحدًا لكل عمود: "هل سأحصل بالفعل على هذه المعلومات في الوقت الذي أقوم فيه بالتنبؤ؟" إذا كانت الإجابة لا، فهذا العمود يتسرب. سنتناول هذا الموضوع بعمق في الوحدة العاشرة؛ ولكن الوعي يجب أن يبدأ من اليوم الأول.
ثلاث حالات صغيرة
الحالة الأولى – مشكلة التمثيل. قام أحد البنوك بجمع البيانات فقط عن القروض المعتمدة لنموذج مخاطر الائتمان الخاص به (18500 سجل). الرفض لم يكن في البيانات. كان النموذج خاطئًا في العالم الحقيقي لأنه لم يرَ أبدًا كيف سيتصرف المرفوضون. الدرس المستفاد: يجب أن تكون العينة ممثلة لجميع السكان الذين تتخذ قرارك منهم.
الحالة 2 - تغيير النموذج الصامت. كان الفريق يقوم بسحب بيانات الأسعار من واجهة برمجة التطبيقات (API) كل يوم. وفي أحد الأيام، قام مزود واجهة برمجة التطبيقات (API) بتغيير العملة من الدولار الأمريكي إلى اليورو، لكن اسم النطاق ظل كما هو. تم جمع البيانات في وحدة خاطئة لمدة 12 يومًا؛ تم إتلاف 3200 سطر. الدرس: التحقق بانتظام من تناسق الحجم والتنسيق في بيانات واجهة برمجة التطبيقات (API).
الحالة 3 - التسرب المبكر. قام أحد المحللين بتضمين عمود "سبب إغلاق الحساب" عند جمع البيانات لتقدير "التغيير". تم ملء هذا العمود فقط بعد مغادرة العميل. حقق النموذج دقة بنسبة 97% في مجموعة الاختبار؛ لم ينجح الأمر في الإنتاج لأن هذا العمود كان فارغًا في وقت التنبؤ. الدرس: اطرح السؤال على كل عمود "هل أملكه في وقت التنبؤ؟"
أربعة قوالب قابلة للنسخ
1) استخراج قاموس البيانات:
دورك: مساعد عالم البيانات. فيما يلي أسماء الأعمدة وقيم النموذج (المجهولة) للجدول. بالنسبة لكل عمود، قم بإدراج معناه المقدر ونوع البيانات ومخاطر الجودة المحتملة في جدول. ضع علامة على الأعمدة التي لست متأكدًا منها على أنها "مطلوب تأكيد"؛ صنع المعنى.الأعمدة: [الصق هنا]
2) رمز أخذ العينات (عشوائي، قابل للتكرار):
لدي الباندا مدافع. اكتب كودًا يستخرج عينة عشوائية تمثيلية بنسبة 5% من 200000 صف. استخدم Random_state=42 (لإمكانية تكرار نتائج). أضف رمزًا للتأكد من أن التوزيع الطبقي للعينة يشبه التوزيع السكاني.
3) سؤال مسح التسرب:
سأعطيك هذه القائمة من الأعمدة. هدفي هو توقع "هل تم إلغاؤه" (0/1). بالنسبة لكل عمود، قم بتقييم ما إذا كنت سأحصل عليه بالفعل في وقت التنبؤ ووضع علامة عليه كـ "آمن / مشبوه / تسرب". اكتب مبرراتك في جملة واحدة. الأعمدة: [قائمة]
4) مسودة استعلام سحب SQL:
لدي جداول "الطلبات" و"العملاء" في PostgreSQL. اكتب استعلام JOIN يجمع الطلبات في آخر 90 يومًا مع مدينة العميل ويعيد المبلغ الإجمالي وعدد الطلبات لكل مدينة. اشرح عامل تصفية التاريخ وكيفية التعامل مع المدن الخالية. سأقوم بتشغيل الاستعلام والتحقق منه.
موجه ضعيف / موجه قوي
حث ضعيف:
اسحب لي عينة بيانات جيدة من قاعدة البيانات هذه.
"جيد" غامض. أي لوحة، أي فترة، أي حجم، أي غرض غير واضح. لن ينتج الذكاء الاصطناعي سوى استعلام عام، وربما يكون خاطئًا.
مطالبة قوية:
دورك: مساعد SQL. لدي جدول "المعاملات": معرف الأعمدة، معرف_العميل، التاريخ (الطابع الزمني)، المبلغ (رقمي)، القناة (النص: "الويب"/"الجوال"). المهمة: كتابة استعلام قابل للتكرار (حتمي مع ORDER BY) يقوم بإرجاع 10000 صف تمثيلي من كل قناة لعام 2024. الغرض: التحليل المقارن للقناة. قم بإدراج افتراضات الاستعلام الخاص بك.
هنا يكون الجدول والغرض والحجم والتكرار واضحًا.
الأخطاء الشائعة
- عدم التشكيك في تمثيلية العينة. البيانات التي يسهل الوصول إليها ليست بيانات دقيقة؛ التحيز في الاختيار يشوه النتيجة.
- تكييف معاني الأعمدة مع الذكاء الاصطناعي. الفريق المصدر يعرف المعنى؛ لا تستخدم تنبؤات الذكاء الاصطناعي دون تأكيدها.
- عدم تتبع تغيير تنسيق/وحدة واجهة برمجة التطبيقات. يقوم التغيير الصامت بجمع البيانات الفاسدة لعدة أيام.
- تجاهل التسرب في مرحلة التجميع. إذا لم يتم طرح السؤال "هل سأحصل عليه في وقت التنبؤ" مبكرًا، فسيعطي النموذج نجاحًا زائفًا.
- جمع البيانات غير المصرح بها أو غير القانونية. يعد انتهاك ملف robots.txt وشروط الاستخدام وKVKK خطرًا كبيرًا.
نصيحة: احتفظ بـ "بطاقة بيانات" مكونة من صفحة واحدة لكل مصدر بيانات جديد: المصدر وتاريخ السحب وعدد الصفوف والحدود المعروفة والأعمدة المعرضة لخطر التسرب. تحفظ هذه البطاقة سؤال "ما هي هذه البيانات" وإمكانية تكرارها بعد أشهر.
باختصار
جودة التحليل محدودة بجودة البيانات التي تم جمعها. معرفة المصدر (قاعدة البيانات، API، الملف، الكشط) والمخطط جيدًا؛ التأكد من أن العينة تمثل السكان؛ قم بإزالة التسرب من اليوم الأول عن طريق سؤال كل عمود "هل أحصل عليه في وقت التنبؤ؟" يعد الذكاء الاصطناعي أداة رائعة لتسريع عمليات الاستعلام والتوثيق، لكن البشر هم الذين يقررون البيانات التي يجب جمعها ومدى تمثيلها. حدود السلطة والقانون والسرية تأتي دائمًا في المقام الأول.
مهمة التطبيق
اختر مصدر بيانات (من عملك الخاص أو افتراضي). احصل على مسودة قاموس بيانات من الذكاء الاصطناعي باستخدام قالب "استخراج قاموس البيانات" أعلاه؛ ثم قم بتقييم كل عمود يدويًا لمعرفة ما إذا كان قد تم تسريبه. حاول العثور على عمود واحد على الأقل مريب/مسرب واكتب في جملة واحدة سبب خطورة ذلك.
قائمة مرجعية
- [ ] هل قمت بتأكيد مصدر البيانات والمخطط مع الفريق المصدر؟
- [ ] هل تأكدت من أن العينة تمثل المجتمع؟
- [ ] هل سألت كل عمود السؤال "هل سأحصل عليه وقت التقدير؟"
- [ ] هل قمت بجعل العينات قابلة للتكرار (البذور الثابتة)؟
- [ ] هل قمت بالتحقق من الحدود القانونية/الأخلاقية (السلطة، ملف robots.txt، KVKK) للجمع؟