پرش به محتوای اصلی
پرش به محتوای مقاله

پیش‌پردازش داده‌ها: سدی در برابر ورود زباله به مدل‌های هوش مصنوعی سازمانی

·۱۵ مهر ۱۴۰۵۷ دقیقه مطالعه
راهنما
روز ششم: پیش‌پردازش داده — پاکسازی واقعیت آشفته داده‌های سازمانی
روز ششم: پیش‌پردازش داده — پاکسازی واقعیت آشفته داده‌های سازمانی
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

تمرکز بر جزئیات عملیاتی پیش‌پردازش داده‌های سخت‌افزاری و مالی در محیط سازمانی، به جای بحث‌های کلی درباره کیفیت داده. ارائه متدولوژی دقیق برای مدیریت داده‌های پرت در تجهیزات شبکه (مثل Mellanox) یک رویکرد کاربردی و خاص است.

اگر امروز مدل‌های هوش مصنوعی خود را مستقیماً به پایگاه‌داده‌های قدیمی شرکت متصل کرده‌اید، احتمالاً در حال آموزش سیستم برای شناسایی «باگ‌های دیتابیس» هستید، نه الگوهای تجاری. قانون اول در این حوزه ساده است: «ورودی زباله، خروجی زباله» (Garbage in, garbage out). یک مدل تنها می‌تواند از آنچه به آن می‌دهید یاد بگیرد. در دنیای سازمانی، داده‌های ارائه‌شده تقریباً همیشه معیوب هستند، به این معنی که کیفیت یک مدل دقیقاً به اندازه کیفیت اطلاعاتی است که مصرف می‌کند. تغذیه یک شبکه عصبی با لاگ‌های خام و پاک‌نشده، هوش مصنوعی را آموزش نمی‌دهد؛ بلکه سیستم را آموزش می‌دهد تا نقص‌های خاص دیتابیس‌های قدیمی شما را شناسایی کند.

به نقل از آموزش‌های کاربردی منتشر شده در پلتفرم dev.to در ۷ اکتبر ۲۰۲۶، مرحله «شست‌وشو و خرد کردن» داده‌ها، حیاتی‌ترین بخش خط لوله (Pipeline) هوش مصنوعی است. این فرآیند شبیه آماده‌سازی سبزیجات قبل از آشپزی است؛ هیچ دستور پخت عالی‌ای نمی‌تواند غذایی را که با مواد اولیه کثیف یا نیمه‌گندیده درست شده، نجات دهد. همان‌طور که در تحلیل قبلی ما درباره‌ی هوش مصنوعی سایه (Shadow AI) و خطرات نشت داده‌های سازمانی اشاره کردیم، اکنون تمرکز از امنیت به کیفیت جابه‌جا شده است. در این راستا، بهینه‌سازی فرآیندهای آماده‌سازی داده‌ها می‌تواند مشابه رویکردهای جدید در حل بحران برچسب‌گذاری داده‌ها در AI صنعتی باشد که برای کاهش وابستگی به داده‌های دستی طراحی شده‌اند.

زمینه: هرج‌ومرج در داده‌های سازمانی

داده‌های دنیای واقعی در سازمان‌ها به‌ندرت در یک نقطه تولید می‌شوند. این داده‌ها معمولاً از ترکیب سیستم‌های متضاد و پراکنده به دست می‌آیند. برای مثال، یک سازمان ممکن است بخواهد یک پایگاه‌داده قدیمی منابع انسانی (HR) را با یک سیستم ERP ابری مدرن ترکیب کند و هم‌زمان، جریان‌هایی از حسگرهای سخت‌افزاری و لاگ‌های دستگاه‌ها را نیز استخراج نماید.

هر سیستم عادت‌ها، فرمت‌ها، واحدها و حالت‌های شکست (Failure modes) خاص خود را دارد. وقتی این سیستم‌ها با هم برخورد می‌کنند، مجموعه‌ای آشفته ایجاد می‌شود که یا باعث کرش کردن اکثر الگوریتم‌ها می‌شود یا بدتر از آن، پیش‌بینی‌هایی تولید می‌کند که با اطمینان بالا اما کاملاً غلط هستند. فرقی نمی‌کند در حال تحلیل خروجی کنسول سخت‌افزارهای شبکه با کارایی بالا باشید — مانند عیب‌یابی داده‌های EEPROM ترانسیور در یک سوئیچ Mellanox SN2100 — یا در حال تجمیع حجم معاملات روزانه برای REITها و InVITهای هند باشید؛ داده‌های خام همیشه پر از خطا، شکاف و ناهنجاری هستند.

