یونٹ 3 / 11

ڈیٹا کلیننگ اور پری پروسیسنگ: گم شدہ ویلیو، آؤٹ لیئر اور ٹائپ کنورژن

فائدہ:

  • گمشدہ اقدار (بے ترتیب، منظم، بامعنی) کی وجہ کو پہچاننے اور مناسب حکمت عملی کا انتخاب کرنے اور صرف تربیت سے ہی فل ویلیو کا حساب لگانے کی صلاحیت
  • آؤٹ لیرز کو حذف کرنے سے پہلے ان کی جانچ کرنے اور ڈیٹا کی غلطی اور ایک حقیقی نادر واقعہ کے درمیان فرق کرنے کی صلاحیت
  • قسم اور فارمیٹ میں تضادات کو معیار پر لاتے ہوئے لائنوں/خالی جگہوں کی تعداد پر ہر قدم کے اثرات کی نگرانی کرکے خاموش نقصان کو روکنے کی صلاحیت

ڈیٹا سائنسدان کا تقریباً 60-80 فیصد وقت صفائی پر جاتا ہے۔ صنعت میں، اسے آدھے مذاق میں "ڈیٹا رینگلنگ" (ڈیٹا رینگلنگ یا ڈیٹا کی صفائی) کہا جاتا ہے۔ کیونکہ حقیقی دنیا کا ڈیٹا تقریباً کبھی بھی تجزیہ کے لیے تیار نہیں ہوتا: تاریخیں مخلوط شکلوں میں ہوتی ہیں، نمبرز کو متن کے طور پر محفوظ کیا جاتا ہے، کچھ سیل خالی ہوتے ہیں، ایک گاہک ایک ہی ٹیبل میں تین بار دو مختلف املا کے ساتھ ظاہر ہوتا ہے۔ اس یونٹ میں ہم صفائی کے تین بنیادی پہلوؤں کا احاطہ کریں گے: گمشدہ اقدار، آؤٹ لیرز، اور قسم/فارمیٹ کی تبدیلی۔ مصنوعی ذہانت اس کام میں ایک غیر معمولی تیزی سے معاون ہے۔ لیکن یہ آپ فیصلہ کرتے ہیں کہ کیا صاف کرنا ہے اور کیسے، کیونکہ ہر صفائی کا انتخاب تجزیہ کو بدل دیتا ہے۔

صفائی کا سنہری اصول: ہر تبدیلی ایک فیصلہ ہے۔

سیل کو حذف کرنا، ایک گمشدہ قدر کو وسط کے ساتھ بھرنا، آؤٹ لیئر کو تراشنا—ان میں سے کوئی بھی "غیر جانبدار" آپریشن نہیں ہے۔ ہر ایک ڈیٹا کو تبدیل کرتا ہے اور نتیجہ کو متاثر کرتا ہے۔ لہذا صفائی کا سنہری اصول: کوڈ میں ہر تبدیلی کو لکھیں، عقلیت کو نوٹ کریں، اصل ڈیٹا کو کبھی بھی اوور رائٹ نہ کریں۔ AI آپ کو فوری کلین اپ کوڈ دیتا ہے، لیکن یہ آپ کی ذمہ داری ہے کہ یہ سمجھیں کہ وہ کوڈ کیا کرتا ہے۔ جب آپ "خالی لائنوں کو حذف کریں" کہتے ہیں تو یہ دیکھے بغیر نہ چلائیں کہ کتنی لائنیں ختم ہوگئیں۔

احتیاط: اصل خام ڈیٹا میں کبھی بھی ترمیم نہ کریں۔ صاف شدہ ورژن کو الگ فائل/ٹیبل پر لکھیں۔ اس طرح، اگر آپ کو کوئی غلطی نظر آتی ہے، تو آپ مربع ون پر واپس جا سکتے ہیں اور تولیدی صلاحیت کو برقرار رکھ سکتے ہیں۔

