Data Mining: Concepts and Techniques
2nd Edition
Solution Manual
Jiawei Han and Micheline Kamber
The University of Illinois at Urbana-Champaign
cMorgan Kaufmann, 2006
Note: For Instructors’ reference only. Do not copy! Do not distribute!
Contents
1 Introduction
1.11 Exercises
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Data Preprocessing
2.8 Exercises
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 Data Warehouse and OLAP Technology: An Overview
3.7 Exercises
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 Data Cube Computation and Data Generalization
4.5 Exercises
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 Mining Frequent Patterns, Associations, and Correlations
5.7 Exercises
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 Classification and Prediction
6.17 Exercises
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7 Cluster Analysis
7.13 Exercises
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8 Mining Stream, Time-Series, and Sequence Data
8.6 Exercises
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
3
13
13
31
31
41
41
53
53
69
69
79
79
91
91
9 Graph Mining, Social Network Analysis, and Multirelational Data Mining
103
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
9.5 Exercises
10 Mining Object, Spatial, Multimedia, Text, and Web Data
111
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
10.7 Exercises
11 Applications and Trends in Data Mining
123
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
11.7 Exercises
1
Chapter 1
Introduction
1.11 Exercises
1.1. What is data mining? In your answer, address the following:
(a) Is it another hype?
(b) Is it a simple transformation of technology developed from databases, statistics, and machine learning?
(c) Explain how the evolution of database technology led to data mining.
(d) Describe the steps involved in data mining when viewed as a process of knowledge discovery.
Answer:
Data mining refers to the process or method that extracts or “mines” interesting knowledge or patterns
from large amounts of data.
(a) Is it another hype?
Data mining is not another hype.
Instead, the need for data mining has arisen due to the wide
availability of huge amounts of data and the imminent need for turning such data into useful information
and knowledge. Thus, data mining can be viewed as the result of the natural evolution of information
technology.
(b) Is it a simple transformation of technology developed from databases, statistics, and machine learning?
No. Data mining is more than a simple transformation of technology developed from databases, sta-
tistics, and machine learning.
Instead, data mining involves an integration, rather than a simple
transformation, of techniques from multiple disciplines such as database technology, statistics, ma-
chine learning, high-performance computing, pattern recognition, neural networks, data visualization,
information retrieval, image and signal processing, and spatial data analysis.
(c) Explain how the evolution of database technology led to data mining.
Database technology began with the development of data collection and database creation mechanisms
that led to the development of effective mechanisms for data management including data storage and
retrieval, and query and transaction processing. The large number of database systems offering query
and transaction processing eventually and naturally led to the need for data analysis and understanding.
Hence, data mining began its development out of this necessity.
(d) Describe the steps involved in data mining when viewed as a process of knowledge discovery.
The steps involved in data mining when viewed as a process of knowledge discovery are as follows:
• Data cleaning, a process that removes or transforms noise and inconsistent data
• Data integration, where multiple data sources may be combined
3
4
CHAPTER 1.
INTRODUCTION
mining
• Data selection, where data relevant to the analysis task are retrieved from the database
• Data transformation, where data are transformed or consolidated into forms appropriate for
• Data mining, an essential process where intelligent and efficient methods are applied in order to
• Pattern evaluation, a process that identifies the truly interesting patterns representing knowl-
• Knowledge presentation, where visualization and knowledge representation techniques are used
edge based on some interestingness measures
extract patterns
to present the mined knowledge to the user
1.2. Present an example where data mining is crucial to the success of a business. What data mining functions
does this business need? Can they be performed alternatively by data query processing or simple statistical
analysis?
Answer:
A department store, for example, can use data mining to assist with its target marketing mail campaign.
Using data mining functions such as association, the store can use the mined strong association rules to
determine which products bought by one group of customers are likely to lead to the buying of certain
other products. With this information, the store can then mail marketing materials only to those kinds of
customers who exhibit a high likelihood of purchasing additional products. Data query processing is used
for data or information retrieval and does not have the means for finding association rules. Similarly, simple
statistical analysis cannot handle large amounts of data such as those of customer records in a department
store.
1.3. Suppose your task as a software engineer at Big-University is to design a data mining system to examine
their university course database, which contains the following information: the name, address, and status
(e.g., undergraduate or graduate) of each student, the courses taken, and their cumulative grade point
average (GPA). Describe the architecture you would choose. What is the purpose of each component of this
architecture?
Answer:
A data mining architecture that can be used for this application would consist of the following major
components:
• A database, data warehouse, or other information repository, which consists of the set of
databases, data warehouses, spreadsheets, or other kinds of information repositories containing the
student and course information.
• A database or data warehouse server, which fetches the relevant data based on the users’ data
mining requests.
• A knowledge base that contains the domain knowledge used to guide the search or to evaluate the
interestingness of resulting patterns. For example, the knowledge base may contain concept hierarchies
and metadata (e.g., describing data from multiple heterogeneous sources).
• A data mining engine, which consists of a set of functional modules for tasks such as classification,
association, classification, cluster analysis, and evolution and deviation analysis.
• A pattern evaluation module that works in tandem with the data mining modules by employing
interestingness measures to help focus the search towards interesting patterns.
• A graphical user interface that provides the user with an interactive approach to the data mining
system.
1.11. EXERCISES
5
1.4. How is a data warehouse different from a database? How are they similar?
Answer:
• Differences between a data warehouse and a database: A data warehouse is a repository of informa-
tion collected from multiple sources, over a history of time, stored under a unified schema, and used for
data analysis and decision support; whereas a database, is a collection of interrelated data that rep-
resents the current status of the stored data. There could be multiple heterogeneous databases where
the schema of one database may not agree with the schema of another. A database system supports
ad-hoc query and on-line transaction processing. Additional differences are detailed in Section 3.1.1
Differences between Operational Databases Systems and Data Warehouses.
• Similarities between a data warehouse and a database: Both are repositories of information, storing
huge amounts of persistent data.
1.5. Briefly describe the following advanced database systems and applications: object-relational databases,
spatial databases, text databases, multimedia databases, the World Wide Web.
Answer:
• An objected-oriented database is designed based on the object-oriented programming paradigm
where data are a large number of objects organized into classes and class hierarchies. Each entity in
the database is considered as an object. The object contains a set of variables that describe the object,
a set of messages that the object can use to communicate with other objects or with the rest of the
database system, and a set of methods where each method holds the code to implement a message.
• A spatial database contains spatial-related data, which may be represented in the form of raster
or vector data. Raster data consists of n-dimensional bit maps or pixel maps, and vector data are
represented by lines, points, polygons or other kinds of processed primitives, Some examples of spatial
databases include geographical (map) databases, VLSI chip designs, and medical and satellite images
databases.
• A text database is a database that contains text documents or other word descriptions in the form of
long sentences or paragraphs, such as product specifications, error or bug reports, warning messages,
summary reports, notes, or other documents.
• A multimedia database stores images, audio, and video data, and is used in applications such as
picture content-based retrieval, voice-mail systems, video-on-demand systems, the World Wide Web,
and speech-based user interfaces.
• The World Wide Web provides rich, world-wide, on-line information services, where data objects
are linked together to facilitate interactive access. Some examples of distributed information services
associated with the World Wide Web include America Online, Yahoo!, AltaVista, and Prodigy.
1.6. Define each of the following data mining functionalities: characterization, discrimination, association and
correlation analysis, classification, prediction, clustering, and evolution analysis. Give examples of each data
mining functionality, using a real-life database that you are familiar with.
Answer:
• Characterization is a summarization of the general characteristics or features of a target class of
data. For example, the characteristics of students can be produced, generating a profile of all the
University first year computing science students, which may include such information as a high GPA
and large number of courses taken.
• Discrimination is a comparison of the general features of target class data objects with the general
features of objects from one or a set of contrasting classes. For example, the general features of students
with high GPA’s may be compared with the general features of students with low GPA’s. The resulting
6
CHAPTER 1.
INTRODUCTION
description could be a general comparative profile of the students such as 75% of the students with
high GPA’s are fourth-year computing science students while 65% of the students with low GPA’s are
not.
• Association is the discovery of association rules showing attribute-value conditions that occur fre-
quently together in a given set of data. For example, a data mining system may find association rules
like
major(X, “computing science””) ⇒ owns(X, “personal computer”)
[support = 12%, conf idence = 98%]
where X is a variable representing a student. The rule indicates that of the students under study,
12% (support) major in computing science and own a personal computer. There is a 98% probability
(confidence, or certainty) that a student in this group owns a personal computer.
• Classification differs from prediction in that the former constructs a set of models (or functions)
that describe and distinguish data classes or concepts, whereas the latter builds a model to predict
some missing or unavailable, and often numerical, data values. Their similarity is that they are both
tools for prediction: Classification is used for predicting the class label of data objects and prediction
is typically used for predicting missing numerical data values.
• Clustering analyzes data objects without consulting a known class label. The objects are clustered
or grouped based on the principle of maximizing the intraclass similarity and minimizing the interclass
similarity. Each cluster that is formed can be viewed as a class of objects. Clustering can also facilitate
taxonomy formation, that is, the organization of observations into a hierarchy of classes that group
similar events together.
• Data evolution analysis describes and models regularities or trends for objects whose behavior
changes over time. Although this may include characterization, discrimination, association, classifica-
tion, or clustering of time-related data, distinct features of such an analysis include time-series data
analysis, sequence or periodicity pattern matching, and similarity-based data analysis.
1.7. What is the difference between discrimination and classification? Between characterization and clustering?
Between classification and prediction? For each of these pairs of tasks, how are they similar?
Answer:
• Discrimination differs from classification in that the former refers to a comparison of the general
features of target class data objects with the general features of objects from one or a set of contrasting
classes, while the latter is the process of finding a set of models (or functions) that describe and
distinguish data classes or concepts for the purpose of being able to use the model to predict the class
of objects whose class label is unknown. Discrimination and classification are similar in that they both
deal with the analysis of class data objects.
• Characterization differs from clustering in that the former refers to a summarization of the general
characteristics or features of a target class of data while the latter deals with the analysis of data
objects without consulting a known class label. This pair of tasks is similar in that they both deal
with grouping together objects or data that are related or have high similarity in comparison to one
another.
• Classification differs from prediction in that the former is the process of finding a set of models
(or functions) that describe and distinguish data class or concepts while the latter predicts missing
or unavailable, and often numerical, data values. This pair of tasks is similar in that they both are
tools for prediction: Classification is used for predicting the class label of data objects and prediction
is typically used for predicting missing numerical data values.
1.11. EXERCISES
7
1.8. Based on your observation, describe another possible kind of knowledge that needs to be discovered by data
mining methods but has not been listed in this chapter. Does it require a mining methodology that is quite
different from those outlined in this chapter?
Answer:
There is no standard answer for this question and one can judge the quality of an answer based on the
freshness and quality of the proposal. For example, one may propose partial periodicity as a new kind of
knowledge, where a pattern is partial periodic if only some offsets of a certain time period in a time series
demonstrate some repeating behavior.
1.9. List and describe the five primitives for specifying a data mining task.
Answer:
The five primitives for specifying a data-mining task are:
• Task-relevant data: This primitive specifies the data upon which mining is to be performed.
It
involves specifying the database and tables or data warehouse containing the relevant data, conditions
for selecting the relevant data, the relevant attributes or dimensions for exploration, and instructions
regarding the ordering or grouping of the data retrieved.
• Knowledge type to be mined: This primitive specifies the specific data mining function to be
performed, such as characterization, discrimination, association, classification, clustering, or evolution
analysis. As well, the user can be more specific and provide pattern templates that all discovered
patterns must match. These templates, or metapatterns (also called metarules or metaqueries), can be
used to guide the discovery process.
• Background knowledge: This primitive allows users to specify knowledge they have about the
domain to be mined. Such knowledge can be used to guide the knowledge discovery process and
evaluate the patterns that are found. Concept hierarchies and user beliefs regarding relationships in
the data are forms of background knowledge.
• Pattern interestingness measure: This primitive allows users to specify functions that are used to
separate uninteresting patterns from knowledge and may be used to guide the mining process, as well
as to evaluate the discovered patterns. This allows the user to confine the number of uninteresting
patterns returned by the process, as a data mining process may generate a large number of patterns.
Interestingness measures can be specified for such pattern characteristics as simplicity, certainty, utility
and novelty.
• Visualization of discovered patterns: This primitive refers to the form in which discovered patterns
are to be displayed. In order for data mining to be effective in conveying knowledge to users, data
mining systems should be able to display the discovered patterns in multiple forms such as rules, tables,
cross tabs (cross-tabulations), pie or bar charts, decision trees, cubes or other visual representations.
1.10. Describe why concept hierarchies are useful in data mining.
Answer:
Concept hierarchies define a sequence of mappings from a set of lower-level concepts to higher-level, more
general concepts and can be represented as a set of nodes organized in a tree, in the form of a lattice, or as
a partial order. They are useful in data mining because they allow the discovery of knowledge at multiple
levels of abstraction and provide the structure on which data can be generalized (rolled-up) or specialized
(drilled-down). Together, these operations allow users to view the data from different perspectives, gaining
further insight into relationships hidden in the data. Generalizing has the advantage of compressing the
data set, and mining on a compressed data set will require fewer I/O operations. This will be more efficient
than mining on a large, uncompressed data set.
8
CHAPTER 1.
INTRODUCTION
1.11. Outliers are often discarded as noise. However, one person’s garbage could be another’s treasure. For
example, exceptions in credit card transactions can help us detect the fraudulent use of credit cards. Taking
fraudulence detection as an example, propose two methods that can be used to detect outliers and discuss
which one is more reliable.
Answer:
• Using clustering techniques: After clustering, the different clusters represent the different kinds of data
(transactions). The outliers are those data points that do not fall into any cluster. Among the various
kinds of clustering methods, density-based clustering may be the most effective. Clustering is detailed
in Chapter 8.
• Using prediction (or regression) techniques: Constructed a probability (regression) model based on all
of the data. If the predicted value for a data point differs greatly from the given value, then the given
value may be consider an outlier.
Outlier detection based on clustering techniques may be more reliable. Because clustering is unsupervised,
we do not need to make any assumptions regarding the data distribution (e.g., density-based methods). In
contrast, regression (prediction) methods require us to make some assumptions of the data distribution,
which may be inaccurate due to insufficient data.
1.12. Recent applications pay special attention to spatiotemporal data streams. A spatiotemporal data stream
contains spatial information that changes over time, and is in the form of stream data, i.e., the data flow
in-and-out like possibly infinite streams.
(a) Present three application examples of spatiotemporal data streams.
(b) Discuss what kind of interesting knowledge can be mined from such data streams, with limited time
and resources.
(c) Identify and discuss the major challenges in spatiotemporal data mining.
(d) Using one application example, sketch a method to mine one kind of knowledge from such stream data
efficiently.
Answer:
(a) Present three application examples of spatiotemporal data streams.
i. Sequences of sensor images of a geographical region along time.
ii. The climate images from satellites.
iii. Data that describe the evolution of natural phenomena, such as forest coverage, forest fire, and so
on.
(b) Discuss what kind of interesting knowledge can be mined from such data streams, with limited time
and resources.
The knowledge that can be mined from spatiotemporal data streams really depends on the application.
However, one unique type of knowledge about stream data is the patterns of spatial change with respect
to the time. For example, the changing of the traffic status of several highway junctions in a city, from
the early morning to rush hours and back to off-peak hours, can show clearly where the traffic comes
from and goes to and hence, would help the traffic officer plan effective alternative lanes in order to
reduce the traffic load. As another example, a sudden appearance of a point in the spectrum space
image may indicate that a new planet is being formed. The changing of humidity, temperature, and
pressure in climate data may reveal patterns of how a new typhoon is created.
(c) Identify and discuss the major challenges in spatiotemporal data mining.
One major challenge is how to deal with the continuing large-scale data. Since the data keep flowing in
and each snapshot of data is usually huge (e.g., the spectrum image of space), it is [old: almost][new: