You are on page 1of 10

Introduction to Data Mining

"Drowning in Data yet Starving for Knowledge"


???
"Computers have promised us a fountain of wisdom but delivered a flood of data"
William J. Frawley, Gregory Piatetsky-Shapiro, and Christopher J. Matheus
Where is the wisdom we have lost in knowledge? Where is the knowledge we have
lost in information?
T. S. Eliot
What is NOT data mining?
Data Mining, noun: "Torturing data until it confesses ... and if you torture it
enough, it will confess to anything"
Jeff Jonas, IBM
"An Unethical Econometric practice of massaging and manipulating the data to
obtain the desired results"
W.S. Brown Introducing Econometrics
"A buzz word for what used to be known as DBMS reports"
An Anonymous Data Mining Skeptic
What is data mining?
"The non trivial extraction of implicit, previously unknown, and potentially useful
information from data"
William J Frawley, Gregory Piatetsky-Shapiro and Christopher J Matheus
Data mining finds valuable information hidden in large volumes of data.
Data mining is the analysis of data and the use of software techniques for
finding patterns and regularities in sets of data.
The computer is responsible for finding the patterns by identifying the
underlying rules and features in the data.
It is possible to "strike gold" in unexpected places as the data mining software
extracts patterns not previously discernible or so obvious that no-one has
noticed them before.
Mining analogy:
o large volumes of data are sifted in an attempt to find something
worthwhile.
o in a mining operation large amounts of low grade materials are sifted
through in order to find something of value.
Data Mining - an interdisciplinary field
Databases
Statistics
High Performance Computing
Machine Learning
Visualization
Mathematics
Related Technologies
Machine Learning vs. Data Mining
Large Data sets in Data Mining
Efficiency of Algorithms is important
Scalability of Algorithms is important
Real World Data
Lots of Missing Values
Pre-existing data - not user generated
Data not static - prone to updates
Efficient methods for data retrieval available for use
Domain Knowledge in the form of integrity constraints available.
Data Mining vs. DBMS
Example DBMS Reports
o Last months sales for each service type
o Sales per service grouped by customer sex or age bracket
o List of customers who lapsed their policy
Questions answered using Data Mining
o What characteristics do customers that lapse their policy have in
common and how do they differ from customers who renew their policy?
o Which motor insurance policy holders would be potential customers for
my House Content Insurance policy?
Data Warehouse
Data Warehouse: centralized data repository which can be queried for business
benefit.
Data Warehousing makes it possible to
o extract archived operational data
o overcome inconsistencies between different legacy data formats
o integrate data throughout an enterprise, regardless of location, format, or
communication requirements
o incorporate additional or expert information
On-line Analytical Processing (OLAP)
Multi-Dimensional Data Model (Data Cube)
Operations:
o Roll-up
o Drill-down
o Slice and dice
o Rotate
Statistical Analysis
Ill-suited for Nominal and Structured Data Types
Completely data driven - incorporation of domain knowledge not possible
Interpretation of results is difficult and daunting
Requires expert user guidance
Data Mining Goals
Classification
DM system learns from examples or the data how to partition or classify the
data i.e. it formulates classification rules
Example - customer database in a bank
o Question - Is a new customer applying for a loan a good investment or
not?
o Typical rule formulated:

