Big Data Analysis and Mining Lecture 2: Data Preprocessing Weixiong Rao饶卫雄 Tongji University同济大学软件学院 2015 Fall wxrao@tongji.edu.cn Some of the slides are from Dr Jure Leskovec's and Prof. Zachary G Ives 2021/28 同济大学软件学院 ool of Software Engineering. Tongpi Unversity
2021/2/8 1 Big Data Analysis and Mining Lecture 2: Data Preprocessing Weixiong Rao 饶卫雄 Tongji University 同济大学软件学院 2015 Fall wxrao@tongji.edu.cn *Some of the slides are from Dr Jure Leskovec’s and Prof. Zachary G. Ives
Data Preprocessing a Data Preprocessing: An Overview ◆ Data Quality Major Tasks in Data Preprocessing a Data Cleaning u Data Integration ■ Data reduction Data Transformation and data discretization ■ Summary 同济大学软件学院 ool of Software Engineering. Tongpi Unversity
2 2 Data Preprocessing ◼ Data Preprocessing: An Overview ◆ Data Quality ◆ Major Tasks in Data Preprocessing ◼ Data Cleaning ◼ Data Integration ◼ Data Reduction ◼ Data Transformation and Data Discretization ◼ Summary
Data Quality: Why Preprocess the Data? a Measures for data quality: A multidimensional view Accuracy: correct or wrong, accurate or not ◆ Completeness: not recorded, unavailable,… Consistency: some modified but some not, dangling Timeliness: timely update? e Believability how trustable the data are correct? Interpretability how easily the data can be understood? 同济大学软件学院 3 ool of Software Engineering. Tongpi Unversity
3 Data Quality: Why Preprocess the Data? ◼ Measures for data quality: A multidimensional view ◆ Accuracy: correct or wrong, accurate or not ◆ Completeness: not recorded, unavailable, … ◆ Consistency: some modified but some not, dangling ◆ Timeliness: timely update? ◆ Believability: how trustable the data are correct? ◆ Interpretability: how easily the data can be understood?
Major Tasks in Data Preprocessing Data cleaning Fill in missing values, smooth noisy data, identify or remove outliers and resolve inconsistencies Data integration Integration of multiple databases, data cubes, or files Data reduction Dimensionality reduction ◆ Numerosity reduction ◆ Data compression Data transformation and data discretization ◆ Normalization Concept hierarchy generation 同济大学软件学院 ool of Software Engineering. Tongpi Unversity
4 Major Tasks in Data Preprocessing ◼ Data cleaning ◆ Fill in missing values, smooth noisy data, identify or remove outliers, and resolve inconsistencies ◼ Data integration ◆ Integration of multiple databases, data cubes, or files ◼ Data reduction ◆ Dimensionality reduction ◆ Numerosity reduction ◆ Data compression ◼ Data transformation and data discretization ◆ Normalization ◆ Concept hierarchy generation
Data Preprocessing a Data Preprocessing: An Overview ◆ Data Quality Major Tasks in Data Preprocessing a Data Cleaning u Data Integration ■ Data reduction Data Transformation and data discretization ■ Summary 同济大学软件学院 ool of Software Engineering. Tongpi Unversity
5 5 Data Preprocessing ◼ Data Preprocessing: An Overview ◆ Data Quality ◆ Major Tasks in Data Preprocessing ◼ Data Cleaning ◼ Data Integration ◼ Data Reduction ◼ Data Transformation and Data Discretization ◼ Summary
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)