2
CHAPTER 1. DATA MINING
Example 1.1 : Consider the problem of detecting emails that are phishing
attacks. The most common approach is to build a model of phishing emails,
perhaps by examining emails that people have recently reported as phishing
attacks and looking for the words or phrases that appear unusually often in
those emails, such as “Nigerian prince” or “verify account.” The model could
be weights on words, with positive weights for words that appear frequently in
phishing emails and negative weights for words that do not. Then the algorithm
to detect phishing emails is simple. Apply the model to each email, that is, sum
the weights of the words in that email, and say the email is phishing if and only
if the sum is positive. Finding the best weights is a diﬃcult problem, one we
shall take up in Section 12.2.
✷
1.1.2
Statistical Modeling
Statisticians were the ﬁrst to use the term “data mining.” Originally, “data
mining” or “data dredging” was a derogatory term referring to attempts to
extract information that was not supported by the data. Section 1.2 illustrates
the sort of errors one can make by trying to extract what really isn’t in the data.
Today, “data mining” has taken on a positive meaning. Now, statisticians view
data mining as the construction of a statistical model, that is, an underlying
distribution from which the visible data is drawn.
Example 1.2 : Suppose our data is a set of numbers.
This data is much
simpler than data that would be data-mined, but it will serve as an example. A
statistician might decide that the data comes from a Gaussian distribution and
use a formula to compute the most likely parameters of this Gaussian. The mean
and standard deviation of this Gaussian distribution completely characterize the
distribution and would become the model of the data.
✷
1.1.3
Machine Learning
There are some who regard data mining as synonymous with machine learning.
There is no question that some data mining appropriately uses algorithms from
machine learning. Machine-learning practitioners use the data as a training set,
to train an algorithm of one of the many types used for machine-learning, such
as Bayes nets, support-vector machines, decision trees, hidden Markov models,
and a great variety of others.
There are situations where using data in this way makes sense. The typical
case where machine learning is a good approach is when we have little idea of
what the data says about the problem we are trying to solve. For example, it
is rather unclear what it is about movies that makes certain movie-goers like or
dislike it. Thus, in answering the “Netﬂix challenge” to devise an algorithm that
predicts the ratings of movies by users, based on a sample of their responses,
machine-learning algorithms have proved quite successful. We shall discuss a
simple form of this type of algorithm in Section 9.4.
