Temple University CIS Dept CIS 616 Principles of

  • Slides: 54
Download presentation
Temple University – CIS Dept. CIS 616– Principles of Data Management V. Megalooikonomou Introduction

Temple University – CIS Dept. CIS 616– Principles of Data Management V. Megalooikonomou Introduction to Data Mining (based on notes by Jiawei Han and Micheline Kamber and on notes by Christos Faloutsos)

General Overview - rel. model n n n Relational model - SQL Functional Dependencies

General Overview - rel. model n n n Relational model - SQL Functional Dependencies & Normalization Physical Design; Indexing Query processing/optimization Transaction processing Advanced topics n n n Distributed Databases OO- and OR-DBMSs Data Mining

Agenda n Motivation: Why data mining? n What is data mining? n Data Mining:

Agenda n Motivation: Why data mining? n What is data mining? n Data Mining: On what kind of data? n Data mining functionality n Are all the patterns interesting? n Classification of data mining systems n Major issues in data mining

Motivation n Data rich but information poor! n Data explosion problem n Automated data

Motivation n Data rich but information poor! n Data explosion problem n Automated data collection tools and mature database technology lead to tremendous amounts of data stored in databases, data warehouses and other information repositories n Solution: Data Mining n Extraction of interesting knowledge (rules, regularities, patterns, constraints) from data in large databases

Evolution of Database Technology n 1960 s: n n 1970 s: n n Relational

Evolution of Database Technology n 1960 s: n n 1970 s: n n Relational data model, relational DBMS implementation 1980 s: n n Data collection, database creation, IMS and network DBMS RDBMS, advanced data models (extended-relational, OO, deductive, etc. ) and application-oriented DBMS (spatial, scientific, engineering, etc. ) 1990 s— 2000 s: n Data mining and data warehousing, multimedia databases, and Web databases

What Is Data Mining? n Data mining (knowledge discovery in databases): n n Alternative

What Is Data Mining? n Data mining (knowledge discovery in databases): n n Alternative names: n n Extraction of interesting (non-trivial, implicit, previously unknown and potentially useful) information or patterns from data in large databases Knowledge discovery(mining) in databases (KDD), knowledge extraction, data/pattern analysis, data archeology, information harvesting, business intelligence, etc. What is not data mining? n n (Deductive) query processing. Expert systems or small ML/statistical programs

What Is Data Mining? • Now that we have gathered so much data, what

What Is Data Mining? • Now that we have gathered so much data, what do we do with it? • Extract interesting patterns (automatically) • Associations (e. g. , butter + bread --> milk) • Sequences (e. g. , temporal data related to stock market) • Rules that partition the data (e. g. , store location problem) • What patterns are “interesting”? information content, confidence and support, unexpectedness, actionability (utility in decision making))

Why Data Mining? — Potential Applications n Database analysis and decision support n Market

Why Data Mining? — Potential Applications n Database analysis and decision support n Market analysis and management n n Risk analysis and management n n n target marketing, market basket analysis, … Forecasting, quality control, competitive analysis, … Fraud detection and management Other Applications n Text mining (newsgroup, email, documents) and Web analysis. n Spatial data mining n Intelligent query answering