if STATUS = married and INCOME > 10000 and HOUSE_OWNER = yes
then INVESTMENT_TYPE = good
Association
Rules that associate one attribute of a relation to another
Set oriented approaches are the most efficient means of discovering such rules
Example - supermarket database
o 72% of all the records that contain items A and B also contain item C
o the specific percentage of occurrences, 72 is the confidence factor of the
rule
Sequence/Temporal
Sequential pattern functions analyze collections of related records and detect
frequently occurring patterns over a period of time
Difference between sequence rules and other rules is the temporal factor
Example - retailers database can be used to discover the set of purchases that
frequently precedes the purchase of a microwave oven
Database management systems (DBMS), Online Analytical Processing (OLAP)
and Data Mining
Area DBMS OLAP Data Mining
Task
Extraction of detailed
and summary data
Summaries, trends and
forecasts
Knowledge discovery of
hidden patterns and
insights
Type of
result
Information Analysis Insight and Prediction
Method
Deduction (Ask the
question, verify with
data)
Multidimensional data
modeling, Aggregation,
Statistics
Induction (Build the
model, apply it to new
data, get the result)
Example
question
Who purchased
mutual funds in the
last 3 years?
What is the average income of
mutual fund buyers by region
by year?
Who will buy a mutual
fund in the next 6 months
and why?
Statges of the data mining process
Data pre-processing
o Heterogeneity resolution
o Data cleansing
o Data transformation
o Data reduction
o Discretization and generating concept hierarchies
Creating a data model: applying Data Mining tools to extract knowledge from
data
Testing the model: the performance of the model (e.g. accuracy, completeness)
is tested on independent data (not used to create the model)
Interpretation and evaluation: the user bias can direct DM tools to areas of
interest
o Attributes of interest in databases
o Goal of discovery
o Domain knowledge
o Prior knowledge or belief about the domain
Techniques
Set oriented database methods
Statistics: can be used in several data mining stages
o data cleansing: removal of erroneous or irrelevant data
o EDA (exploratory data analysis): frequency counts, histograms etc.
o data selection and sampling: reduce the scale of computation
o attribute re-definition
o data analysis - measures of association and relationships between
attributes, interestingness of rules, classification etc.
Visualization: enhances EDA, makes patterns more visible
Clustering (Cluster Analysis)
o Clustering and segmentation is basically partitioning the database so that
each partition or group is similar according to some criteria or metric
o Clustering according to similarity is a concept which appears in many
disciplines, e.g. clustering of molecules in chemistry
o Data mining applications make use of clustering according to similarity,
e.g. segmenting a client/customer base
o It provides sub-groups of a population for further analysis or action -
very important when dealing with very large databases
Knowledge Representation Methods
Neural Networks
o a trained neural network can be thought of as an "expert" in the category
of information it has been given to analyze
o provides projections given new situations of interest and answers "what
if" questions
o problems include:
the resulting network is viewed as a black box
no explanation of the results is given i.e. difficult for the user to
interpret the results
difficult to incorporate user intervention
slow to train due to their iterative nature
Decision trees
o used to represent knowledge
o built using a training set of data and can then be used to classify new
objects
o problems are:
opaque structure - difficult to understand
missing data can cause performance problems
they become cumbersome for large data sets
Rules
o probably the most common form of representation
o tend to be simple and intuitive
o unstructured and less rigid
o problems are:
difficult to maintain
inadequate to represent many types of knowledge
o Example format: if X then Y
Data Mining Applications
Credit Assessment
Stock Market Prediction
Fault Diagnosis in Production Systems
Medical Discovery
Fraud Detection
Hazard Forecasting
Buying Trends Analysis
Organizational Restructuring
Target Mailing
Knowledge Acquisition
Scientific Discovery
Semantics based Performance Enhancement of DBMS
Example of DBMS, OLAP and Data Mining: Weather data
Assume we have made a record of the weather conditions during a two-week period,
along with the decisions of a tennis player whether or not to play tennis on each
particular day. Thus we have generated tuples (or examples, instances) consisting of
values of four independent variables (outlook, temperature, humidity, windy) and
one dependent variable (play). See the textbook for a detailed description.
DBMS
Consider our data stored in a relational table as follows:

Day outlook temperature humidity windy play
1 sunny 85 85 false no
2 sunny 80 90 true no
3 overcast 83 86 false yes
4 rainy 70 96 false yes
5 rainy 68 80 false yes
6 rainy 65 70 true no
7 overcast 64 65 true yes
8 sunny 72 95 false no
9 sunny 69 70 false yes
10 rainy 75 80 false yes
11 sunny 75 70 true yes
12 overcast 72 90 true yes
13 overcast 81 75 false yes
14 rainy 71 91 true no
By querying a DBMS containing the above table we may answer questions like:
What was the temperature in the sunny days? {85, 80, 72, 69, 75}
Which days the humidity was less than 75? {6, 7, 9, 11}
Which days the temperature was greater than 70? {1, 2, 3, 8, 10, 11, 12, 13, 14}
Which days the temperature was greater than 70 and the humidity was less than
75? The intersection of the above two: {11}
OLAP
Using OLAP we can create a Multidimensional Model of our data (Data Cube). For
example using the dimensions: time, outlook and play we can create the following
model.

9 / 5 sunny rainy overcast
Week 1 0 / 2 2 / 1 2 / 0
Week 2 2 / 1 1 / 1 2 / 0
Obviously here time represents the days grouped in weeks (week 1 - days 1, 2, 3, 4, 5,
6, 7; week 2 - days 8, 9, 10, 11, 12, 13, 14) over the vertical axis. The outlook is
shown along the horizontal axis and the third dimension play is shown in each
individual cell as a pair of values corresponding to the two values along this
dimension - yes / no. Thus in the upper left corner of the cube we have the total over
all weeks and all outlook values.
By observing the data cube we can easily identify some important properties of the
data, find regularities or patterns. For example, the third column clearly shows that if
the outlook is overcast the play attribute is always yes. This may be put as a rule:
if outlook = overcast then play = yes
We may now apply "Drill-down" to our data cube over the time dimension. This
assumes the existence of a concept hierarchy for this attribute. We can show this as a
horizontal tree as follows:
time
o week 1
day 1
day 2
day 3
day 4
day 5
day 6
day 7
o week 2
day 8
day 9
day 10
day 11
day 12
day 13
day 14
day 15
The drill-down operation is based on climbing down the concept hierarchy, so that we
get the following data cube:

