Knowledge Discovery in Databases (KDD) - Data Mining (DM)



Similar documents
Data Mining. Vera Goebel. Department of Informatics, University of Oslo

Data Mining as Part of Knowledge Discovery in Databases (KDD)

Introduction. A. Bellaachia Page: 1

OLAP and Data Mining. Data Warehousing and End-User Access Tools. Introducing OLAP. Introducing OLAP

Introduction to Data Mining

Introduction to Data Mining

Information Management course

Data Mining: Concepts and Techniques. Jiawei Han. Micheline Kamber. Simon Fräser University К MORGAN KAUFMANN PUBLISHERS. AN IMPRINT OF Elsevier

Data Mining and Knowledge Discovery in Databases (KDD) State of the Art. Prof. Dr. T. Nouri Computer Science Department FHNW Switzerland

Foundations of Artificial Intelligence. Introduction to Data Mining

Social Media Mining. Data Mining Essentials

International Journal of Computer Science Trends and Technology (IJCST) Volume 2 Issue 3, May-Jun 2014

Data Mining Analytics for Business Intelligence and Decision Support

Chapter 20: Data Analysis

An Overview of Knowledge Discovery Database and Data mining Techniques

Data Warehousing and Data Mining

DATA MINING CONCEPTS AND TECHNIQUES. Marek Maurizio E-commerce, winter 2011

1. What are the uses of statistics in data mining? Statistics is used to Estimate the complexity of a data mining problem. Suggest which data mining

Introduction to Artificial Intelligence G51IAI. An Introduction to Data Mining

Data Mining Solutions for the Business Environment

Database Marketing, Business Intelligence and Knowledge Discovery

Overview. Background. Data Mining Analytics for Business Intelligence and Decision Support

Data Mining Techniques

Foundations of Business Intelligence: Databases and Information Management

Data Mining Introduction

The Data Mining Process

Data Warehousing and Data Mining in Business Applications

DATA WAREHOUSING AND OLAP TECHNOLOGY

Introduction to Data Mining

Data Mining System, Functionalities and Applications: A Radical Review

An Introduction to Data Mining. Big Data World. Related Fields and Disciplines. What is Data Mining? 2/12/2015

A Review of Data Mining Techniques

Course DSS. Business Intelligence: Data Warehousing, Data Acquisition, Data Mining, Business Analytics, and Visualization

Data Warehousing and Data Mining

Data Mining - Introduction

not possible or was possible at a high cost for collecting the data.

Introduction to Data Mining and Business Intelligence Lecture 1/DMBI/IKI83403T/MTI/UI

IMPROVING DATA INTEGRATION FOR DATA WAREHOUSE: A DATA MINING APPROACH

Data Mining Algorithms Part 1. Dejan Sarka

OLAP & DATA MINING CS561-SPRING 2012 WPI, MOHAMED ELTABAKH

Principles of Data Mining by Hand&Mannila&Smyth

Data Mining: Overview. What is Data Mining?

DATA MINING TECHNIQUES AND APPLICATIONS

Data Mining is sometimes referred to as KDD and DM and KDD tend to be used as synonyms

Machine Learning using MapReduce

Building Data Cubes and Mining Them. Jelena Jovanovic

Chapter 5. Warehousing, Data Acquisition, Data. Visualization

Chapter 5 Business Intelligence: Data Warehousing, Data Acquisition, Data Mining, Business Analytics, and Visualization

ECLT 5810 E-Commerce Data Mining Techniques - Introduction. Prof. Wai Lam

Chapter 3: Cluster Analysis

Example application (1) Telecommunication. Lecture 1: Data Mining Overview and Process. Example application (2) Health

Data Mining for Fun and Profit

DATA MINING CLUSTER ANALYSIS: BASIC CONCEPTS

Data Mining: An Introduction

DATA MINING TECHNOLOGY. Keywords: data mining, data warehouse, knowledge discovery, OLAP, OLAM.

Oracle9i Data Warehouse Review. Robert F. Edwards Dulcian, Inc.

Mario Guarracino. Data warehousing

Data Warehousing and OLAP Technology for Knowledge Discovery

An Overview of Database management System, Data warehousing and Data Mining

Nine Common Types of Data Mining Techniques Used in Predictive Analytics

Introduction to Data Mining and Machine Learning Techniques. Iza Moise, Evangelos Pournaras, Dirk Helbing

Class 10. Data Mining and Artificial Intelligence. Data Mining. We are in the 21 st century So where are the robots?