پیش‌پردازش داده‌ها مانند یک خط مونتاژ عمل می‌کند. داده‌های خام از ایستگاه‌های خاصی عبور می‌کنند که مقادیر گم‌شده، داده‌های پرت، ردیف‌های تکراری و واحدهای ناسازگار را مدیریت می‌کنند تا در نهایت داده‌ها در فرمت عددی و پاکی ظاهر شوند که الگوریتم‌ها به آن نیاز دارند. این دقت در پیش‌پردازش، پیش‌نیاز دستیابی به بهره‌وری‌هایی است که در دست‌ورده‌های پیش‌آموزش Magic برای کاهش هزینه‌های محاسباتی مشاهده شده است.

حل چالش مقادیر گم‌شده

ناقص بودن مجموعه‌داده‌ها رایج‌ترین مانع در محیط‌های عملیاتی است. برای مثال، اگر در جدولی از بازده سود سهام برای KRT REIT یا PGINVIT، داده‌های چندین روز گم شده باشد، اکثر الگوریتم‌ها یا با خطا متوقف می‌شوند یا به‌طور بی‌صدا ردیف‌ها را حذف می‌کنند که این امر منجر به سوگیری (Bias) در نتایج می‌شود.

مهندسان برای حل این مشکل سه استراتژی اصلی دارند:

  • حذف (Deletion): این روش شامل حذف کامل ردیفی است که دارای مقدار گم‌شده است (به صورت listwise یا pairwise). این کار تنها زمانی منطقی است که مجموعه‌داده بسیار بزرگ باشد و داده‌های گم‌شده به‌صورت تصادفی حذف شده باشند؛ در غیر این صورت، شما اطلاعات ارزشمندی را دور می‌ریزید و مدل را دچار سوگیری می‌کنید.
  • جایگزینی آماری (Imputation): پر کردن شکاف‌ها با تخمین‌های آماری مانند میانگین، میانه یا مد. برای مثال، اگر حسگر دمای یک رک سرور برای یک دقیقه آفلاین شود، جایگزینی مقدار null با میانه ۵ دقیقه اطراف، اجازه می‌دهد مدل به کار خود ادامه دهد. در اینجا، میانه معمولاً ایمن‌تر از میانگین است، به‌ویژه زمانی که مقادیر دارای توزیع نامتقارن (Skewed) باشند. برای داده‌های دسته‌ای (Categorical)، مانند نام یک شهر، از «مد» (رایج‌ترین مقدار) استفاده می‌شود.
  • جایگزینی پیشرفته: استفاده از یک مدل دیگر، مانند رگرسیون خطی یا الگوریتم نزدیک‌ترین همسایه (Nearest Neighbors)، برای پیش‌بینی مقدار گم‌شده بر اساس سایر ستون‌های موجود.

گاهی اوقات، نبودِ داده خودش یک سیگنال است. برای مثال، حسگری که همیشه درست قبل از یک نقص سخت‌افزاری از کار می‌افتد، یک الگوی حیاتی را ارائه می‌دهد. در این حالت، افزودن یک ستون باینری ساده — مثلاً «آیا مقدار گم شده بود: بله/خیر» — به مدل اجازه می‌دهد از این فقدان به عنوان یک ویژگی پیش‌بینی‌کننده (Predictive feature) استفاده کند.

مهار داده‌های پرت و ناهنجاری‌ها

داده‌های پرت (Outliers) نقاطی هستند که بسیار دور از الگوی نرمال قرار دارند و می‌توانند تصور مدل از «عادی بودن» را به‌شدت تغییر دهند. برای شناسایی آن‌ها، مهندسان از مرزهای آماری برای علامت‌گذاری موارد مشکوک استفاده می‌کنند:

  • Z-score: این شاخص محاسبه می‌کند که یک مقدار چند انحراف معیار با میانگین فاصله دارد. به‌طور کلی، Z-score بالای ۳ غیرعادی تلقی می‌شود.
  • قاعده IQR (دامنه بین‌چارکی): این روش مقادیری را علامت‌گذاری می‌کند که بیش از ۱.۵ برابر IQR فراتر از نیمه میانی داده‌ها قرار دارند.