لاپتہ اقدار: یہ کیوں خالی ہے، کیا کرنا ہے۔

ایک گمشدہ قدر (عام طور پر پانڈا میں NaN — "Not a Number" کے طور پر ظاہر ہوتی ہے) تب ہوتی ہے جب سیل خالی ہوتا ہے۔ لیکن فرق کی وجہ حل کا تعین کرتی ہے۔ تین عام حالات ہیں۔ بے ترتیب غائب: سینسر نے ایک لمحے کے لیے بھی کام نہیں کیا۔ اسے بھرنا معقول ہو سکتا ہے۔ منظم طریقے سے غائب: ایک فارم فیلڈ صرف مخصوص گاہکوں کے لئے پوچھا جاتا ہے؛ یہاں خلا دراصل معلومات کا ہے۔ اہم گمشدگی: اگر "واپسی کی تاریخ" خالی ہے، تو گاہک واپس نہیں آیا؛ اس جگہ کا مطلب ہے 0 یا "کوئی نہیں"، یہ بھرا نہیں ہے۔

اہم حکمت عملی:

حکمت عملی

یہ کب مناسب ہے؟

خطرہ

قطار کو حذف کریں۔

گمشدگی کی شرح بہت کم (<5%) اور بے ترتیب ہے۔

ڈیٹا اور نمائندگی کا نقصان

ایک کالم حذف کریں۔

زیادہ تر کالم خالی ہے (>60%)

معلومات کا نقصان

اوسط/میڈین فل

عددی، تصادفی طور پر غائب ہے۔

یہ فرق کو کم کرتا ہے اور تقسیم کو مسخ کرتا ہے۔

زمرہ "نامعلوم"

دوٹوک، منظم طریقے سے غائب

اضافی زمرے تیار کرتا ہے۔

ماڈل کے ساتھ پیشن گوئی

پیچیدہ، قیمتی کالم

رساؤ کا خطرہ، پیچیدگی

اہم نکتہ: امتیازی قدر کا حساب صرف تربیتی ڈیٹا سے کیا جانا چاہیے اور وہی قدر ٹیسٹ ڈیٹا پر لاگو کی جانی چاہیے۔ اگر آپ ٹیسٹ ڈیٹا کی اوسط شامل کرتے ہیں، تو آپ رساو بناتے ہیں (یونٹ 10)۔ میڈین (آرڈینل ڈیٹا کی درمیانی قدر) کو اکثر وسط پر ترجیح دی جاتی ہے کیونکہ یہ وسط کے مقابلے آؤٹ لیرز کے لیے زیادہ مضبوط ہوتا ہے۔

Outliers: غلطی یا حقیقی؟

آؤٹ لیئر دو چیزوں میں سے ایک ہو سکتا ہے: ڈیٹا کی خرابی (عمر کے کالم میں 999) یا ایک حقیقی لیکن نایاب واقعہ (ایک گاہک کا $2 ملین آرڈر)۔ دونوں کو الجھانا تباہ کن ہے: ایک سچے آؤٹ لیر کو حذف کر دیں اور آپ اہم معلومات کو پھینک دیں۔ اگر آپ کسی غلطی کو چھوڑ دیتے ہیں تو آپ کی اوسط کو نقصان پہنچے گا۔ اس لیے ضروری ہے کہ پہلے آؤٹ لیئر کا جائزہ لیا جائے نہ کہ اسے خود بخود حذف کر دیا جائے۔

عام پتہ لگانے کے طریقے: IQR طریقہ (انٹرکوارٹائل رینج؛ وہ قدریں جو ڈیٹا کے 25% اور 75% کوئنٹائل کے درمیان فرق سے 1.5 گنا زیادہ ہیں) اور z-score (معیاری قدر سے دور معیاری انحراف کی تعداد؛ عام طور پر ایک آؤٹ لیئر اگر یہ 3 سے زیادہ ہے)۔ AI ان حسابات کا کوڈ سیکنڈوں میں لکھتا ہے۔ لیکن "حذف" کہنے سے پہلے چیک کریں کہ وہ اقدار کیا ہیں۔

