سود:
- توانایی تشخیص منابع داده های مختلف (پایگاه داده، API، فایل، خراش وب) و مشکلات هر یک و درک درست طرحواره
- توانایی انجام نمونه گیری تکرارپذیر با ارزیابی اینکه آیا نمونه نشان دهنده جامعه و سوگیری انتخاب است یا خیر
- امکان حذف نشت داده ها در مرحله جمع آوری و رعایت مرزهای قانونی/اخلاقی با پرسیدن سوال "آیا در زمان پیش بینی آن را خواهم داشت" در هر ستون؟
هر تحلیلی به اندازه کیفیت داده هایی است که جمع آوری می کنید. حتی پیشرفتهترین مدل در جهان اگر با دادههایی که بهطور نادرست جمعآوری شدهاند، نمونهبرداری شدهاند یا حاوی اطلاعاتی درباره آینده باشند، کار کند، نتایج غیرقابل اعتمادی تولید خواهد کرد. در علوم کامپیوتر، این اصل به صورت "زغاله در، زباله بیرون" خلاصه می شود (زغال در، زباله بیرون). در این بخش، مرحله جمعآوری دادهها را پوشش میدهیم: درک منبع، نمونهگیری، پرسیدن سؤالات با کیفیت، و هوشیاری نسبت به خطر نشت دادهها از روز اول. هوش مصنوعی یک کمک قدرتمند در این مرحله است. پرس و جوی SQL را می نویسد، سند API را خلاصه می کند، قرارداد داده را پیش نویس می کند. اما این انسان است که تصمیم میگیرد چه دادههایی را جمعآوری کنید و آیا آن دادهها شما را نشان میدهند یا خیر.
آشنایی با منابع داده
داده ها از مکان های مختلفی می آیند و هر منبع مشکلات خاص خود را دارد. پایگاه داده (داده های ساختاریافته ذخیره شده در جداول، معمولاً با SQL پرس و جو می شوند) رایج ترین منبع است. قابل اعتماد است، اما لازم است که طرح آن را به خوبی درک کنید. API (Application Programming Interface) داده های زنده را ارائه می دهد اما خطر محدودیت سرعت و تغییر قالب را به همراه دارد. فایلها (CSV، Excel، JSON) انعطافپذیر هستند اما مستعد ناسازگاری قالب هستند. اسکرپینگ وب قدرتمند است، اما محدودیت های قانونی و اخلاقی دارد. هر سایتی را نمی توان خراش داد.
توجه: برای حذف وب و جمعآوری خودکار دادهها، شرایط استفاده از سایت، فایل robots.txt و KVKK/GDPR را رعایت کنید. جمع آوری داده های غیرمجاز مسئولیت قانونی ایجاد می کند. در زمینه امنیت اطلاعات، از ابزارهای جمعآوری دادهها فقط در سیستمهایی که برای آنها مجاز هستید و برای اهداف دفاعی/تحلیلی استفاده کنید. دسترسی یا خراش دادن غیرمجاز ممنوع است.
درک طرحواره: آشنایی با داده ها
قبل از جمع آوری یک مجموعه داده، باید طرحواره آن (نام ستون ها، انواع داده ها، معانی آنها و روابط آنها با یکدیگر) را درک کنید. هوش مصنوعی در اینجا برای ایجاد یک "فرهنگ لغت داده" بسیار مفید است - جدولی که معنی هر ستون را توضیح می دهد. اما توضیحاتی که هوش مصنوعی ارائه می کند پیش بینی است. معنای واقعی هر ستون را با تیمی که داده ها را تولید کرده است تأیید کنید. به عنوان مثال، ستونی به نام "وضعیت" ممکن است حاوی 0/1/2 باشد. فقط تیم مبدأ میداند که آیا این موارد «در انتظار/تأیید/لغو» هستند یا چیز دیگری.
جدول زیر انواع منابع اساسی و احتیاط ها را خلاصه می کند:
منبع
نقطه قوت
تله
هوش مصنوعی چگونه کمک می کند
پایگاه داده SQL
ساختاری، قابل اعتماد
پیوندهای پیچیده
پیش نویس پرس و جو می نویسد
API
داده های زنده
محدودیت سرعت، تغییر شکل
خلاصه اسناد، کد pull
CSV/Excel
انعطاف پذیر، سریع
ناسازگاری قالب
خواندن/تجزیه کد
خراش دادن وب
دسترسی گسترده
محدودیت قانونی/اخلاقی
تجزیه پیش نویس (در چارچوب اختیارات)
داده های گزارش/رویداد
دقیق
حجم عظیم
فیلتر کردن پرس و جو
تصویر: آیا جزء نمایانگر کل است؟
بیشتر اوقات، شما با یک نمونه (یک زیرمجموعه انتخاب شده از جامعه) به جای کل داده ها کار می کنید. سوال مهم این است: آیا این نمونه نشان دهنده جامعه است؟ سوگیری انتخاب رایج ترین دام است. به عنوان مثال، اگر فقط از کاربران برنامه تلفن همراه نمونه برداری کنید، کاربران وب را نخواهید دید و نتایج شما گمراه کننده خواهد بود. نمونه گیری تصادفی (هر رکورد شانس مساوی برای انتخاب شدن دارد) در بیشتر موارد امن ترین است. اما در داده های سری زمانی، تقسیم به جای تصادفی به صورت زمانی انجام می شود (این را در واحدهای 7 و 10 خواهیم دید).
نشت آگاهی از روز اول
نشت داده ها منبع اکثر بلایا است و معمولاً در مرحله جمع آوری داده ها به وجود می آید. مثال: هنگام پیشبینی «لغو شد»، اگر ستون «تاریخ لغو» را به دادهها اضافه کنید، مدل به آینده نگاه میکند. در مرحله جمع آوری، برای هر ستون یک سوال بپرسید: "آیا در زمان انجام پیش بینی واقعاً این اطلاعات را خواهم داشت؟" اگر پاسخ منفی است، آن ستون در حال نشت است. ما این موضوع را به طور عمیق در بخش 10 پوشش خواهیم داد. اما آگاهی باید از روز اول شروع شود.
سه کیف کوچک
مورد 1 - مشکل نمایندگی. یک بانک اطلاعاتی را فقط در مورد وام های تایید شده برای مدل ریسک اعتباری خود جمع آوری کرد (18500 رکورد). رد در داده ها نبود. این مدل در دنیای واقعی اشتباه می کرد زیرا هرگز نمی دید که افراد رد شده چگونه رفتار می کنند. درس: نمونه باید نماینده کل جمعیتی باشد که از آن تصمیم می گیرید.
مورد 2 - تغییر فرم بی صدا. تیمی هر روز دادههای قیمت را از یک API بیرون میکشید. یک روز، ارائه دهنده API ارز را از USD به EUR تغییر داد، اما نام دامنه ثابت ماند. داده ها در واحد اشتباه به مدت 12 روز جمع آوری شد. 3200 خط خراب شد. درس: به طور منظم حجم و سازگاری قالب را در داده های API بررسی کنید.
مورد 3 - نشت اولیه. یک تحلیلگر ستون «دلیل بسته شدن حساب» را هنگام جمعآوری دادهها برای برآورد «چرخش» گنجاند. این ستون تنها پس از خروج مشتری پر شد. این مدل در مجموعه آزمایشی دقت 97 درصدی را به همراه داشت. در تولید کار نکرد زیرا آن ستون در زمان پیشبینی خالی بود. درس: از هر ستون این سوال را بپرسید "آیا در زمان پیش بینی آن را دارم؟"
چهار قالب قابل کپی
1) استخراج داده ها از فرهنگ لغت:
نقش شما: دستیار دانشمند داده. در زیر نام ستون ها و مقادیر نمونه (ناشناس) یک جدول آمده است. برای هر ستون، معنای تخمینی، نوع داده و خطرات بالقوه کیفیت آن را در جدول فهرست کنید. ستون هایی را که مطمئن نیستید به عنوان "تایید مورد نیاز" علامت گذاری کنید. به معنی ساختن. ستون ها: [اینجا بچسبانید]
2) کد نمونه (تصادفی، قابل تکرار):
من پاندا df دارم. کدی بنویسید که یک نمونه تصادفی نماینده 5% از 200000 ردیف استخراج کند. از random_state=42 (برای تکرارپذیری) استفاده کنید. برای بررسی اینکه توزیع کلاس نمونه مشابه جامعه است، کد اضافه کنید.
3) سوال اسکن نشت:
من این لیست از ستون ها را به شما می دهم. هدف من پیش بینی "آیا لغو شد" است (0/1). برای هر ستون، ارزیابی کنید که آیا من واقعاً آن را در زمان پیشبینی دارم و آن را به عنوان "ایمن / مشکوک / نشت" علامت گذاری کنید. دلیل خود را در یک جمله بنویسید. ستون ها: [لیست]
4) پیش نویس پرس و جو کششی SQL:
من جداول "سفارش" و "مشتریان" را در PostgreSQL دارم. یک جستار JOIN بنویسید که سفارشات 90 روز گذشته را با شهر مشتری ترکیب می کند و کل مبلغ و تعداد سفارشات در هر شهر را برمی گرداند. فیلتر تاریخ و نحوه مدیریت شهرهای NULL را توضیح دهید. من پرس و جو را اجرا می کنم و آن را تأیید می کنم.
اعلان ضعیف / اعلان قوی
اعلان ضعیف:
یک داده نمونه خوب از این پایگاه داده برای من بکشید.
«خوب» مبهم است. کدام نقاشی، کدام دوره، کدام اندازه، کدام هدف مشخص نیست. هوش مصنوعی فقط یک پرس و جو عمومی و احتمالاً اشتباه ایجاد می کند.
اعلان قدرتمند:
نقش شما: دستیار SQL. من یک جدول "معاملات" دارم: شناسه ستون، شناسه مشتری، تاریخ (مهر زمانی)، مبلغ (عددی)، کانال (متن: "وب"/"موبایل"). وظیفه: یک پرس و جو تکرار شونده (تعیین کننده با ORDER BY) بنویسید که 10000 ردیف نماینده از هر کانال برای سال 2024 برمی گرداند. هدف: تحلیل مقایسه ای کانال. مفروضات درخواست خود را فهرست کنید.
در اینجا جدول، هدف، اندازه و تکرارپذیری واضح است.
اشتباهات رایج
- عدم زیر سوال بردن نماینده بودن نمونه. داده هایی که به راحتی در دسترس هستند، داده های دقیقی نیستند. سوگیری انتخاب نتیجه را مخدوش می کند.
- تطبیق معانی ستون با هوش مصنوعی تیم منبع معنی را می داند. از پیش بینی هوش مصنوعی بدون تایید آن استفاده نکنید.
- ردیابی تغییر قالب/واحد API. تغییر بی صدا داده های فاسد را برای روزها جمع آوری می کند.
- نادیده گرفتن نشت در مرحله جمع آوری. اگر سوال "آیا در زمان پیش بینی آن را دارم" زود پرسیده نشود، مدل موفقیت کاذب خواهد داشت.
- جمع آوری داده های غیرمجاز یا غیرقانونی نقض robots.txt، شرایط استفاده و KVKK یک خطر جدی است.
نکته: برای هر منبع داده جدید یک «کارت داده» یک صفحهای نگه دارید: منبع، تاریخ انتشار، تعداد ردیفها، مرزهای شناخته شده و ستونهایی که در معرض خطر نشت هستند. این کارت ماهها بعد سؤال «این دادهها چه بود» و قابلیت تکرار را ذخیره میکند.
به طور خلاصه
کیفیت تجزیه و تحلیل با کیفیت داده های جمع آوری شده محدود می شود. منبع (پایگاه داده، API، فایل، scrape) و طرحواره را به خوبی بشناسید. مطمئن شوید که نمونه نماینده جامعه است. نشتی را از روز اول از بین ببرید و از هر ستون بپرسید "آیا در زمان پیش بینی آن را دارم؟" AI is a great accelerator for query and document work, but humans decide what data to collect and its representativeness. محدودیت های اختیارات، قانون و رازداری همیشه در اولویت هستند.
وظیفه کاربردی
یک منبع داده (از کسب و کار خود یا فرضی) انتخاب کنید. پیش نویس فرهنگ لغت داده را از هوش مصنوعی با الگوی «استخراج فرهنگ لغت داده» در بالا دریافت کنید. سپس هر ستون را به صورت دستی ارزیابی کنید تا ببینید آیا لو رفته است یا خیر. سعی کنید حداقل یک ستون مشکوک/نشتی پیدا کنید و در یک جمله بنویسید که چرا ریسک دارد.
چک لیست
- [ ] آیا منبع داده و طرحواره را با تیم منبع تأیید کرده ام؟
- [ ] آیا بررسی کرده ام که نمونه نماینده جامعه است؟
- [ ] آیا از هر ستون این سوال پرسیده ام که "آیا در زمان برآورد آن را خواهم داشت؟"
- [ ] آیا نمونه برداری را قابل تکرار (دانه ثابت) کرده ام؟
- [ ] آیا محدودیت های قانونی/اخلاقی (مرجع، robots.txt، KVKK) مجموعه را بررسی کرده ام؟