البته هر داده پرت، یک خطا نیست. یک جهش شدید در تأخیر (Latency) سوئیچ Mellanox SN2100 ممکن است نشان‌دهنده یک رویداد واقعی، مانند حمله DDoS باشد و شما می‌خواهید مدل شما آن را ببیند. اگر جهش یک رویداد واقعی است، باید حفظ و علامت‌گذاری شود. اما اگر یک خطای داده است، مهندسان از روش وینسوریزاسیون (Winsorization) استفاده می‌کنند تا مقادیر افراطی را در یک صدک (Percentile) انتخابی محدود کنند. این کار اثر آن‌ها بر وزن‌های مدل را بدون حذف کامل رکورد کاهش می‌دهد.

حذف تکرار و استانداردسازی

ادغام سیستم‌های مختلف اغلب منجر به ایجاد ردیف‌های تکراری و تضاد در فرمت‌ها می‌شود. چون مدل‌ها از مشاهدات یاد می‌گیرند، هر ردیف باید منحصربه‌فرد باشد.

  • حذف تکرار (Deduplication): اگر لاگ کرش یک سرور ۵۰ بار تکرار شده باشد، یک شبکه عصبی (Neural Network) — که شبیه نقشه مترویی است و سیگنال را از ورودی به جواب می‌رساند — به آن خطای خاص وزن بیش از حد می‌دهد و به اشتباه نتیجه می‌گیرد که این خطا بسیار رایج‌تر از مقدار واقعی است. حذف تکرار تضمین می‌کند که خطا یک بار شمرده شود و تصویر واقعی نمایش داده شود.

  • یکسان‌سازی واحدها و فرمت‌ها: هر ستون باید دقیقاً یک معنا داشته باشد. اگر یک سیستم پهنای باند شبکه را با MB/s و دیگری با Gbps گزارش می‌کند، آن‌ها باید ابتدا به یک واحد واحد تبدیل شوند. همین موضوع برای فرمت‌های تاریخ، مناطق زمانی، ارزها و حتی املای متون صادق است. تبدیل همه چیز به یک واحد، مانع از آن می‌شود که مدل تفاوت‌هایی را ببیند که در واقعیت وجود ندارند.

مسئله مقیاس‌بندی (Scaling)

مقیاس‌بندی ویژگی‌ها (Feature Scaling) مانع از آن می‌شود که اعداد بزرگ بر مدل غلبه کنند. وقتی یک ویژگی در محدوده صدها هزار (مانند درآمد سالانه) و ویژگی دیگر بین ۰ تا ۱۰۰ (مانند سن) باشد، اعداد بزرگ می‌توانند وزن‌های ریاضی مدل را تصاحب کنند و ویژگی‌های کوچک‌تر را نادیده بگیرند.

مهندسان با قرار دادن ویژگی‌ها در یک محدوده قابل مقایسه، این مشکل را حل می‌کنند. دو روش اصلی برای این کار وجود دارد:

  • مقیاس‌بندی Min-max: تغییر مقیاس داده‌ها به یک محدوده ثابت (معمولاً بین ۰ تا ۱).
  • استانداردسازی (Standardization): تفریق میانگین و تقسیم بر انحراف معیار.

پیاده‌سازی با پایتون

با استفاده از کتابخانه pandas، این مراحل را می‌توان خودکار کرد. در مثال زیر، پنج اصلاح کلیدی روی داده‌های سرور اعمال شده است:

import numpy as np
import pandas as pd

df = pd.DataFrame({
    "server": ["a", "a", "b", "c", "d", "e"],
    "temp_c": [41.0, 41.0, None, 43.0, 44.1, 95.0], # یک شکاف، یک جهش مشکوک
    "speed": [1.0, 1.0, 125.0, 0.8, 1.2, 1.1],
    "unit": ["Gbps", "Gbps", "MB/s", "Gbps", "Gbps", "Gbps"],
})

df = df.drop_duplicates() # ۱. حذف ردیف تکراری
df["gbps"] = np.where(df["unit"] == "MB/s", df["speed"] * 8 / 1000, df["speed"]) # ۲. یکسان‌سازی واحد
df["temp_c"] = df["temp_c"].fillna(df["temp_c"].median()) # ۳. پر کردن شکاف با میانه