Market Analysis and Management n Data sources for analysis? (Credit card transactions, discount coupons,

Market Analysis and Management n Data sources for analysis? (Credit card transactions, discount coupons, customer complaint calls, etc. ) n Target marketing (Find clusters of “model” customers who share same characteristics: interest, income level, spending habits, etc. ) n Customer purchasing patterns over time (Conversion of single to a joint bank account: marriage, etc. ) n Cross-market analysis (Associations between product sales and prediction based on associations) n Customer Profiling (What customers buy what products) n Customer Requirements (Best products for different customers) n Summary information (multidimensional summary reports)

Risk Analysis and Management n Finance planning and asset evaluation n Resource planning: n

Risk Analysis and Management n Finance planning and asset evaluation n Resource planning: n n cash flow analysis and prediction cross-sectional and time series analysis (financialratio, trend analysis, etc. ) summarize and compare the resources and spending Competition: n n n monitor competitors and market directions group customers into classes and a class-based pricing procedure set pricing strategy in a highly competitive market

Fraud Detection and Management n Applications n n Approach n n health care, retail,

Fraud Detection and Management n Applications n n Approach n n health care, retail, credit card services, telecommunications etc. use historical data to build models of normal and fraudulent behavior and use data mining to help identify fraudulent instances Examples n n auto insurance: detect groups who stage accidents to collect insurance money laundering: detect suspicious money transactions medical insurance: detect professional patients and ring of doctors, inappropriate medical treatment detecting telephone fraud: Telephone call model: destination of the call, duration, time of day/week. Analyze patterns that deviate from expected norm.

Discovery of Medical/Biological Knowledge n Discovery of structure-function associations n n Human Brain Mapping

Discovery of Medical/Biological Knowledge n Discovery of structure-function associations n n Human Brain Mapping (lesion-deficit, task-activation associations) Cell structure (cytoskeleton) and functionality or pathology Discovery of causal relationships n n Structure of proteins and their function Symptoms and medical conditions DNA sequence analysis n Bioinformatics (microarrays, etc)

Other Applications n Sports n n Astronomy n n IBM Advanced Scout analyzed NBA

Other Applications n Sports n n Astronomy n n IBM Advanced Scout analyzed NBA game statistics (shots blocked, assists, and fouls) to gain competitive advantage for New York Knicks and Miami Heat JPL and the Palomar Observatory discovered 22 quasars with the help of data mining Internet Web Surf-Aid n IBM Surf-Aid applies data mining algorithms to Web access logs for market-related pages to discover customer preference and behavior pages, analyzing effectiveness of Web marketing, improving Web site organization, etc.

Data Mining: A KDD Process Pattern Evaluation n Data mining: the core of knowledge

Data Mining: A KDD Process Pattern Evaluation n Data mining: the core of knowledge discovery Data Mining process. Task-relevant Data Warehouse Data Cleaning Data Integration Databases Selection

Steps of a KDD Process n Learning the application domain: n n Creating a

Steps of a KDD Process n Learning the application domain: n n Creating a target data set: data selection Data cleaning and preprocessing: (may take 60% of effort!) Data reduction and transformation: n n summarization, classification, regression, association, clustering. Choosing the mining algorithm(s) Data mining: search for patterns of interest Pattern evaluation and knowledge presentation n n Find useful features, dimensionality/variable reduction, invariant representation. Choosing functions of data mining n n relevant prior knowledge and goals of application visualization, transformation, removing redundant patterns, etc. Use of discovered knowledge

Data Mining and Business Intelligence Increasing potential to support business decisions Making Decisions Data

Data Mining and Business Intelligence Increasing potential to support business decisions Making Decisions Data Presentation Visualization Techniques Data Mining Information Discovery End User Business Analyst Data Exploration Statistical Analysis, Querying and Reporting Data Warehouses / Data Marts OLAP, MDA Data Sources Paper, Files, Information Providers, Database Systems DBA

Architecture of a Typical Data Mining System Graphical user interface Pattern evaluation Data mining

Architecture of a Typical Data Mining System Graphical user interface Pattern evaluation Data mining engine Database or data warehouse server Data cleaning & data integration Databases Data Warehouse Knowledge-base Filtering

Data Mining: On What Kind of Data? n n Relational databases Data warehouses Transactional

Data Mining: On What Kind of Data? n n Relational databases Data warehouses Transactional databases Advanced DB and information repositories n n n n Object-oriented (OO)and object-relational (OR) databases Spatial databases (medical, satellite image DBs, GIS) Temporal databases Text databases Multimedia databases (Image, Video, etc) Heterogeneous and legacy databases WWW

Data Mining Functionalities – Patterns that can be mined n Concept description: Characterization and

Data Mining Functionalities – Patterns that can be mined n Concept description: Characterization and discrimination n n Generalize, summarize, and contrast data characteristics, e. g. , dry vs. wet regions Association (correlation and causality) n n Multi-dimensional vs. single-dimensional association age(X, “ 20. . 29”) ^ income(X, “ 20. . 29 K”) àbuys(X, “PC”) [support = 2%, confidence = 60%] n contains(T, “computer”) àcontains(x, “software”) [1%, 75%] n Confidence(x ày) = P(y|x): degree of certainty of association n Support(x ày) = P(x y): % of transactions that the rule satisfies

Data Mining Functionalities – Patterns that can be mined n Classification and Prediction n

Data Mining Functionalities – Patterns that can be mined n Classification and Prediction n Finding models (e. g. , if-then rules, decision trees, mathematical formulae, neural networks, classification rules) that describe and distinguish classes or concepts for future prediction, e. g. , classify cars based on gasmileage Prediction: Predict some unknown or missing numerical values Cluster analysis n n Class label is unknown: Group data to form new classes, e. g. , cluster houses to find distribution patterns Clustering principle: maximize intra-class similarity and minimize interclass similarity

Data Mining Functionalities – Patterns that can be mined n Outlier analysis n Outliers:

Data Mining Functionalities – Patterns that can be mined n Outlier analysis n Outliers: data objects that do not comply with the general behavior of the data (can be detected using statistical tests that assume a prob. model) n Often considered as noise but useful in fraud detection, rare events analysis n Trend and evolution analysis n Study regularities of objects whose behavior changes over time n Trend and deviation: regression analysis n Sequential pattern mining, periodicity analysis n Similarity-based analysis

When is a “Discovered” Pattern Interesting? n A data mining system/query may generate thousands

When is a “Discovered” Pattern Interesting? n A data mining system/query may generate thousands of patterns, not all of them are interesting. n n Suggested approach: Human-centered, query-based, focused mining Interestingness measures: A pattern is interesting if it is easily understood by humans, valid on new or test data with some degree of certainty, potentially useful, novel, or validates some hypothesis that a user seeks to confirm n Objective vs. subjective interestingness measures: n Objective: based on statistics and structures of patterns, e. g. , support, confidence, etc. n Subjective: based on user’s belief in the data, e. g. , unexpectedness, novelty, actionability, etc.

Can We Find All and Only Interesting Patterns? n n Find all the interesting

Can We Find All and Only Interesting Patterns? n n Find all the interesting patterns: Completeness n Can a data mining system find all the interesting patterns? n Association vs. classification vs. clustering Search for only interesting patterns: Optimization n Can a data mining system find only the interesting patterns? n Approaches n n First generate all the patterns and then filter out the uninteresting ones Generate only the interesting patterns—mining query optimization

Data Mining: Confluence of Multiple Disciplines Database Technology Machine Learning Information Science Statistics Data

Data Mining: Confluence of Multiple Disciplines Database Technology Machine Learning Information Science Statistics Data Mining Visualization Other Disciplines

Data Mining: Classification Schemes n n General functionality n Descriptive data mining n Predictive

Data Mining: Classification Schemes n n General functionality n Descriptive data mining n Predictive data mining Different views, different classifications n Kinds of databases to be mined n Kinds of knowledge to be discovered n Kinds of techniques utilized n Kinds of applications adapted

A Multi-Dimensional View of Data Mining Classification n n Databases to be mined n

A Multi-Dimensional View of Data Mining Classification n n Databases to be mined n Relational, transactional, object-oriented, object-relational, active, spatial, time-series, text, multi-media, heterogeneous, legacy, WWW, etc. Knowledge to be mined n Characterization, discrimination, association, classification, clustering, trend, deviation and outlier analysis, etc. n Multiple/integrated functions and mining at multiple levels Techniques utilized n Database-oriented, data warehouse (OLAP), machine learning, statistics, visualization, neural network, etc. Applications adapted n Retail, telecommunication, banking, fraud analysis, DNA mining, stock market analysis, Web mining, Weblog analysis, etc.

Major Issues in Data Mining n Mining methodology and user interaction n Mining different

Major Issues in Data Mining n Mining methodology and user interaction n Mining different kinds of knowledge in databases n Interactive mining of knowledge at multiple levels of abstraction n n Incorporation of background knowledge to guide the discovery process n Data mining query languages and ad-hoc data mining n Expression and visualization of data mining results n Handling noise and incomplete data n Pattern evaluation: the interestingness problem Performance and scalability n Efficiency and scalability of data mining algorithms n Parallel, distributed and incremental mining methods

More details… Decision Trees n Decision trees n n n Problem Approach Classification through

More details… Decision Trees n Decision trees n n n Problem Approach Classification through trees Building phase - splitting policies Pruning phase (to avoid over-fitting)

Decision Trees n Problem: Classification – i. e. , given a training set (N

Decision Trees n Problem: Classification – i. e. , given a training set (N tuples, with M attributes, plus a label attribute) find rules, to predict the label for newcomers Pictorially:

Decision trees ? ?

Decision trees ? ?

Decision trees n Issues: n n n missing values noise ‘rare’ events

Decision trees n Issues: n n n missing values noise ‘rare’ events

Decision trees n types of attributes n numerical (= continuous) - eg: ‘salary’ ordinal

Decision trees n types of attributes n numerical (= continuous) - eg: ‘salary’ ordinal (= integer) - eg. : ‘# of children’ nominal (= categorical) - eg. : ‘car-type’

Decision trees n Pictorially, we have num. attr#2 (e. g. , chol-level) + +

Decision trees n Pictorially, we have num. attr#2 (e. g. , chol-level) + + + + - - num. attr#1 (e. g. , ‘age’)

Decision trees n and we want to label ‘? ’ ? num. attr#2 (e.

Decision trees n and we want to label ‘? ’ ? num. attr#2 (e. g. , chol-level) + + + + - - num. attr#1 (e. g. , ‘age’)

Decision trees n so we build a decision tree: ? num. attr#2 (e. g.

Decision trees n so we build a decision tree: ? num. attr#2 (e. g. , chol-level) 40 + + + + - - 50 num. attr#1 (e. g. , ‘age’)

Decision trees n so we build a decision tree: age<50 N Y + Y

Decision trees n so we build a decision tree: age<50 N Y + Y - chol. <40 N. . .

Decision trees n Typically, two steps: n n tree building tree pruning (for over-training/over-fitting)

Decision trees n Typically, two steps: n n tree building tree pruning (for over-training/over-fitting)

Tree building n How? num. attr#2 (e. g. , chol-level) + -+ + -

Tree building n How? num. attr#2 (e. g. , chol-level) + -+ + - - ++ num. attr#1 (e. g. , ‘age’)

Tree building n n How? A: Partition, recursively - pseudocode: Partition ( dataset S)

Tree building n n How? A: Partition, recursively - pseudocode: Partition ( dataset S) if all points in S have same label then return evaluate splits along each attribute A pick best split, to divide S into S 1 and S 2 Partition(S 1); Partition(S 2) n n Q 1: how to introduce splits along attribute Ai Q 2: how to evaluate a split?

Tree building n Q 1: how to introduce splits along attribute Ai n A

Tree building n Q 1: how to introduce splits along attribute Ai n A 1: n for numerical attributes: n n n binary split, or multiple split for categorical attributes: n n compute all subsets (expensive!), or use a greedy approach

Tree building n n Q 2: how to evaluate a split? A: by how

Tree building n n Q 2: how to evaluate a split? A: by how close to uniform each subset is - ie. , we need a measure of uniformity:

Tree building Any other measure? entropy: H(p+, p-) p+: relative frequency of class +

Tree building Any other measure? entropy: H(p+, p-) p+: relative frequency of class + in S 1 0 0 0. 5 1 p+

Tree building ‘gini’ index: 1 -p+2 - p-2 entropy: H(p+, p-) p+: relative frequency

Tree building ‘gini’ index: 1 -p+2 - p-2 entropy: H(p+, p-) p+: relative frequency of class + in S 1 1 0 0. 5 1 p+

Tree building Intuition: n entropy: #bits to encode the class label n gini: classification

Tree building Intuition: n entropy: #bits to encode the class label n gini: classification error, if we randomly guess ‘+’ with prob. p+

Tree building Thus, we choose the split that reduces entropy/classification-error the most: E. g.

Tree building Thus, we choose the split that reduces entropy/classification-error the most: E. g. : num. attr#2 (e. g. , chol-level) + -+ + ++ + - - + num. attr#1 (e. g. , ‘age’)

Tree building n Before split: we need (n+ + n-) * H( p+, p-)

Tree building n Before split: we need (n+ + n-) * H( p+, p-) = (7+6) * H(7/13, 6/13) n bits total, to encode all the class labels After the split we need: 0 bits for the first half and (2+6) * H(2/8, 6/8) bits for the second half

Tree pruning n What for? num. attr#2 (eg. , chol-level) + -+ + ++

Tree pruning n What for? num. attr#2 (eg. , chol-level) + -+ + ++ + - - + num. attr#1 (eg. , ‘age’) . . .

Tree pruning n Q: How to do it? num. attr#2 (eg. , chol-level) +

Tree pruning n Q: How to do it? num. attr#2 (eg. , chol-level) + -+ + ++ + - - + num. attr#1 (eg. , ‘age’) . . .

Tree pruning n n Q: How to do it? A 1: use a ‘training’

Tree pruning n n Q: How to do it? A 1: use a ‘training’ and a ‘testing’ set prune nodes that improve classification in the ‘testing’ set. (Drawbacks? )

Tree pruning n n n Q: How to do it? A 1: use a

Tree pruning n n n Q: How to do it? A 1: use a ‘training’ and a ‘testing’ set prune nodes that improve classification in the ‘testing’ set. (Drawbacks? ) A 2: or, rely on MDL (= Minimum Description Language) - in detail:

Tree pruning n n envision the problem as compression and try to minimize the

Tree pruning n n envision the problem as compression and try to minimize the # bits to compress (a) the class labels AND (b) the representation of the decision tree

(MDL) n n a brilliant idea – e. g. : best n-degree polynomial to

(MDL) n n a brilliant idea – e. g. : best n-degree polynomial to compress these points: the one that minimizes (sum of errors + n )

Major Issues in Data Mining n Issues relating to the diversity of data types

Major Issues in Data Mining n Issues relating to the diversity of data types n n n Handling relational as well as complex types of data Mining information from heterogeneous databases and global information systems (WWW) Issues related to applications and social impacts n Application of discovered knowledge n n n Domain-specific data mining tools Intelligent query answering Process control and decision making Integration of the discovered knowledge with existing knowledge: A knowledge fusion problem Protection of data security, integrity, and privacy

Summary n n n Data mining: discovering interesting patterns from large amounts of data

Summary n n n Data mining: discovering interesting patterns from large amounts of data A natural evolution of database technology, in great demand, with wide applications A KDD process includes data cleaning, data integration, data selection, transformation, data mining, pattern evaluation, and knowledge presentation Mining can be performed in a variety of information repositories Data mining functionalities: characterization, discrimination, association, classification, clustering, outlier and trend analysis, etc. n Classification of data mining systems n Major issues in data mining