قسم اور فارمیٹ کی تبدیلی: خاموش غلطی کا ذریعہ

سب سے زیادہ سر درد میں سے ایک ڈیٹا ٹائپ کنفیوژن ہے۔ اگر ایک "رقم" کالم متن کے طور پر محفوظ ہے، تو آپ شامل نہیں کر سکتے۔ پروگرام غلط طریقے سے "ایک ہزار دو سو پچاس" کے بجائے "1,250.50" جیسے ترکی کے فارمیٹ شدہ نمبر کو پڑھتا ہے۔ تاریخیں ("01/03/2024" دن-مہینہ یا مہینے کا دن؟)، زمرے ("مرد"/"مرد"/"M" ایک ہی چیز ہیں؟) اور اکائیاں (TL یا kuruş؟) خاموشی سے غلط نتائج پیدا کرتی ہیں۔ صفائی کا ایک بڑا حصہ ان تضادات کو معیار میں کھینچ رہا ہے: تاریخوں کو ایک فارمیٹ میں، زمرے کو ایک ہجے میں، اعداد کو ایک یونٹ میں۔

تین چھوٹے مقدمات

کیس 1 - اوسط ٹریپ۔ ایک ٹیم نے اوسط ($48,500) کے ساتھ آمدنی کے کالم میں 320 غائب اقدار کو بھرا۔ لیکن کوتاہیاں منظم تھیں: یہ کم آمدنی والا طبقہ تھا جس نے کبھی آمدنی کا اعلان نہیں کیا تھا۔ اوسط بھرنے نے اس گروپ کو مصنوعی طور پر امیر بنا دیا اور کریڈٹ ماڈل غلط تھا۔ سبق: اسے بھرنے سے پہلے پوچھیں "یہ خالی کیوں ہے"۔

کیس 2 - آؤٹ لئیر جسے حذف نہیں کیا جانا چاہیے۔ ایک خوردہ تجزیہ کار نے سیلز ڈیٹا میں 4 بڑے آرڈرز (ہر ایک میں 1.8 ملین TL) کو حذف کر دیا، یہ سوچ کر کہ وہ "غلطیاں" تھیں۔ تاہم، یہ حقیقی کارپوریٹ آرڈرز تھے اور کل ٹرن اوور کا 22% تھے۔ حذف کرنے کے بعد کی پیشن گوئی کے ماڈل نے ادارہ جاتی مطالبہ کو مکمل طور پر کھو دیا۔ سبق: خارج کرنے والے کو حذف کرنے سے پہلے اس کی جانچ کریں۔

کیس 3 - تاریخ کی شکل میں تباہی CSV میں، تاریخوں کو "2024-03-01" اور "01.03.2024" دونوں میں ملایا گیا تھا۔ جب YZ کے لکھے ہوئے کوڈ کو پہلے فارمیٹ کے مطابق پارس کیا گیا تو 6,400 لائنیں NaT بن گئیں "غلط تاریخ" اور خاموشی سے تجزیہ سے خارج کر دی گئیں۔ تجزیہ کار نے یہ تب ہی محسوس کیا جب لائنوں کی تعداد کم ہو گئی۔ سبق: تبدیلی کے بعد ہمیشہ لائنوں اور خالی جگہوں کی تعداد کو چیک کریں۔

چار کاپی کرنے کے قابل ٹیمپلیٹس

1) قدر کا نقشہ غائب ہے:

میرے پاس پانڈا ڈی ایف ہے۔ کوڈ لکھیں جو ایک ٹیبل تیار کرتا ہے جس میں ہر کالم کے لیے غائب ہونے کی تعداد اور فیصد (NaN) ظاہر ہوتا ہے۔ پھر، الگ الگ کالموں کی فہرست بنائیں جن کی لاپتہ شرح 40% سے زیادہ ہے اور جن کی گمشدگی کی شرح 5% سے کم ہے۔ صرف یہ تشخیصی کوڈ تیار کریں، نہ کہ آپ کی تجویز کردہ حکمت عملی۔ فیصلہ میں کروں گا۔