Lecture Data Warehouse Systems

Adding New Level in KDD to Make the Web Usage Mining More Efficient. Abstract. 1. Introduction [1]. 1/10

International Journal of Scientific & Engineering Research, Volume 5, Issue 4, April ISSN

Nagarjuna College Of

Data Warehousing and Data Mining. A.A Datawarehousing & Datamining 1

SPATIAL DATA CLASSIFICATION AND DATA MINING

Importance or the Role of Data Warehousing and Data Mining in Business Applications

Azure Machine Learning, SQL Data Mining and R

from Larson Text By Susan Miertschin

DATA WAREHOUSE E KNOWLEDGE DISCOVERY

Mobile Phone APP Software Browsing Behavior using Clustering Analysis

Fluency With Information Technology CSE100/IMT100

How To Use Data Mining For Knowledge Management In Technology Enhanced Learning

Web Data Mining: A Case Study. Abstract. Introduction

ON INTEGRATING UNSUPERVISED AND SUPERVISED CLASSIFICATION FOR CREDIT RISK EVALUATION

Machine Learning and Data Mining. Fundamentals, robotics, recognition

BUILDING BLOCKS OF DATAWAREHOUSE. G.Lakshmi Priya & Razia Sultana.A Assistant Professor/IT

Knowledge Discovery and Data Mining. Structured vs. Non-Structured Data

Practical Data Science with Azure Machine Learning, SQL Data Mining, and R

DATA MINING AND WAREHOUSING CONCEPTS

Chapter 12 Discovering New Knowledge Data Mining

Transforming the Telecoms Business using Big Data and Analytics

OLAP and OLTP. AMIT KUMAR BINDAL Associate Professor M M U MULLANA

Numerical Algorithms Group

Data Mining + Business Intelligence. Integration, Design and Implementation

Week 3 lecture slides

Data Mining for Successful Healthcare Organizations

A STUDY OF DATA MINING ACTIVITIES FOR MARKET RESEARCH

White Paper. How Streaming Data Analytics Enables Real-Time Decisions

Outlines. Business Intelligence. What Is Business Intelligence? Data mining life cycle

Foundations of Business Intelligence: Databases and Information Management

Statistical Models in Data Mining

Data Mining and Exploration. Data Mining and Exploration: Introduction. Relationships between courses. Overview. Course Introduction

Concept and Applications of Data Mining. Week 1

Unsupervised Data Mining (Clustering)

Data Warehouse: Introduction

Data Mining Applications in Higher Education

Data Mining. Knowledge Discovery, Data Warehousing and Machine Learning Final remarks. Lecturer: JERZY STEFANOWSKI

Transcription:

Knowledge Discovery in Databases (KDD) - Data Mining (DM) Vera Goebel Department of Informatics, University of Oslo 2015 1!

Why Data Mining / KDD? Applications Banking: loan/credit card approval predict good customers based on old customers Customer relationship management: identify those who are likely to leave for a competitor. Targeted marketing: identify likely responders to promotions Fraud detection: telecommunications, financial transactions from an online stream of event identify fraudulent events Manufacturing and production: automatically adjust knobs when process parameter changes 2!

Applications (continued) Medicine: disease outcome, effectiveness of treatments analyze patient disease history: find relationship between diseases Molecular/Pharmaceutical: identify new drugs Scientific data analysis: identify new galaxies by searching for sub clusters Web site/store design and promotion: find affinity of visitor to pages and modify layout 3!

Why Now? Data is being produced Data is being warehoused The computing power is available The computing power is affordable The competitive pressures are strong Commercial products are available 4!

Why Integrate DM/KDD with DBS? Copy Mine Models Extract Data Consistency? 5!

Integration Objectives Avoid isolation of querying from mining Difficult to do ad-hoc mining Provide simple programming approach to creating and using DM models Make it possible to add new models Make it possible to add new, scalable algorithms Analysts (users) DM Vendors 6!

Why Data Mining? Can we solve all problems with DM? Four questions to be answered: Can the problem clearly be defined? Does potentially meaningful data exists? Does the data contain hidden knowledge or useful only for reporting purposes? Will the cost of processing the data be less then the likely increase in profit from the knowledge gained from applying any data mining project? 7!

Definitions: DM = KDD Knowledge Discovery in Databases (KDD) is the non-trivial extraction of implicit, previously unknown and potentially useful knowledge from data. Data mining is the exploration and analysis of large quantities of data in order to discover valid, novel, potentially useful, and ultimately understandable patterns in data. Process of semi-automatically analyzing large databases to find patterns that are: Valid: The patterns hold in general. Novel: We did not know the pattern beforehand. Useful: We can devise actions from the patterns. Understandable: We can interpret and comprehend the patterns. Why? Find trends and correlations in existing databases, that help you change structures and processes in human organizations: to be more effective to save time to make more money to improve product quality 8!

KDD Process Problem formulation Data collection subset data: sampling might hurt if highly skewed data feature selection: principal component analysis, heuristic search Pre-processing: cleaning name/address cleaning, different meanings (annual, yearly), duplicate removal, supplying missing values Transformation: map complex objects e.g. time series data to features e.g. frequency Choosing mining task and mining method Result evaluation and visualization Knowledge discovery is an iterative process 9!

KDD Process Steps (detailed) 1. Goal identification: Define problem relevant prior knowledge and goals of application 2. Creating a target data set: data selection 3. Data preprocessing: (60%-80% of effort!) -> good Data Warehouse needed! removal of noise or outliers strategies for handling missing data fields accounting for time sequence information 4. Data reduction and transformation: Find useful features, dimensionality/variable reduction, invariant representation 5. Data Mining: Choosing functions of data mining: summarization, classification, regression, association, clustering Choosing the mining algorithm(s): which models or parameters Search for patterns of interest 6. Presentation and evaluation: visualization, transformation, removing redundant patterns, etc. 7. Taking action: incorporating into the performance system documenting reporting to interested parties 10!

What can computers learn? 4 levels of learning [Merril & Tennyson 1977] Facts: simple statement of truth Concepts: set of objects, symbols, or events grouped together -> share certain properties Procedures: step-by-step course of action to achieve goal Principles: highest level of learning, general truths or laws that are basic to other truths DM tool dictates form of learning concepts: Human understandable: trees, rules, Black-box: networks, mathematical equations 11!

Data Warehouse (DW) -> Data Mining needs multi-dimensional data input DW: Repository of multiple heterogeneous data sources, organized under a unified multidimensional schema at a single site in order to facilitate management decision making. Data warehouse technology includes: n Data cleaning n Data integration n On-Line Analytical Processing (OLAP): Techniques that support multidimensional analysis and decision making with the following functionalities n summarization n consolidation n aggregation n view information from different angles n but additional data analysis tools are needed for n classification n clustering n characterization of data changing over time 12!

Where SQL Stops Short Observe Analyze Theoritize Data Mining Tools OLAP Tools Creates new knowledge in the form of predictions, classifications, associations, time-based patterns Analyzes a multi-dimensional view of existing knowledge Predict DSS-Extended SQL Queries Extends the DB schema to a limited, multi-dimensional view Complex SQL Queries DB schema describes the structure you already know Database! Successful KDD uses the entire tool hierarchy 13!

OnLine Analytic Processing (OLAP) OLAP the dynamic synthesis, analysis, and consolidation of large volumes of multi-dimensional data Focuses on multi-dimensional relationships among existing data records Differs from extended SQL for data warehouses DW operations: roll-up, drill-down, slice, dice, pivot OLAP packages add application-specific analysis Finance depreciation, currency conversion,... Building regulations usable space, electrical loading,... Computer Capacity Planning disk storage requirements, failure rate estimation... 14!

OnLine Analytic Processing (OLAP) OLAP differs from data mining OLAP tools provide quantitative analysis of multi-dimensional data relationships Data mining tools create and evaluate a set of possible problem solutions (and rank them) Ex: Propose 3 marketing strategies and order them based on marketing cost and likely sales income Three system architectures are used for OLAP Relational OLAP (ROLAP) Multi-dimensional OLAP (MOLAP) Managed Query Environment (MQE) 15!

Relational OLAP Relational Database! Relational Database System On-Demand Queries Result Relations ROLAP Server and Analysis App Relation DataCube Analysis Request Analysis Output Runtime Steps: Translate client request into 1 or more SQL queries Present SQL queries to a back-end RDBMS Convert result relations into multi-dimensional datacubes Execute the analysis application and return the results Optional Cache! Advantages: No special data storage structures, use standard relational storage structures Uses most current data from the OLTP server Disadvantages: Typically accesses only one RDBMS => no data integration over multiple DBSs Conversion from flat relations to memory-based datacubes is slow and complex Poor performance if large amounts of data are retrieved from the RDBMS 16!

Multi-dimensional OLAP Data! Data! Database System Data Source Fetch Source Data Fetch Source Data DataCubes Create Warehouse MOLAP Server and Analysis App Analysis Request Analysis Output Preprocessing Steps: Extract data from multiple data sources Store as a data warehouse, using custom storage structures Runtime Steps: Access datacubes through special index structures Execute the analysis application and returns the results Advantages: Special, multi-dimensional storage structures give good retrieval performance Warehouse integrates clean data from multiple data sources Disadvantages: Inflexible, multi-dimensional storage structures support only one application well Requires people and software to maintain the data warehouse 17!

Managed Query Environment (MQE) Relational Database! Relational Database System DataCubes MOLAP Server Client Runtime Steps: Fetch data from MOLAP Server, or RDBMS directly Build memory-based data structures, as required Execute the analysis application Advantages: Distributes workload to the clients, offloading the servers Simple to install, and maintain => reduced cost Retrieve Data Retrieve Data DataCube Cache! Analysis App Disadvantages: Provides limited analysis capability (i.e., client is less powerful than a server) Lots of redundant data stored on the client systems Client-defined and cached datacubes can cause inconsistent data Uses lots of network bandwidth 18!

KDD System Architecture DataCubes Fetch DataCubes Data Warehouse Query Multi-dim Data KDD Server DM-T1 DM-T2 Knowledge Request Transaction DB Multimedia DB Web Data Fetch Relations Fetch Relations Fetch Data Fetch Data ROLAP Server MOLAP Server Return Multi-dim DataValues DM-T3 OLAP T1 SQL i/f DM-T4 OLAP T2 nd SQL New Knowledge Need to mine all types of data sources DM tools require multi-dimensional input data Web Data Web Data General KDD systems also hosts OLAP tools, SQL interface, and SQL for DWs (e.g., nd SQL) 19!

Typical KDD Deployment Architecture DataCubes Fetch Datacubes Data Warehouse Server Query Data Warehouse Return DataCubes KDD Server T1 T2 Knowledge Request Knowledge Runtime Steps: Submit knowledge request Fetch datacubes from the warehouse Execute knowledge acquisition tools Return findings to the client for display Advantages: Data warehouse provides clean, maintained, multi-dimensional data Data retrieval is typically efficient Data warehouse can be used by other applications Easy to add new KDD tools Disadvantages: KDD is limited to data selected for inclusion in the warehouse If DW is not available, use MOLAP server or provide warehouse on KDD server 20!

KDD Life Cycle Data Selection and Extraction Data Cleaning Data Enrichment Data Coding Commonly part of data warehouse preparation Additional preparation for KDD Data Preparation Phases Data Mining Result Reporting Data preparation and result reporting are 80% of the work! Based on results you may decide to: Get more data from internal data sources Get additional data from external sources Recode the data 21!

Configuring the KDD Server Data mining mechanisms are not application-specific, they depend on the target knowledge type The application area impacts the type of knowledge you are seeking, so the application area guides the selection of data mining mechanisms that will be hosted on the KDD server. To configure a KDD server Select an application area Select (or build) a data source Select N knowledge types (types of questions you will ask) For each knowledge type Do Select 1 or more mining tools for that knowledge type Example: Application area: marketing Data Source: data warehouse of current customer info Knowledge types: classify current customers, predict future sales, predict new customers Data Mining Tools: decision trees, and neural networks 22!

Data Enrichment Integrating additional data from external sources Sources are public and private agencies Government, Credit bureau, Research lab, Typical data examples: Average income by city, occupation, or age group Percentage of homeowners and car owners by A person s credit rating, debt level, loan history, Geographical density maps (for population, occupations, ) New data extends each record from internal sources Database issues: More heterogenous data formats to be integrated Understand the semantics of the external source data 23!

Data Coding Goal: to streamline the data for effective and efficient processing by the target KDD application Steps: 1) Delete records with many missing values But in fraud detection, missing values are indicators of the behavior you want to discover! 2) Delete extra attributes Ex: delete customer names if looking at customer classes 3) Code detailed data values into categories or ranges based on the types of knowledge you want to discover Ex: divide specific ages into age ranges, 0-10, 11-20, map home addresses to regional codes convert homeownership to yes or no convert purchase date to a month number starting from Jan. 1990 24!

Data Mining Process Based on the questions being asked and the required form of the output 1) Select the data mining mechanisms you will use 2) Make sure the data is properly coded for the selected mechnisms Example: tool may accept numeric input only 3) Perform rough analysis using traditional tools Create a naive prediction using statistics, e.g., averages The data mining tools must do better than the naive prediction or you are not learning more than the obvious! 4) Run the tool and examine the results 25!

Data Mining Strategies Unsupervised Learning (Clustering) Supervised Learning: Classification Estimation Prediction Market Basket Analysis 26!

Two Styles of Data Mining Descriptive data mining characterize the general properties of the data in the database finds patterns in data user determines which ones are important Predictive data mining perform inference on the current data to make predictions we know what to predict Not mutually exclusive used together descriptive predictive E.g. customer segmentation descriptive by clustering Followed by a risk assignment model predictive 27!

Supervised vs. Unsupervised Learning n Supervised learning (classification, prediction) n Supervision: The training data (observations, measurements, etc.) are accompanied by labels indicating the class of the observations n New data is classified based on the training set n Unsupervised learning (summarization, association, clustering) n The class labels of training data is unknown n Given a set of measurements, observations, etc. with the aim of establishing the existence of classes or clusters in the data 28!

Descriptive Data Mining (1) Discovering new patterns inside the data Used during the data exploration steps Typical questions answered by descriptive data mining what is in the data what does it look like are there any unusual patterns what does the data suggest for customer segmentation users may have no idea which kind of patterns may be interesting 29!

Descriptive Data Mining (2) Patterns at various granularities: geography country - city - region - street student university - faculty - department - minor Functionalities of descriptive data mining: Clustering Example: customer segmentation Summarization Visualization Association Example: market basket analysis 30!

Black-box Model X: vector of independent variables or inputs Y =f(x) : an unknown function Y: dependent variables or output a single variable or a vector inputs X1,X2 Model Y output The user does not care what the model is doing it is a black box interested in the accuracy of its predictions 31!

Predictive Data Mining Using known examples the model is trained the unknown function is learned from data the more data with known outcomes is available the better the predictive power of the model Used to predict outcomes whose inputs are known but the output values are not realized yet Never 100% accurate The performance of a model on past data is not important to predict the known outcomes Its performance on unknown data is much more important 32!

Typical questions answered by predictive models Who is likely to respond to our next offer based on history of previous marketing campaigns Which customers are likely to leave in the next six months What transactions are likely to be fraudulent based on known examples of fraud What is the total amount spending of a customer in the next month 33!

Data Mining Functionalities (1) Concept description: characterization and discrimination Generalize, summarize, and contrast data characteristics, e.g., big spenders vs. budget spenders Association (correlation and causality) Multi-dimensional vs. single-dimensional association age(x, 20..29 ) ^ income(x, 20..29K ) -> buys(x, PC ) [support = 2%, confidence = 60%] contains(t, computer ) -> contains(x, software ) [1%, 75%] 34!

Data Mining Functionalities (2) Classification and Prediction Finding models (functions) that describe and distinguish classes or concepts for future prediction E.g., classify people as healthy or sick, or classify transactions as fraudulent or not Methods: decision-tree, classification rule, neural network Prediction: Predict some unknown or missing numerical values Cluster analysis Class label is unknown: Group data to form new classes, e.g., cluster customers of a retail company to learn about characteristics of different segments Clustering based on the principle: maximizing the intra-class similarity and minimizing the interclass similarity 35!

Data Mining Functionalities (3) Outlier analysis Outlier: a data object that does not comply with the general behavior of the data It can be considered as noise or exception but is quite useful in fraud detection, rare events analysis Trend and evolution analysis Trend and deviation: regression analysis Sequential pattern mining: click stream analysis Similarity-based analysis Other pattern-directed or statistical analyses 36!

Data Mining - Mechanisms Purpose/Use To define classes and predict future behavior of existing instances. To define classes and categorize new instances based on the classes. To identify a cause and predict the effect. To define classes and detect new and old instances that lie outside the classes. Knowledge Type Predictive Modeling Database Segmentation Link Analysis Deviation Detection Mechanisms Decision Trees, Neural Networks, Regression Analysis Genetic Algorithms K-nearest Neighbors, Neural Networks, Kohonen Maps Negative Association, Association Discovery, Sequential Pattern Discovery, Matching Time Sequence Discovery Statistics, Visualization, Genetic Algorithms 37!

Classification (Supervised Learning) Goal: Learn a function that assigns a record to one of several predefined classes. Requirements on the model: High accuracy Understandable by humans, interpretable Fast construction for very large training database Example: Given old data about customers and payments, predict new applicant s loan eligibility. Previous customers Classifier Decision rules Salary > 5 L Age Salary Profession Location Customer type Prof. = Exec Good/ bad New applicant s data 38!

Classification (cont.) Decision trees are one approach to classification. Other approaches include: Linear Discriminant Analysis k-nearest neighbor methods Logistic regression Neural networks Support Vector Machines 39!

Classification methods Goal: Predict class Ci = f(x1, x2,.. Xn) Regression: (linear or any other polynomial) a*x1 + b*x2 + c = Ci. Nearest neighour Decision tree classifier: divide decision space into piecewise constant regions. Probabilistic/generative models Neural networks: partition by non-linear boundaries 40!

Nearest neighbor Define proximity between instances, find neighbors of new instance and assign majority class Case based reasoning: when attributes are more complicated than real-valued Pros + Fast training Cons Slow during application. No feature selection. Notion of proximity vague 41!

Decision trees Tree where internal nodes are simple decision rules on one or more attributes and leaf nodes are predicted class labels. Salary < 1 M Prof = teacher Age < 30 Good Bad Bad Good 42!

Decision tree classifiers Widely used learning method Easy to interpret: can be represented as if-then-else rules Approximates function by piece wise constant regions Does not require any prior knowledge of data distribution, works well on noisy data. Has been applied to: classify medical patients based on the disease, equipment malfunction by cause, loan applicant by likelihood of payment. 43!

Data Mining Example - Database Segmentation Given: a coded database with 1 million records on subscriptions to five types of magazines Goal: to define a classification of the customers that can predict what types of new customers will subscribe to which types of magazines Client# Age Income Credit Car Owner House Owner Home Area Car Magaz House Magaz Sports Magaz Music Magaz Comic Magaz 2303 20 18.5 17.8 0 0 1 1 1 0 1 1 2309 25 36.0 26.6 1 0 1 0 0 0 0 1 2313 42 24.0 20.8 0 0 1 0 0 1 0 0 2327 31 48.2 24.5 1 1 1 0 1 1 1 0 2328 56 94.0 40.0 1 1 1 1 0 1 0 1 2330 43 18.0 7.0 1 0 1 0 0 1 0 0 2333 22 36.3 15.8 1 0 1 1 0 1 0 1........................ 44!

Decision Trees for DB Segmentation Which attribute(s) best predicts which magazine(s) a customer subscribes to (sensitivity analysis) Attributes: age, income, credit, car-owner, house-owner, area Classify people who subscribe to a car magazine Car Magaz Only 1% of the people over 44.5 years of age buys a car magazine Age > 44.5 Age <= 44.5 99% 38% 62% of the people under 44.5 years of age buys a car magazine Target advertising segment for car magazines Age > 48.5 Age <= 48.5 Income > 34.5 Income <= 34.5 100% 92% 100% 47% No one over 48.5 years of age buys a car magazine Age > 31.5 Age <= 31.5 46% 0% Everyone in this DB who has an income of less than $34, 500 AND buys a car magazine is less than 31.5 years of age 45!

Pros and Cons of decision trees Pros + Reasonable training time + Fast application + Easy to interpret + Easy to implement + Can handle large number of features Cons Cannot handle complicated relationship between features simple decision boundaries problems with lots of missing data 46!

Clustering (Unsupervised Learning) Unsupervised learning when old data with class labels not available e.g. when introducing a new product. Group/cluster existing customers based on time series of payment history such that similar customers in same cluster. Key requirement: Need a good measure of similarity between instances. Identify micro-markets and develop policies for each 47!

Applications Customer segmentation e.g. for targeted marketing Group/cluster existing customers based on time series of payment history such that similar customers in same cluster. Identify micro-markets and develop policies for each Collaborative filtering: group based on common items purchased Text clustering Compression 48!

Distance Functions Numeric data: euclidean, manhattan distances Categorical data: 0/1 to indicate presence/absence followed by Hamming distance (# dissimilarity) Jaccard coefficients: #similarity in 1s/(# of 1s) data dependent measures: similarity of A and B depends on co-occurance with C Combined numeric and categorical data: weighted normalized distance 49!

Clustering Methods Hierarchical clustering agglomerative vs. divisive single link vs. complete link Partitional clustering distance-based: K-means model-based density-based 50!

Association Rules Given set T of groups of items Example: set of item sets purchased Goal: find all rules on itemsets of the form a-->b such that support of a and b > user threshold s conditional probability (confidence) of b given a > user threshold c Example: Milk --> bread Purchase of product A --> service B T Milk, cereal Tea, milk Tea, rice, bread cereal 51!

Variants High confidence may not imply high correlation Use correlations. Find expected support and large departures from that interesting. see statistical literature on contingency tables. Still too many rules, need to prune... 52!

Neural Networks Car Input nodes are connected to output nodes by a set of hidden nodes and edges House Sports Music Inputs describe DB instances Outputs are the categories we want to recognize Input Nodes Hidden Layer Nodes Output Nodes Comic Hidden nodes assign weights to each edge so they represent the weight of relationships between the input and the output of a large set of training data 53!

Training and Mining Training Phase (learning) Age < 30 Code all DB data as 1 s and 0 s Set all edge weights to prob = 0 30 Age < 50 Age 50 Income < 20 20 Income < 35 35 Income < 50 Income 50 Car House Input Nodes Hidden Layer Nodes Output Nodes Car House Sports Music Comic Input each coded database record Check that the output is correct The system adjusts the edge weights to get the correct answer Mining Phase (recognition) Input a new instance coded as 1 s and 0 s Output is the classification of the new instance Issues: Training sample must be large to get good results Network is a black box, it does not tell why an instance gives a particular output (no theory) 54!

Neural Network Set of nodes connected by directed weighted edges Basic NN unit A more typical NN x1 x2 x3 w2 w3 w1 o σ ( y) = n = σ ( wi x i= 1 1 1+ e i ) y x1 x2 x3 Hidden nodes Output nodes 55!

Neural Networks Useful for learning complex data like handwriting, speech and image recognition Decision boundaries: Linear regression Classification tree Neural network 56!

Pros and Cons of Neural Network Pros + Can learn more complicated class boundaries + Fast application + Can handle large number of features Cons Slow training time Hard to interpret Hard to implement: trial and error for choosing number of nodes Conclusion: Use neural nets only if decision-trees/nn fail 57!

58! Bayesian Learning Assume a probability model on generation of data. Apply bayes theorem to find most likely class as: Naïve bayes: Assume attributes conditionally independent given class value Easy to learn probabilities by counting, Useful in some domains e.g. text ) ( ) ( ) ( max ) ( max predicted class : d p c p c d p d c p c j j c j c j j = = = = n i j i j c c a p d p c p c j 1 ) ( ) ( ) ( max

Genetic Algorithms Based on Darwin s theory of survival of the fittest Living organisms reproduce, individuals evolve/mutate, individuals survive or die based on fitness The output of a genetic algorithm is the set of fittest solutions that will survive in a particular environment The input is an initial set of possible solutions The process Produce the next generation (by a cross-over function) Evolve solutions (by a mutation function) Discard weak solutions (based on a fitness function) 59!

Classification Using Genetic Algorithms Suppose we have money for 5 marketing campaigns, so we wish to cluster our magazine customers into 5 target marketing groups Customers with similar attribute values form a cluster (assumes similar attributes => similar behavior) Preparation: Define an encoding to represent solutions (i.e., use a character sequence to represent a cluster of customers) Create 5 possible initial solutions (and encode them as strings) Define the 3 genetic functions to operate on a cluster encoding Cross-over( ), Mutate( ), Fitness_Test( ) 60!

Genetic Algorithms - Initialization Define 5 initial solutions Use a subset of the database to create a 2-dim scatter plot Map customer attributes to 2 dimensions Divide the plot into 5 regions Calculate an initial solution point (guide point) in each region Equidistant from region lines Define an encoding for the solutions Strings for the customer attribute values Encode each guide point Voronoi Diagram 30 40 55 30 80 10 20 28 50 16 Guide Point #1 10 Attribute Values 61!

Genetic Algorithms Evolution 1st Gen 30 10 40 20 55 28 30 50 80 16 Solution 1 35 18 42 20 55 15 40 48 75 16 Solution 2 15 30 37 15 50 28 30 50 75 16 Solution 3 30 24 40 55 30 80 10 20 28 50 45 16 35 42 50 30 75 18 20 28 50 16 15 37 50 40 75 30 15 28 48 16 Mutation Cross-over Fitness 16 creating 2 children 2nd Gen 30 24 55 30 80 10 20 28 45 16 35 42 50 30 75 18 20 28 50 16 15 37 50 40 75 30 15 28 48 16 10 90 33 10 48 28 26 50 57 80 Solution 4 35 42 55 40 75 18 20 15 48 16 10 90 33 10 37 28 26 37 57 46 Solution 5 Fitness 14.5 Fitness 17 Fitness 30 Fitness 33 Fitness 13 Fitness 25 15 37 50 30 75 30 15 28 50 16 Cross-over function Create 2 children Take 6 attribute values from one parent and 4 from the other Mutate function Randomly switch several attribute values from values in the sample subspace Fitness function: Average distance between the solution point and all the points in the sample subspace Stop when the solutions change very little 62!

Selecting a Data Mining Mechanism Multiple mechanisms can be used to answer a question select the mechanism based on your requirements Many recs Many attrs Numeric values String values Learn rules Learn incre Est stat signif L-Perf disk L-Perf cpu A-Perf disk A-Perf cpu Decision Trees Neural Networks Genetic Algs Good Avg Poor Quality of Input Quality of Output Learning Performance Application Performance 63!

An Explosion of Mining Results Data Mining tools can output thousands of rules and associations (collectively called patterns) When is a pattern interesting? 1) If it can be understood by humans 2) The pattern is strong (i.e., valid for many new data records) 3) It is potentially useful for your business needs 4) It is novel (i.e., previously unknown) Metrics of interestingness Simplicity: Rule Length for (A B) is the number of conjunctive conditions or the number of attributes in the rule Confidence: Rule Strength for (A B) is the conditional probability that A implies B (#recs with A & B)/(#recs with A) Support: Support for (A B) is the number or percentage of DB records that include A and B Novelty: Rule Uniqueness for (A B) means no other rule includes or implies this rule 64!

So... Artificial Intelligence is fun,... but what does this have to do with database? Data mining is just another database application Data mining applications have requirements: need multi-dimensional data as input -> Data Warehouse The Data Warehouses (DBSs) can help data mining applications meet their requirements So, what are the challenges for data mining systems and how can the database system help? 65!

Database Support for DM Challenges Data Mining Challenge Support many data mining mechanisms in a KDD system Support interactive mining and incremental mining Guide the mining process by integrity constraints Determine usefulness of a data mining result Help humans to better understand mining results (e.g., visualization) Database Support Support multiple DB interfaces (for different DM mechanisms) Intelligent caching and support for changing views over query results Make integrity constraints query-able (meta-data) Gather and output runtime statistics on DB support, confidence, and other metrics Prepare output data for selectable presentation formats 66!

Database Support for DM Challenges Data Mining Challenge Accurate, efficient, and flexible methods for data cleaning and data encoding Improved performance for data mining mechanisms Ability to mine a wide variety of data types Support web mining Define a data mining query language Database Support Programmable data warehouse tools for data cleaning and encoding; Fast, runtime re-encoding Parallel data retrieval and support for incremental query processing New indexing and access methods for non-traditional data types Extend XML and WWW database technology to support large, long running queries Extend SQL, OQL and other interfaces to support data mining 67!

KDD / Data Mining Market Around 20 to 30 data mining tool vendors (trend ++) Major tool players: Clementine IBM Intelligent Miner SGI MineSet SAS Enterprise Miner All pretty much the same set of tools Many embedded products: fraud detection electronic commerce applications health care customer relationship management: Epiphany 68!

Vertical Integration: Mining on the Web Web log analysis for site design: what are popular pages, what links are hard to find. Electronic stores sales enhancements: recommendations, advertisement: Collaborative filtering: Net perception, Wisewire Inventory control: what was a shopper looking for and could not find. 69!

OLAP Mining Integration OLAP (On Line Analytical Processing) Fast interactive exploration of multi-dimensional aggregates Heavy reliance on manual operations for analysis Tedious and error-prone on large multidimensional data Ideal platform for vertical integration of mining but needs to be interactive instead of batch. 70!

SQL/MM: Data Mining A collection of classes that provide a standard interface for invoking DM algorithms from SQL systems. Four data models are supported: Frequent itemsets, association rules Clusters Regression trees Classification trees 71!

Conclusions To support data mining, we should Enhance database technologies developed for Data warehouses Very large database systems Object-oriented (navigational) database systems View Management mechanisms Heterogeneous databases Create new access methods based on mining access Develop query languages or other interfaces to better support data mining mechanisms Select and integrate the needed DB technologies 72!