Data Cleaning a Data in the real World Is Dirty Lots of potentially incorrect data, e. g instrument faulty, human or computer error, transmission error incomplete: lacking attribute values lacking certain attributes of interest, or containing only aggregate data o e. g, Occupation=(missing data noisy: containing noise, errors, or outliers n e.g., Salary="-10(an error) inconsistent: containing discrepancies in codes or names, e.g 口Age=42, Birthday=“03/07/2010 n Was rating"1, 2, 3, now rating, B, C a discrepancy between duplicate records Intentional(e.g, disguised missing data) a Jan. 1 as everyone's birthday 6 同济大学软件学院 ool of Software Engineering. Tongpi Unversity
6 Data Cleaning ◼ Data in the Real World Is Dirty: Lots of potentially incorrect data, e.g., instrument faulty, human or computer error, transmission error ◆ incomplete: lacking attribute values, lacking certain attributes of interest, or containing only aggregate data e.g., Occupation=“ ” (missing data) ◆ noisy: containing noise, errors, or outliers e.g., Salary=“−10” (an error) ◆ inconsistent: containing discrepancies in codes or names, e.g., Age=“42”, Birthday=“03/07/2010” Was rating “1, 2, 3”, now rating “A, B, C” discrepancy between duplicate records ◆ Intentional (e.g., disguised missing data) Jan. 1 as everyone’s birthday?
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 Missing data may be due to ◆ equipment malfunction e inconsistent with other recorded data and thus deleted o data not entered due to misunderstanding certain data may not be considered important at the time of entry not register history or changes of the data a Missing data may need to be inferred 同济大学软件学院 ool of Software Engineering. Tongpi Unversity
7 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 ◼ Missing data may be due to ◆ equipment malfunction ◆ inconsistent with other recorded data and thus deleted ◆ data not entered due to misunderstanding ◆ certain data may not be considered important at the time of entry ◆ not register history or changes of the data ◼ Missing data may need to be inferred
How to Handle Missing Data? a Ignore the tuple: usually done when class label is missing(when doing classification-not effective when the of missing values per attribute varies considerably a Fill in the missing value manually: tedious+ infeasible? Fill in it automatically with a global constant: e.g., unknown, a new class? ◆ the attribute mean the attribute mean for all samples belonging to the same class smarter the most probable value: inference-based such as Bayesian formula or decision tree 8 同济大学软件学院 ool of Software Engineering. Tongpi Unversity
8 How to Handle Missing Data? ◼ Ignore the tuple: usually done when class label is missing (when doing classification)—not effective when the % of missing values per attribute varies considerably ◼ Fill in the missing value manually: tedious + infeasible? ◼ Fill in it automatically with ◆ a global constant : e.g., “unknown”, a new class?! ◆ the attribute mean ◆ the attribute mean for all samples belonging to the same class: smarter ◆ the most probable value: inference-based such as Bayesian formula or decision tree
Noisy data Noise: random error or variance in a measured variable a Incorrect attribute values may be due to faulty data collection instruments ◆ data entry problems data transmission problems ◆ technology limitation inconsistency in naming convention a Other data problems which require data cleaning ◆ duplicate records ◆ incomplete data ◆ inconsistent data 同济大学软件学院 ool of Software Engineering. Tongpi Unversity
9 Noisy Data ◼ Noise: random error or variance in a measured variable ◼ Incorrect attribute values may be due to ◆ faulty data collection instruments ◆ data entry problems ◆ data transmission problems ◆ technology limitation ◆ inconsistency in naming convention ◼ Other data problems which require data cleaning ◆ duplicate records ◆ incomplete data ◆ inconsistent data
How to Handle noisy Data? Binning first sort data and partition into(equal-frequency bins o then one can smooth by bin means, smooth by bin median, smooth by bin boundaries, etc Regression smooth by fitting the data into regression functions ■C| uttering detect and remove outliers Combined computer and human inspection o detect suspicious values and check by human(e.g deal with possible outliers) 同济大学软件学院 10 ool of Software Engineering. Tongpi Unversity
10 How to Handle Noisy Data? ◼ Binning ◆ first sort data and partition into (equal-frequency) bins ◆ then one can smooth by bin means, smooth by bin median, smooth by bin boundaries, etc. ◼ Regression ◆ smooth by fitting the data into regression functions ◼ Clustering ◆ detect and remove outliers ◼ Combined computer and human inspection ◆ detect suspicious values and check by human (e.g., deal with possible outliers)