Data Preprocessing
Data Preprocessing
– Data Quality
• Data Cleaning
• Data Integration
• Data Reduction
3
3
Data Quality: Why Preprocess the Data?
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
5
Chapter 3: Data Preprocessing
– Data Quality
• Data Cleaning
• Data Integration
• Data Reduction
• Summary
6
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
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
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?
• Use a global constant : e.g., “unknown”, a new class?!
• Use the attribute mean
• Use the attribute mean for all samples belonging to the same
class
• Use the most probable value: inference-based such as Bayesian
formula or decision tree
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
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.
11
How to Handle Noisy Data?
• Regression
– smooth by fitting the data into regression functions
• Clustering
– detect and remove outliers
12
Data Cleaning as a Process
• Data discrepancy detection
– Use metadata (e.g., domain, range, dependency, distribution)
– Check field overloading
– Check uniqueness rule, consecutive rule and null rule
– Use commercial tools
• Data scrubbing: use simple domain knowledge (e.g., postal code,
spell-check) to detect errors and make corrections
• Data auditing: by analyzing data to discover rules and relationship to
detect violators (e.g., correlation and clustering to find outliers)
• Data migration and integration
– Data migration tools: allow transformations to be specified
– ETL (Extraction/Transformation/Loading) tools: allow users to specify
transformations through a graphical user interface
• Integration of the two processes
– Iterative and interactive (e.g., Potter’s Wheels)
13
Outcome
• Data preprocessing is a data mining technique
which is used to transform the raw data in a
useful and efficient format.
Data Warehousing and Mining
– Data Quality
• Data Cleaning
• Data Integration
• Data Transformation
• Data Reduction
3
3
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 transformation and data discretization
– Normalization
– Concept hierarchy generation
• Data reduction
– Dimensionality reduction
– Numerosity reduction
– Data compression
4
Data Integration
• Data integration:
– Combines data from multiple sources into a coherent store
• Schema integration: e.g., A.cust-id ≡ B.cust-#
– Integrate metadata from different sources
• Entity identification problem:
– Identify real world entities from multiple data sources, e.g., Bill Clinton =
William Clinton
• Detecting and resolving data value conflicts
– For the same real world entity, attribute values from different sources
are different
– Possible reasons: different representations, different scales, e.g., metric
vs. British units
5
5
Handling Redundancy in Data Integration
6
6
Correlation Analysis (Numeric Data)
8
Covariance (Numeric Data)
• Covariance is similar to correlation
Correlation coefficient:
where n is the number of tuples, and are the respective mean or
expected values of A and B, σA and σB are the respective standard deviation
of A and B.
• Positive covariance: If CovA,B > 0, then A and B both tend to be larger than their
expected values.
• Negative covariance: If CovA,B < 0 then if A is larger than its expected value, B is
likely to be smaller than its expected value.
• Independence: CovA,B = 0 but the converse is not true:
– Some pairs of random variables may have a covariance of 0 but are not
independent. Only under some additional assumptions (e.g., the data follow
multivariate normal distributions) does a covariance of 0 imply independence
9
Co-Variance: An Example
• Suppose two stocks A and B have the following values in one week: (2, 5), (3,
8), (5, 10), (4, 11), (6, 14).
• Question: If the stocks are affected by the same industry trends, will their
prices rise or fall together?
– E(A) = (2 + 3 + 5 + 4 + 6)/ 5 = 20/5 = 4
– E(B) = (5 + 8 + 10 + 11 + 14) /5 = 48/5 = 9.6
– Cov(A,B) = (2×5+3×8+5×10+4×11+6×14)/5 − 4 × 9.6 = 4
• Thus, A and B rise together since Cov(A, B) > 0.
Chapter 3: Data Preprocessing
– Data Quality
• Data Cleaning
• Data Integration
• Data Transformation
• Data Reduction
11
Data Transformation
• A function that maps the entire set of values of a given attribute to a new
set of replacement values s.t. each old value can be identified with one of
the new values
• Methods
– Smoothing: Remove noise from data
– Attribute/feature construction
• New attributes constructed from the given ones
– Aggregation: Summarization, data cube construction
– Normalization: Scaled to fall within a smaller, specified range
• min-max normalization
• z-score normalization
• normalization by decimal scaling
– Discretization: Concept hierarchy climbing
12
Normalization
• Min-max normalization: to [new_minA, new_maxA]
13
Outcome
• Data preprocessing is a data mining technique
which is used to transform the raw data in a
useful and efficient format.
Data Warehousing and Mining
– Data Quality
• Data Cleaning
• Data Integration
• Data Transformation
• Data Reduction
3
3
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 transformation
– Normalization
• Data reduction
– Dimensionality reduction
– Numerosity reduction
– Data compression
• Data discretization
– Concept hierarchy generation
4
Chapter 3: Data Preprocessing
– Data Quality
• Data Cleaning
• Data Integration
• Data Reduction
• Summary
5
5
Data Reduction Strategies
7
Wavelet Transformation
Haar Daubechie
• Discrete wavelet transform (DWT) for linear 2
signal 4
8
Why Wavelet Transform?
• Use hat-shape filters
– Emphasize region where points cluster
– Suppress weaker information in their boundaries
• Effective removal of outliers
– Insensitive to noise, insensitive to input order
• Multi-resolution
– Detect arbitrary shaped clusters at different scales
• Efficient
– Complexity O(N)
• Only applicable to low dimensional data
9
Principal Component Analysis (PCA)
x2
x1
10
Principal Component Analysis
(Steps)
• Given N data vectors from n-dimensions, find k ≤ n orthogonal vectors
(principal components) that can be best used to represent data
– Normalize input data: Each attribute falls within the same range
– Compute k orthonormal (unit) vectors, i.e., principal components
– Each input data (vector) is a linear combination of the k principal
component vectors
– The principal components are sorted in order of decreasing
“significance” or strength
– Since the components are sorted, the size of the data can be
reduced by eliminating the weak components, i.e., those with low
variance (i.e., using the strongest principal components, it is
possible to reconstruct a good approximation of the original data)
• Works for numeric data only
11
Attribute Subset Selection
• Another way to reduce dimensionality of data
• Redundant attributes
– Duplicate much or all of the information contained in one
or more other attributes
– E.g., purchase price of a product and the amount of sales
tax paid
• Irrelevant attributes
– Contain no information that is useful for the data mining
task at hand
– E.g., students' ID is often irrelevant to the task of predicting
students' GPA
12
Heuristic Search in Attribute Selection
• There are 2d possible attribute combinations of d attributes
• Typical heuristic attribute selection methods:
– Best single attribute under the attribute independence
assumption: choose by significance tests
– Best step-wise feature selection:
• The best single-attribute is picked first
• Then next best attribute condition to the first, ...
– Step-wise attribute elimination:
• Repeatedly eliminate the worst attribute
– Best combined attribute selection and elimination
– Optimal branch and bound:
• Use attribute elimination and backtracking
13
Attribute Creation (Feature
Generation)
14
Data Reduction 2: Numerosity
Reduction
• Reduce data volume by choosing alternative, smaller
forms of data representation
• Parametric methods (e.g., regression)
– Assume the data fits some model, estimate model
parameters, store only the parameters, and discard
the data (except possible outliers)
– Ex.: Log-linear models—obtain value at a point in m-
D space as the product on appropriate marginal
subspaces
• Non-parametric methods
– Do not assume models
– Major families: histograms, clustering, sampling, …
15
Parametric Data Reduction: Regression
and Log-Linear Models
• Linear regression
– Data modeled to fit a straight line
– Often uses the least-square method to fit the line
• Multiple regression
– Allows a response variable Y to be modeled as a
linear function of multidimensional feature vector
• Log-linear model
– Approximates discrete multidimensional probability
distributions
16
y
Regression Analysis
Y1
18
Histogram Analysis
• Divide data into buckets and
store average (sum) for each
bucket
• Partitioning rules:
– Equal-width: equal bucket
range
– Equal-frequency (or equal-
depth)
19
Histogram Analysis
• Divide data into buckets and store average (sum) for each
bucket
• Partitioning rules:
– Equal-width: equal bucket range
– Equal-frequency (or equal-depth)
20
Histogram Analysis
21
Clustering
• Partition data set into clusters based on similarity, and
store cluster representation (e.g., centroid and diameter)
only
• Can be very effective if data is clustered but not if data is
“smeared”
• Can have hierarchical clustering and be stored in multi-
dimensional index tree structures
• There are many choices of clustering definitions and
clustering algorithms
• Cluster analysis will be studied in depth in Chapter 10
22
Sampling
• Sampling: obtaining a small sample s to represent the
whole data set N
• Allow a mining algorithm to run in complexity that is
potentially sub-linear to the size of the data
• Key principle: Choose a representative subset of the data
– Simple random sampling may have very poor
performance in the presence of skew
– Develop adaptive sampling methods, e.g., stratified
sampling:
• Note: Sampling may not reduce database I/Os (page at a
23
time)
Types of Sampling
• Simple random sampling
– There is an equal probability of selecting any particular
item
• Sampling without replacement
– Once an object is selected, it is removed from the
population
• Sampling with replacement
– A selected object is not removed from the population
• Stratified sampling:
– Partition the data set, and draw samples from each
partition (proportionally, i.e., approximately the same
percentage of the data)
– Used in conjunction with skewed data
24
Sampling: With or without Replacement
Raw Data
25
Sampling: With or without Replacement
26
Sampling: Cluster or Stratified
Sampling
Raw Data Cluster/Stratified Sample
27
Data Cube Aggregation
• The lowest level of a data cube (base cuboid)
– The aggregated data for an individual entity of interest
– E.g., a customer in a phone calling data warehouse
• Multiple levels of aggregation in data cubes
– Further reduce the size of data to deal with
• Reference appropriate levels
– Use the smallest representation which is enough to
solve the task
• Queries regarding aggregated information should be
answered using data cube, when possible
28
Data Reduction 3: Data
Compression
• String compression
– There are extensive theories and well-tuned algorithms
– Typically lossless, but only limited manipulation is
possible without expansion
• Audio/video compression
– Typically lossy compression, with progressive refinement
– Sometimes small fragments of signal can be
reconstructed without reconstructing the whole
• Time sequence is not audio
– Typically short and vary slowly with time
• Dimensionality and numerosity reduction may also be
considered as forms of data compression
29
Data Compression
Original Data
Approximated
30
Outcome
• Data preprocessing is a data
mining technique which is used to
transform the raw data in a useful and
efficient format.
Data Warehousing and Mining
– Data Quality
• Data Cleaning
• Data Integration
• Data Transformation
• Data Reduction
• Data Discretization
3
3
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 transformation
– Normalization
• Data reduction
– Dimensionality reduction
– Numerosity reduction
– Data compression
• Data discretization
– Concept hierarchy generation
4
Data Cube Aggregation
• The lowest level of a data cube (base cuboid)
– The aggregated data for an individual entity of interest
– E.g., a customer in a phone calling data warehouse
• Multiple levels of aggregation in data cubes
– Further reduce the size of data to deal with
• Reference appropriate levels
– Use the smallest representation which is enough to solve
the task
• Queries regarding aggregated information should be answered
using data cube, when possible
5
Data Cube Aggregation
• These data consist of the All
Electronics sales per quarter, for the
years 2008 to 2010. You are,
however, interested in the annual
sales (total per year), rather than
the total per quarter. Thus, the data
can be aggregated so that the
resulting data summarize the total
sales per year instead of per
quarter.
• This aggregation is illustrated in
figure. The resulting data set is
smaller in volume, without loss of
information necessary for the
analysis task.
A data cube for sales at AllElectronics
6
Data Cube Aggregation
• The cube created at the lowest abstraction level is referred to as
the base cuboid. The base cuboid should correspond to an
individual entity of interest such as sales or customer.
• A cube at the highest level of abstraction is the apex cuboid. For
the sales data the apex cuboid would give one total—the total
sales for all three years, for all item_types, and for all branches.
• Data cubes created for varying levels of abstraction are often
referred to as cuboids.
7
Data Reduction 3: Data Compression
• String compression
– There are extensive theories and well-tuned algorithms
– Typically lossless, but only limited manipulation is possible
without expansion
• Audio/video compression
– Typically lossy compression, with progressive refinement
– Sometimes small fragments of signal can be reconstructed
without reconstructing the whole
• Time sequence is not audio
– Typically short and vary slowly with time
• Dimensionality and numerosity reduction may also be
considered as forms of data compression
8
Data Compression
Original Data
Approximated
9
Discretization
• Three types of attributes
– Nominal—values from an unordered set, e.g., color, profession
– Ordinal—values from an ordered set, e.g., military or academic rank
– Numeric—real numbers, e.g., integer or real numbers
• Discretization: Divide the range of a continuous attribute into intervals
– Interval labels can then be used to replace actual data values
– Reduce data size by discretization
– Supervised vs. unsupervised
– Split (top-down) vs. merge (bottom-up)
– Discretization can be performed recursively on an attribute
– Prepare for further analysis, e.g., classification
10
Data Discretization Methods
• Typical methods: All the methods can be applied recursively
– Binning
• Top-down split, unsupervised
– Histogram analysis
• Top-down split, unsupervised
– Clustering analysis (unsupervised, top-down split or bottom-
up merge)
– Decision-tree analysis (supervised, top-down split)
– Correlation (e.g., 2) analysis (unsupervised, bottom-up
merge)
11
Simple Discretization: Binning
13
Discretization by Classification & Correlation
Analysis
• Classification (e.g., decision tree analysis)
– Supervised: Given class labels, e.g., cancerous vs. benign
– Using entropy to determine split point (discretization point)
– Top-down, recursive split
– Details to be covered in Chapter 7
• Correlation analysis (e.g., Chi-merge: χ2-based discretization)
– Supervised: use class information
– Bottom-up merge: find the best neighboring intervals (those having
similar distributions of classes, i.e., low χ2 values) to merge
– Merge performed recursively, until a predefined stopping condition
14
Concept Hierarchy Generation
• Concept hierarchy organizes concepts (i.e., attribute values) hierarchically
and is usually associated with each dimension in a data warehouse
• Concept hierarchies facilitate drilling and rolling in data warehouses to view
data in multiple granularity
• Concept hierarchy formation: Recursively reduce the data by collecting and
replacing low level concepts (such as numeric values for age) by higher level
concepts (such as youth, adult, or senior)
• Concept hierarchies can be explicitly specified by domain experts and/or data
warehouse designers
• Concept hierarchy can be automatically formed for both numeric and
nominal data. For numeric data, use discretization methods shown.
15
Concept Hierarchy Generation
for Nominal Data
• Specification of a partial/total ordering of attributes explicitly at
the schema level by users or experts
– street < city < state < country
• Specification of a hierarchy for a set of values by explicit data
grouping
– {Urbana, Champaign, Chicago} < Illinois
• Specification of only a partial set of attributes
– E.g., only street < city, not others
• Automatic generation of hierarchies (or attribute levels) by the
analysis of the number of distinct values
– E.g., for a set of attributes: {street, city, state, country}
16
Automatic Concept Hierarchy Generation
• Some hierarchies can be automatically generated based on
the analysis of the number of distinct values per attribute in
the data set
– The attribute with the most distinct values is placed at
the lowest level of the hierarchy
– Exceptions, e.g., weekday, month, quarter, year