2) بیرونی معائنہ (حذف نہیں):

وہ کوڈ لکھیں جو IQR طریقہ استعمال کرتے ہوئے میرے "رقم" کالم کے لیے باہر نکلتا ہے (ڈیلیٹ نہیں کرتا!)۔ باہر کی قطاروں کو الگ ڈی ایف میں رکھیں تاکہ میں دستی طور پر ان کی جانچ کر سکوں۔ آؤٹ لیرز کی تعداد اور کل میں ان کا حصہ بھی پرنٹ کریں۔

3) قسم/فارمیٹ معیاری کاری:

کوڈ لکھیں جو درج ذیل کالموں کو معیاری بناتا ہے:- "تاریخ": مخلوط فارمیٹس ہو سکتے ہیں ("2024-03-01" اور "01.03.2024")؛ ان سب کو ڈیٹ ٹائم میں تبدیل کریں، غیر ترجمہ شدہ کو شمار کریں اور رپورٹ کریں (خاموشی سے پھینک دیں)۔ - "جنس": "مرد"/"مرد"/"M" -> "M"، "female"/"female"/"F" -> "K"۔ - "رقم": ترکی فارمیٹ شدہ متن ("1.250,50") -> اعشاریہ نمبر۔ پرنٹ کریں کہ ہر تبدیلی کے بعد کتنی قطاریں متاثر ہوتی ہیں۔

4) صفائی سے پہلے/بعد چیک کریں:

ایسا کوڈ لکھیں جو صفائی کے مرحلے سے پہلے اور بعد میں منتخب کالموں کے df.shape، گمشدہ شمار، اور خلاصہ کے اعدادوشمار (مطلب، اوسط، کم سے کم، زیادہ سے زیادہ) کا موازنہ کرے۔ مقصد: یہ دیکھنا کہ صفائی میں کیا تبدیلی آتی ہے۔

کمزور فوری / مضبوط اشارہ

کمزور اشارہ:

اس ڈیٹا کو صاف کریں۔

"صاف" مبہم ہے؛ AI نہیں جانتا کہ کون سے گمشدہ حصوں کو حذف کرنا ہے، کیا بھرنا ہے، کس کالم پر کارروائی کرنی ہے اور کیسے۔ نتیجہ: اندھی، ناقابل واپسی تبدیلیاں۔

طاقتور اشارہ:

آپ کا کردار: ڈیٹا صاف کرنے والا معاون۔ df کالم: customer_id (int)، registration_date (مخلوط فارمیٹ کا متن)، revenue_tl (متن، "1,200.00")، شہر (متن، متضاد ہجے)۔ قواعد: - اصل ڈی ایف کو تبدیل کرنا؛ df_clean نام کی کاپی پر کام کریں۔- انکم_ٹی ایل کو نمبر میں تبدیل کریں، جو ترجمہ نہیں کیا جا سکتا ہے اسے گنیں۔- ریکارڈ_ڈیٹ کو ڈیٹ ٹائم میں تبدیل کریں، غلطی کی اطلاع دیں۔- میری منظوری کے بغیر کوئی قطار نہ حذف کریں؛ امیدواروں کو الگ سے دکھائیں۔ ہر قدم کے بعد، df_temiz.shape اور غائب نمبر پرنٹ کریں۔

یہاں ماخذ محفوظ ہے، ہر تبدیلی کو شمار کیا جاتا ہے، حذف کرنا انسان پر چھوڑ دیا جاتا ہے۔