9 / 5 sunny rainy overcast
1 0 / 1 0 / 0 0 / 0
2 0 / 1 0 / 0 0 / 0
3 0 / 0 0 / 0 1 / 0
4 0 / 0 1 / 0 0 / 0
5 0 / 0 1 / 0 0 / 0
6 0 / 0 0 / 1 0 / 0
7 0 / 0 0 / 0 1 / 0
8 0 / 1 0 / 0 0 / 0
9 1 / 0 0 / 0 0 / 0
10 0 / 0 1 / 0 0 / 0
11 1 / 0 0 / 0 0 / 0
12 0 / 0 0 / 0 1 / 0
13 0 / 0 0 / 0 1 / 0
14 0 / 0 0 / 1 0 / 0
The reverse of drill-down (called roll-up) applied to this data cube results in the
previous cube with two values (week 1 and week 2) along the time dimension.
Data Mining
By applying various Data Mining techniques we can find associations and regularities
in our data, extract knowledge in the forms of rules, decision trees etc., or just predict
the value of the dependent variable (play) in new situations (tuples). Here are some
examples (all produced by Weka):
Mining Association Rules
To find associations in our data we first discretize the numeric attributes (a part of
the data pre-processing stage in data mining). Thus we group the temperature values
in three intervals (hot, mild, cool) and humidity values in two (high, normal) and
substitute the values in data with the corresponding names. Then we apply theApriori
algorithm and get the following association rules:
1. humidity=normal windy=false 4 ==> play=yes (4, 1)
2. temperature=cool 4 ==> humidity=normal (4, 1)
3. outlook=overcast 4 ==> play=yes (4, 1)
4. temperature=cool play=yes 3 ==> humidity=normal (3, 1)
5. outlook=rainy windy=false 3 ==> play=yes (3, 1)
6. outlook=rainy play=yes 3 ==> windy=false (3, 1)
7. outlook=sunny humidity=high 3 ==> play=no (3, 1)
8. outlook=sunny play=no 3 ==> humidity=high (3, 1)
9. temperature=cool windy=false 2 ==> humidity=normal play=yes (2, 1)
10. temperature=cool humidity=normal windy=false 2 ==> play=yes (2, 1)
These rules show some attribute values sets (the so called item sets) that appear
frequently in the data. The numbers after each rule show the support (the number of
occurrences of the item set in the data) and the confidence (accuracy) of the rule.
Interestingly, rule 3 is the same as the one that we produced by observing the data
cube.
Classification by Decision Trees and Rules
Using the ID3 algorithm we can produce the following decision tree (shown as a
horizontal tree):
outlook = sunny
o humidity = high: no
o humidity = normal: yes
outlook = overcast: yes
outlook = rainy
o windy = true: no
o windy = false: yes
The decision tree consists of decision nodes that test the values of their corresponding
attribute. Each value of this attribute leads to a subtree and so on, until the leaves of
the tree are reached. They determine the value of the dependent variable. Using a
decision tree we can classify new tuples (not used to generate the tree). For example,
according to the above tree the tuple {sunny, mild, normal, false} will be classified
under play=yes.
A decision trees can be represented as a set of rules, where each rule represents a path
through the tree from the root to a leaf. Other Data Mining techniques can produce
rules directly. For example the Prism algorithm available in Weka generates the
following rules.
If outlook = overcast then yes
If humidity = normal and windy = false then yes
If temperature = mild and humidity = normal then yes
If outlook = rainy and windy = false then yes
If outlook = sunny and humidity = high then no
If outlook = rainy and windy = true then no
Prediction methods
Data Mining offers techniques to predict the value of the dependent variable directly
without first generating a model. One of the most popular approaches for this purpose
is based of statistical methods. It uses the Bayes rule to predict the probability of each
value of the dependent variable given the values of the independent variables. For
example, applying Bayes to the new tuple discussed above we get:
P(play=yes | outlook=sunny, temperature=mild, humidity=normal, windy=false) =
0.8
P(play=no | outlook=sunny, temperature=mild, humidity=normal, windy=false) =
0.2
Then obviously the predicted value must be "yes".

You might also like