Data Cleaning (DS) - PDF
Document Details
Mostafa Tarek
Tags
Summary
This document provides a comprehensive overview of data cleaning. It discusses various techniques for cleaning different types of data, such as missing values, inconsistencies, and noisy data. The document also highlights the importance of data cleaning for data analysis and machine learning.
Full Transcript
# Data Quality: Why Preprocess the Data? Measures for data quality: A multidimensional view * **Accuracy:** correct or wrong, accurate or not * Translation: هل البيانات صحيحة أم خاطئة، دقيقة أم لا؟ * **Completeness:** not recorded, unavailable * Translation: هل البيانات غير مسجلة أو غير مت...
# Data Quality: Why Preprocess the Data? Measures for data quality: A multidimensional view * **Accuracy:** correct or wrong, accurate or not * Translation: هل البيانات صحيحة أم خاطئة، دقيقة أم لا؟ * **Completeness:** not recorded, unavailable * Translation: هل البيانات غير مسجلة أو غير متوفرة؟ * **Consistency:** some modified but some not, dangling * Translation: بعض البيانات تم تعديلها، والبعض الآخر لا، أو بها روابط مفقودة * **Timeliness:** timely update? * Translation: هل تم تحديث البيانات في الوقت المناسب؟ * **Believability:** how trustable the data are * Translation: مدى موثوقية البيانات * **Interpretability:** how easily the data can be * Translation: مدى سهولة تفسير البيانات ## Data Preprocessing Definition Data Preprocessing refers to the steps applied to make data more suitable for Exploratory Data Analytics and Machine Learning. This means the data is ready to view insights and prepare for decision-making. By: Mostafa Tarek ## Major Tasks in Data Preprocessing 1. **Data Cleaning** * Fill in missing values, smooth noisy data, identify or remove outliers, and resolve inconsistencies. * Translation: تنظيف البيانات: ملء القيم المفقودة، تنعيم البيانات المزعجة، تحديد أو إزالة القيم الشاذة، وحل التناقضات 2. **Data Integration** * Integration of multiple databases, or files. * Translation: تكامل البيانات: دمج قواعد بيانات أو ملفات متعددة 3. **Data Reduction** * Dimensionality reduction (reduce number of features). * Numerosity reduction (reduce data volume). * Translation: تقليل البيانات تقليل الأبعاد تقليل عدد السمات)، وتقليل الكثرة العددية تقليل حجم البيانات) 4. **Data Transformation and Data Discretization** * Normalization: adjusting values measured on different scales to a common scale. * Translation: تحويل البيانات وتجزيئها التسوية تعديل القيم المقاسة على مقاییس مختلفة لتصبح على مقياس واحد) ## Data Cleaning * **Data in the Real World Is Dirty:** Lots of potentially incorrect data, e.g., instrument faults, human or computer error, transmission error. * Translation: البيانات في العالم الحقيقي غير نظيفة تحتوي على الكثير من البيانات غير الصحيحة مثل أخطاء الأدوات، الأخطاء البشرية أو الحاسوبية، وأخطاء النقل * **Data cleaning** is the process of fixing or removing incorrect, corrupted, incorrectly formatted, duplicate, or incomplete data within a dataset. * Translation: تنظيف البيانات هو عملية تصحيح أو إزالة البيانات غير الصحيحة أو التالفة أو ذات التنسيق غير الصحيح أو المكررة أو غير المكتملة داخل مجموعة البيانات * Data scientists spend **60%** of their time on cleaning data * Translation: تنظيف الداتا اهم حاجه عشان كدا تاخد 60% من الوقت ## Data Cleaning 1. **Incomplete:** * Lacking attribute values, missing certain attributes of interest, or containing only aggregate data. * Translation: غير مكتمل نقص في قيم السمات أو بعض السمات المهمة، أو يحتوي فقط على بيانات مجمعة * e.g., Occupation = "" (missing data) * Translation: (بیانات مفقودة) - مثال: الوظيفة = "" 2. **Noisy:** * Containing noise, errors, or outliers. * Translation: مزعج يحتوي على ضوضاء أو أخطاء أو قيم شاذة * e.g., Salary = "-10" (an error) * Translation: مثال: الراتب = "10-" (خطأ) 3. **Inconsistent:** * Containing discrepancies in codes or names. * Translation: غير متسق يحتوي على تناقضات في الأكواد أو الأسماء * e.g., Age = "42", Birthday = "03/07/2010" * e.g., Was rating "1, 2, 3", now rating "A, B, C" * Discrepancy between duplicate records. * Translation: "مثال: العمر = "42"، تاريخ الميلاد = 03/07/2010 ▪ A, B, C" كان التقييم 1, 2, 3"، وأصبح ▪ تناقض بين السجلات المكررة - 4. **Intentional:** * (e.g., disguised missing data) * e.g., Jan. 1 as everyone's birthday? * Translation: متعمد: (مثل البيانات المفقودة المتخفية ) مثال: 1 يناير كتاريخ ميلاد للجميع؟ - ## Incomplete (Missing) Data * **Data is not always available:** E.g., many tuples have no recorded value for several attributes, such as customer income in sales data. * **Translation:** البيانات ليست متوفرة دائمًا مثلًا، العديد من التكرارات لا تحتوي على قيمة مسجلة لبعض السمات، مثل دخل العميل في بيانات المبيعات * Missing data may be due to: * Equipment malfunction * Translation: خلل في المعدات * Inconsistent with other recorded data and thus deleted * Translation: غير متسقة مع البيانات المسجلة الأخرى وبالتالي تم حذفها * Data not entered due to misunderstanding * Translation: البيانات لم تُدخل بسبب سوء الفهم * Certain data may not be considered important at the time of entry * Translation: بعض البيانات قد لا تعتبر مهمة وقت إدخالها * Not registering history or changes of the data * Translation: عدم تسجيل تاريخ أو تغييرات البيانات ## How to Handle Missing Data? 1. **Ignore the tuple:** * Translation: عادةً ده بيحصل لما تكون الفئة المستهدفة مفقودة (في التصنيف). الطريقة دي مش فعالة لما نسبة القيم المفقودة لكل سمة بتختلف بشكل كبير ترجمة: تجاهل الصف: ده بيحصل عادةً لما تكون تسمية الفئة مفقودة أثناء التصنيف)، بس مش بيبقى فعال لو نسبة القيم المفقودة في السمات بتختلف بشكل كبير 2. **Fill in the missing value manually:** * Translation: الموضوع ده ممكن يكون مرهق ومش عملي ترجمة: ملء القيم المفقودة يدويًا: الموضوع ده بيكون متعب ومش عملي 3. **Fill it in automatically using:** * A global constant: * Translation: "غير معروف"، أو إضافة فئة جديدة * The attribute mean: * Translation: "ترجمة: استخدام متوسط السمة * The attribute mean for all samples belonging to the same class (smarter approach). * Translation: ترجمة: استخدام متوسط السمة لكل العينات اللي بتنتمي لنفس الفئة (طريقة أذكى) * **The most probable value:** * Translation: باستخدام طرق الاستدلال زي معادلة بايز أو شجرة القرار (هيتم شرحها لاحقا) using Bayesian inference or a Decision Tree (later) * Translation: ترجمة: استخدام القيمة الأكثر احتمالا: بالاعتماد على طرق استدلال زي معادلة بايز أو شجرة القرار (هنتكلم عنها بعدين) ## Noisy Data * **Noise:** Random error in a measured variable. * Translation: الضوضاء خطأ عشوائي في متغير مقاس * Incorrect attribute values may be due to: * Faulty data collection instruments. * Translation: أدوات جمع البيانات معطلة * Data entry problems. * Translation: مشاكل في إدخال البيانات * Data transmission problems. * Translation: مشاكل في نقل البيانات * Technology limitations. * Translation: قيود التكنولوجيا * Inconsistency in naming convention. * Translation: عدم اتساق في نظام التسمية * **Other data problems that require data cleaning:** * Duplicate records. * Translation: سجلات مكررة * Incomplete data. * Translation: بيانات غير مكتملة * Inconsistent data. * Translation: بيانات غير متسقة ## How to Detect Noisy Data * Detect noisy data by: * Visualizing the data using graphs, charts, or plots. * Translation: اكتشاف البيانات المزعجة عن طريق تصور البيانات باستخدام الرسوم البيانية أو المخططات * Visualizing the data can help you spot patterns, trends, outliers, or anomalies that may indicate noise. * Translation: يمكن أن يساعد تصور البيانات في اكتشاف الأنماط أو الاتجاهات أو القيم الشاذة أو الشواذ التي قد تشير إلى الضوضاء ## How to Handle Noisy Data? * **Binning:** * Translation: أولاً، قم بترتيب البيانات وتقسيمها إلى صناديق (بكميات متساوية) ؛ ثم يمكنك تنعيم البيانات باستخدام متوسطات الصناديق، أو وسائط الصناديق، أو حدود الصناديق، إلخ التقسيم: أول حاجة، رتب البيانات وقسمها على صناديق (بتكرار متساوي)؛ بعدين تقدر تنعم البيانات باستخدام متوسطات الصناديق أو الوسيطات * **Combined computer and human inspection:** * Translation: الكشف عن القيم المشبوهة والتحقق منها بواسطة الإنسان (مثل التعامل مع القيم الشاذة المحتملة) التفتيش المشترك بين الكمبيوتر والإنسان: اكتشف القيم المشبوهة وشيك عليها بوساطة إنسان (زي التعامل مع القيم الشاذة المحتملة) * **Regression (ML - later):** * Translation: تنعيم البيانات عن طريق ملاءمتها مع دوال الانحدار الانحدار في التعلم الآلي - بعدين): نعيم البيانات عن طريق ملاءمتها مع دوال الانحدار * **Clustering (ML - later):** * Translation: اكتشاف وإزالة القيم الشاذة التجميع (في التعلم الآلي - بعدين): اكتشاف وإزالة القيم الشاذة ## Binning Methods for Data Smoothing * **Binning method:** * **Translation:** تستخدم طريقة التقسيم لتنعيم البيانات أو التعامل مع البيانات المزعجة * **Smoothing by bin means:** * Translation: في هذه الطريقة، يتم استبدال كل قيمة في الصندوق بمتوسط قيمة الصندوق * **Smoothing by bin median:** * Translation: في هذه الطريقة، يتم استبدال كل قيمة في الصندوق بقيمة الوسيط الخاصة بالصندوق * **Smoothing by bin boundary:** * Translation: في هذه الطريقة، يتم تحديد القيم الدنيا والعليا في صندوق معین كحدود للصندوق. ثم يتم استبدال كل قيمة في الصندوق بأقرب قيمة من الحدود تنعيم باستخدام حدود الصناديق: هنا، يتم تحديد أقل وأعلى قيمة في صندوق معین کحدود. وكل قيمة في الصندوق تتبدل بأقرب قيمة من الحدود ## Approach 1. **Sort the array of a given data set.** * Translation: رتب مصفوفة مجموعة البيانات المعطاة 2. **Divides the range into N intervals, each containing approximately the same number of samples (Equal-depth partitioning).** * Translation: فترات، كل منها يحتوي على N تقسيم النطاق إلى عدد تقريبي متساوي من العينات (تقسیم عمق متساوي) 3. **Store mean/median/boundaries in each row.** * Translation: تخزين المتوسط/الوسيط/الحدود في كل صف ## Data Cleaning as a Process * **Data Discrepancy Detection:** * Translation: كشف التناقضات في البيانات * Use metadata (e.g., domain, range, dependency, distribution). * Translation: استخدام البيانات الوصفية (مثل النطاق، النطاق، الاعتمادية، التوزيع) * Check field overloading. * Translation: تحقق من الحمل الزائد للحقول * Check uniqueness rule, consecutive rule, and null rule. * Translation: تحقق من قاعدة التفرد، قاعدة التتابع، وقاعدة القيم الفارغة * Use commercial tools. * Translation: استخدام أدوات تجارية * **Data Scrubbing:** * Translation: تنظيف البيانات * Use simple domain knowledge (e.g., postal code, spell-check) to detect errors and make corrections. * Translation: استخدام معرفة نطاق بسيطة (مثل الرموز البريدية، تدقيق الإملاء) لاكتشاف الأخطاء وإجراء التصحيحات * **Data Auditing:** * Translation: تدقيق البيانات * By analyzing data to discover rules and relationships to detect violators (e.g., correlation and clustering to find outliers). * Translation: من خلال تحليل البيانات لاكتشاف القواعد والعلاقات لاكتشاف المخالفين (مثل الارتباط والتجميع للعثور على القيم الشاذة) By :Mostafa Tarek