عام غلطیاں

  • خالی جگہوں کو پُر کرنا بغیر پوچھے "کیوں خالی ہے؟" وسط کے ساتھ منظم/اہم گمشدگی کو بھرنا ڈیٹا کو بگاڑ دیتا ہے۔
  • اس کی جانچ کیے بغیر آؤٹ لیر کو حذف کرنا۔ حقیقی لیکن نایاب واقعات کو ترک کرنا اہم معلومات کو تباہ کر دیتا ہے۔
  • تمام ڈیٹا سے پیڈنگ ویلیو کا حساب لگانا۔ ٹیسٹ ڈیٹا سمیت لیکیج پیدا ہوتا ہے؛ صرف تربیت سے حساب لگائیں.
  • تبادلوں کے بعد قطاروں/ خالی جگہوں کی تعداد کی جانچ نہ کرنا۔ وہ قطاریں جو خاموشی سے NaT/NaN ہیں تجزیہ سے خارج ہیں۔
  • اصل ڈیٹا کو اوور رائٹ کرنا۔ واپسی اور تولیدی صلاحیت ختم ہو جاتی ہے۔
مشورہ: کلینز کو "پہلے کے بعد" موازنہ کے ساتھ چلائیں۔ ہر قدم کے بعد df.shape، گمشدہ شمار، اور اہم کالموں کے خلاصے کے اعدادوشمار پرنٹ کریں۔ تو آپ نے فوراً دیکھا کہ ایک قدم غیر متوقع طور پر 6000 قطاروں کو تباہ کر دیتا ہے۔

خلاصہ میں

کلینزنگ ڈیٹا سائنس کا سب سے زیادہ وقت طلب اور فیصلہ کرنے والا مرحلہ ہے۔ ہر تبدیلی ڈیٹا کو تبدیل کرتی ہے، لہذا ہر ایک ایک شعوری فیصلہ ہے۔ گمشدہ اقدار کے لیے، پوچھیں "یہ خالی کیوں ہے؟" کسی بھی آؤٹ لیرز کو حذف کرنے سے پہلے ان کا جائزہ لیں۔ قسم اور فارمیٹ کو معیاری پر لائیں۔ صرف ٹریننگ ڈیٹا سے فل ویلیو کا حساب لگائیں، اصل کو رکھیں، اور اسے گن کر ہر قدم کے اثرات کو ٹریک کریں۔ AI اس کاروبار میں ایک زبردست ایکسلریٹر ہے، لیکن انسان فیصلہ کرتے ہیں کہ آپ کیا صاف کرتے ہیں اور کیوں۔

درخواست کا کام

ایک چھوٹی سی میز لیں (یا بنائیں) اور جان بوجھ کر اس میں تین مسائل ڈالیں: ایک گم شدہ ویلیو ٹیپل، ایک آؤٹ لیئر، ایک مخلوط تاریخ کی شکل۔ مندرجہ بالا ٹیمپلیٹس کے ساتھ AI سے تشخیص اور معیاری کاری کوڈ کی درخواست کریں۔ ہر قدم سے پہلے/بعد قطاروں اور خالی جگہوں کی تعداد کا موازنہ کریں۔ کم از کم ایک "خاموش نقصان" کو پکڑنے کی کوشش کریں اور نوٹ کریں کہ آپ نے اسے کیسے محسوس کیا۔

چیک لسٹ

  • کیا میں نے اصل خام ڈیٹا رکھا اور کاپی پر کام کیا؟
  • کیا میں نے ہر گمشدہ کالم کے لیے "یہ خالی کیوں ہے" سوال پوچھا ہے؟
  • [ ] کیا میں نے آؤٹ لیرز کو حذف کرنے سے پہلے ان کا جائزہ لیا؟
  • کیا میں نے صرف ٹریننگ ڈیٹا سے پیڈنگ ویلیو کا حساب لگایا؟
  • کیا میں ہر قدم کے بعد لائنوں/ خالی جگہوں کی تعداد چیک کر رہا ہوں اور خاموش نقصان کو ختم کر رہا ہوں؟