q1, q3 = df["temp_c"].quantile([0.25, 0.75]) # ۴. محدود کردن داده‌های پرت با قاعده IQR
df["temp_c"] = df["temp_c"].clip(q1 - 1.5 * (q3 - q1), q3 + 1.5 * (q3 - q1))

df["temp_scaled"] = (df["temp_c"] - df["temp_c"].min()) / (df["temp_c"].max() - df["temp_c"].min()) # ۵. مقیاس‌بندی ۰ تا ۱

print(df[["server", "temp_c", "gbps", "temp_scaled"]].round(2).to_string(index=False))

اجرای این کد منجر به مقادیر پاک‌سازی شده‌ای می‌شود: ردیف تکراری حذف شده، دمای گم‌شده با میانه (۴۳.۵۵) پر شده، دمای مشکوک ۹۵ درجه به ۴۵.۷۵ محدود شده و سرعت در واحد Gbps یکسان شده است.

خطر نشت داده‌ها (Data Leakage)

یک تله ظریف اما مرگبار در پیش‌پردازش وجود دارد: محاسبه قوانین پاک‌سازی (مانند میانه، میانگین یا محدوده مقیاس‌بندی) روی کل مجموعه داده، پیش از آنکه داده‌ها به مجموعه‌های آموزش (Training) و آزمون (Test) تفکیک شوند.

این اتفاق نشت داده (Data Leakage) نام دارد. این کار اجازه می‌دهد اطلاعات مجموعه آزمون به فرآیند آموزش نفوذ کند و باعث شود مدل بسیار دقیق‌تر از آنچه در واقعیت هست به نظر برسد. تنها ترتیب امن این است: ابتدا داده‌ها را تفکیک کنید، قوانین پاک‌سازی را فقط از روی مجموعه آموزش یاد بگیرید و سپس همان قوانین یکسان را روی مجموعه آزمون اعمال کنید.

برای هر متخصصی، کیفیت یک سیستم هوش مصنوعی مدت‌ها پیش از انتخاب مدل، تعیین می‌شود. تلاش مهندسی صرف شده برای پاک‌سازی داده‌هاست که یک ابزار آماده برای تولید (Production-ready) را از یک کنجکاوی آزمایشگاهی جدا می‌کند.

گام بعدی شما

  • بررسی توزیع داده‌های خود با نمودارهای Boxplot برای شناسایی سریع داده‌های پرت.
  • پیاده‌سازی خط لوله (Pipeline) تفکیک داده‌ها پیش از هرگونه محاسبه آماری برای جلوگیری از نشت داده.
  • جایگزینی میانگین با میانه در ستون‌هایی که دارای توزیع نامتقارن هستند.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی تراشه‌های Blackwell مراجعه کنید.

چرا این موضوع مهم است؟

این رویکرد بر اساس تجربه عملی در استقرار مدل‌های سازمانی است و نشان می‌دهد که دقت مدل مستقیماً به کیفیت پیش‌پردازش وابسته است. نادیده گرفتن این مراحل منجر به مدل‌هایی می‌شود که در محیط تست عالی‌اند اما در تولید (Production) به دلیل نشت داده یا سوگیری، شکست می‌خورند.

تأثیر برای ایران

برای توسعه‌دهندگان ایرانی که با دیتابیس‌های قدیمی و ناهمگون در سازمان‌های داخلی سر و کار دارند، این متدولوژی برای جلوگیری از توهم مدل‌ها در محیط عملیاتی حیاتی است.

·نگاه ما
تحریریه دات‌هوش

بسیاری از شکست‌های پروژه‌های AI در سازمان‌ها نه به دلیل ضعف معماری مدل، بلکه به دلیل نادیده گرفتن لایه مهندسی داده رخ می‌دهد. این موضوع نشان می‌دهد که در دنیای واقعی، مهارت در استفاده از pandas و numpy برای یک مهندس ML، بسیار تعیین‌کننده‌تر از تسلط بر آخرین مقالات معماری ترنسفورمر است. در واقع، «پاک‌سازی داده» همان جایی است که تئوری‌های آکادمیک با واقعیت‌های کثیف دیتابیس‌های سازمانی برخورد می‌کنند.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.