SlideShare une entreprise Scribd logo
1  sur  97
An Introduction to WEKA


        Saeed Iqbal
Content
    What is WEKA?
    Data set in WEKA
    The Explorer:
      Preprocess data
      Classification
      Clustering
      Association Rules
      Attribute Selection
      Data Visualization
    References and Resources


2                               01/07/13
What is WEKA?
    Waikato Environment for Knowledge Analysis
      It’s a data mining/machine learning tool developed by
       Department of Computer Science, University of Waikato, New
       Zealand.
      Weka is a collection of machine learning algorithms for data
       mining tasks.
      Weka is open source software issued under the GNU General
       Public License.




3                                                              01/07/13
Download and Install WEKA
    Website:
     http://www.cs.waikato.ac.nz/~ml/weka/index.html
    Support multiple platforms (written in java):
      Windows, Mac OS X and Linux

    Weka Manual:
      http://transact.dl.sourceforge.net/sourcefor
       ge/weka/WekaManual-3.6.0.pdf




4                                                      01/07/13
Main Features
    49 data preprocessing tools
    76 classification/regression algorithms
    8 clustering algorithms
    3 algorithms for finding association rules
    15 attribute/subset evaluators + 10 search algorithms
      for feature selection




5                                                      01/07/13
Main GUI
     Three graphical user interfaces
      “The Explorer” (exploratory data analysis)
      “The Experimenter” (experimental
       environment)
      “The KnowledgeFlow” (new process model
       inspired interface)
      Simple CLI (Command prompt)
          Offers some functionality not available via the GUI




6                                                                01/07/13
Datasets in Weka
Each entry in a dataset is an instance of the java class:
  weka.core.Instance
Each instance consists of a number of attributes
  Nominal: one of a predefined list of values
      e.g. red, green, blue
  Numeric: A real or integer number
  String: Enclosed in “double quotes”
  Date
  Relational
ARFF Files
Weka wants its input data in ARFF format.
  A dataset has to start with a declaration of its name:
     @relation name
  @attribute attribute_name specification
     If an attribute is nominal, specification contains a list of the possible
      attribute values in curly brackets:
        @attribute nominal_attribute {first_value, second_value,
          third_value}
     If an attribute is numeric, specification is replaced by the keyword
      numeric: (Integer values are treated as real numbers in WEKA.)
        @attribute numeric_attribute numeric
  After the attribute declarations, the actual data is introduced by
    a tag:
     @data
ARFF File
@relation weather
@attribute outlook { sunny, overcast, rainy }
@attribute temperature numeric
@attribute humidity numeric
@attribute windy { TRUE, FALSE }
@attribute play { yes, no }
@data
sunny, 85, 85, FALSE, no
sunny, 80, 90, TRUE, no
overcast, 83, 86, FALSE, yes
rainy, 70, 96, FALSE, yes
rainy, 68, 80, FALSE, yes
rainy, 65, 70, TRUE, no
overcast, 64, 65, TRUE, yes
sunny, 72, 95, FALSE, no
sunny, 69, 70, FALSE, yes
rainy, 75, 80, FALSE, yes
sunny, 75, 70, TRUE, yes
overcast, 72, 90, TRUE, yes
overcast, 81, 75, FALSE, yes
rainy, 71, 91, TRUE, no
WEKA: Explorer
Preprocess: Choose and modify the data being acted on.
Classify: Train and test learning schemes that classify or
 perform regression.
Cluster: Learn clusters for the data.
Associate: Learn association rules for the data.
Select attributes: Select the most relevant attributes in the
 data.
Visualize: View an interactive 2D plot of the data.
Content
     What is WEKA?
     Data set in WEKA
     The Explorer:
       Preprocess data
       Classification
       Clustering
       Association Rules
       Attribute Selection
       Data Visualization
     References and Resources


11                               01/07/13
Explorer: pre-processing the data
     Data can be imported from a file in various formats: ARFF,
      CSV, C4.5, binary
     Data can also be read from a URL or from an SQL database
      (using JDBC)
     Pre-processing tools in WEKA are called “filters”
     WEKA contains filters for:
       Discretization, normalization, resampling, attribute selection,
         transforming and combining attributes, …




12                                                                01/07/13
WEKA only deals with “flat” files
 @relation heart-disease-simplified

 @attribute age numeric
 @attribute sex { female, male}
 @attribute chest_pain_type { typ_angina, asympt, non_anginal, atyp_angina}
 @attribute cholesterol numeric
 @attribute exercise_induced_angina { no, yes}
 @attribute class { present, not_present}

 @data
 63,male,typ_angina,233,no,not_present
 67,male,asympt,286,yes,present
 67,male,asympt,229,yes,present
 38,female,non_anginal,?,no,not_present
 ...

13                                                                            01/07/13
WEKA only deals with “flat” files
 @relation heart-disease-simplified

 @attribute age numeric
 @attribute sex { female, male}
 @attribute chest_pain_type { typ_angina, asympt, non_anginal, atyp_angina}
 @attribute cholesterol numeric
 @attribute exercise_induced_angina { no, yes}
 @attribute class { present, not_present}

 @data
 63,male,typ_angina,233,no,not_present
 67,male,asympt,286,yes,present
 67,male,asympt,229,yes,present
 38,female,non_anginal,?,no,not_present
 ...

14                                                                            01/07/13
load
     filter
                              analyze




15    University of Waikato             01/07/13
16   University of Waikato   01/07/13
17   University of Waikato   01/07/13
18   University of Waikato   01/07/13
19   University of Waikato   01/07/13
20   University of Waikato   01/07/13
21   University of Waikato   01/07/13
22   University of Waikato   01/07/13
23   University of Waikato   01/07/13
24   University of Waikato   01/07/13
25   University of Waikato   01/07/13
26   University of Waikato   01/07/13
27   University of Waikato   01/07/13
28   University of Waikato   01/07/13
29   University of Waikato   01/07/13
30   University of Waikato   01/07/13
31   University of Waikato   01/07/13
32   University of Waikato   01/07/13
33   University of Waikato   01/07/13
34   University of Waikato   01/07/13
35   University of Waikato   01/07/13
Explorer: building “classifiers”
     Classifiers in WEKA are models for predicting nominal or
      numeric quantities
     Implemented learning schemes include:
       Decision trees and lists, instance-based classifiers, support
         vector machines, multi-layer perceptrons, logistic regression,
         Bayes’ nets, …




36                                                                  01/07/13
Decision Tree Induction: Training Dataset
                 age    income student credit_rating   buys_computer
               <=30    high       no fair                   no
This follows   <=30    high       no excellent              no
               31…40   high       no fair                   yes
an example     >40     medium     no fair                   yes
of Quinlan’s   >40     low       yes fair                   yes
ID3 (Playing   >40     low       yes excellent              no
               31…40   low       yes excellent              yes
Tennis)        <=30    medium     no fair                   no
               <=30    low       yes fair                   yes
               >40     medium    yes fair                   yes
               <=30    medium    yes excellent              yes
               31…40   medium     no excellent              yes
               31…40   high      yes fair                   yes
               >40     medium     no excellent              no
37                                                         January 7, 2013
Output: A Decision Tree for “buys_computer”

                                age?


                  <=30      overcast
                             31..40          >40

               student?         yes          credit rating?

          no          yes              excellent       fair

     no                   yes           no               yes


38                                                             January 7, 2013
Algorithm for Decision Tree Induction
  Basic algorithm (a greedy algorithm)
     Tree is constructed in a top-down recursive divide-and-conquer
      manner
     At start, all the training examples are at the root
     Attributes are categorical (if continuous-valued, they are discretized
      in advance)
     Examples are partitioned recursively based on selected attributes
     Test attributes are selected on the basis of a heuristic or statistical
      measure (e.g., information gain)



39                                                                 January 7, 2013
classifiers
  DEMO
41   University of Waikato   01/07/13
42   University of Waikato   01/07/13
43   University of Waikato   01/07/13
44   University of Waikato   01/07/13
45   University of Waikato   01/07/13
46   University of Waikato   01/07/13
47   University of Waikato   01/07/13
48   University of Waikato   01/07/13
49   University of Waikato   01/07/13
50   University of Waikato   01/07/13
51   University of Waikato   01/07/13
52   University of Waikato   01/07/13
53   University of Waikato   01/07/13
54   University of Waikato   01/07/13
55   University of Waikato   01/07/13
56   University of Waikato   01/07/13
57   University of Waikato   01/07/13
58   University of Waikato   01/07/13
59   University of Waikato   01/07/13
60   University of Waikato   01/07/13
61   University of Waikato   01/07/13
62   University of Waikato   01/07/13
Explorer: clustering data
     WEKA contains “clusterers” for finding groups of similar
      instances in a dataset
     Implemented schemes are:
       k-Means, EM, Cobweb, X-means, FarthestFirst
     Clusters can be visualized and compared to “true” clusters (if
      given)
     Evaluation based on loglikelihood if clustering scheme
      produces a probability distribution




63                                                             01/07/13
Clustering
  DEMO
The K-Means Clustering Method
      Given k, the k-means algorithm is implemented in four steps:
       Partition objects into k nonempty subsets
       Compute seed points as the centroids of the clusters of the
         current partition (the centroid is the center, i.e., mean point, of
         the cluster)
       Assign each object to the cluster with the nearest seed point
       Go back to Step 2, stop when no more new assignment




65                                                                     January 7, 2013
Explorer: finding associations
     WEKA contains an implementation of the Apriori algorithm
       for learning association rules
       Works only with discrete data
     Can identify statistical dependencies between groups of
       attributes:
       milk, butter ⇒ bread, eggs (with confidence 0.9 and support
         2000)
     Apriori can compute all rules that have a given minimum
       support and exceed a given confidence



66                                                              01/07/13
Basic Concepts: Frequent Patterns
Tid                Items bought                itemset: A set of one or more items
10               Beer, Nuts, Diaper            k-itemset X = {x1, …, xk}
20               Beer, Coffee, Diaper
                                               (absolute) support, or, support count of X:
30               Beer, Diaper, Eggs
                                                Frequency or occurrence of an itemset
40                 Nuts, Eggs, Milk             X
50      Nuts, Coffee, Diaper, Eggs, Milk
                                               (relative) support, s, is the fraction of
                 Customer       Customer        transactions that contains X (i.e., the
                 buys both      buys diaper     probability that a transaction contains X)
                                               An itemset X is frequent if X’s support is
                                                no less than a minsup threshold

     Customer
     buys beer
67                                                                             January 7, 2013
Basic Concepts: Association Rules
Tid                Items bought                Find all the rules X  Y with minimum
10              Beer, Nuts, Diaper
                                                   support and confidence
20             Beer, Coffee, Diaper
30                Beer, Diaper, Eggs                support, s, probability that a
40                Nuts, Eggs, Milk                     transaction contains X ∪ Y
50         Nuts, Coffee, Diaper, Eggs, Milk
                                                    confidence, c, conditional probability
             Customer
                                 Customer              that a transaction having X also
             buys both
                                 buys                  contains Y
                                 diaper
                                              Let minsup = 50%, minconf = 50%
                                              Freq. Pat.: Beer:3, Nuts:3, Diaper:4, Eggs:3, {Beer,
                                                    Diaper}:3
      Customer
      buys beer                                   Association rules: (many more!)
                                                       Beer  Diaper (60%, 100%)
                                                       Diaper  Beer (60%, 75%)
68                                                                                     January 7, 2013
Association
  DEMO
70   University of Waikato   01/07/13
71   University of Waikato   01/07/13
72   University of Waikato   01/07/13
73   University of Waikato   01/07/13
74   University of Waikato   01/07/13
Explorer: attribute selection
     Panel that can be used to investigate which (subsets of)
      attributes are the most predictive ones
     Attribute selection methods contain two parts:
       A search method: best-first, forward selection, random,
        exhaustive, genetic algorithm, ranking
       An evaluation method: correlation-based, wrapper,
        information gain, chi-squared, …
     Very flexible: WEKA allows (almost) arbitrary combinations
       of these two



75                                                                01/07/13
Explorer: attribute selection
           DEMO
77   University of Waikato   01/07/13
78   University of Waikato   01/07/13
79   University of Waikato   01/07/13
80   University of Waikato   01/07/13
81   University of Waikato   01/07/13
82   University of Waikato   01/07/13
83   University of Waikato   01/07/13
84   University of Waikato   01/07/13
Explorer: data visualization
     Visualization very useful in practice: e.g. helps to determine
      difficulty of the learning problem
     WEKA can visualize single attributes (1-d) and pairs of
      attributes (2-d)
       To do: rotating 3-d visualizations (Xgobi-style)
     Color-coded class values
     “Jitter” option to deal with nominal attributes (and to detect
      “hidden” data points)
     “Zoom-in” function



85                                                              01/07/13
data visualization
      DEMO
87   University of Waikato   01/07/13
88   University of Waikato   01/07/13
89   University of Waikato   01/07/13
90   University of Waikato   01/07/13
91   University of Waikato   01/07/13
92   University of Waikato   01/07/13
93   University of Waikato   01/07/13
94   University of Waikato   01/07/13
95   University of Waikato   01/07/13
96   University of Waikato   01/07/13
References and Resources
 References:
  WEKA website:
   http://www.cs.waikato.ac.nz/~ml/weka/index.html
  WEKA Tutorial:
     Machine Learning with WEKA: A presentation demonstrating all graphical user
       interfaces (GUI) in Weka.
     A presentation which explains how to use Weka for exploratory data mining.
  WEKA Data Mining Book:
    Ian H. Witten and Eibe Frank, Data Mining: Practical Machine Learning
     Tools and Techniques (Second Edition)
  WEKA Wiki:
   http://weka.sourceforge.net/wiki/index.php/Main_Page
  Others:
     Jiawei Han and Micheline Kamber, Data Mining: Concepts and Techniques,
       2nd ed.

Contenu connexe

Tendances

Supervised and unsupervised learning
Supervised and unsupervised learningSupervised and unsupervised learning
Supervised and unsupervised learningParas Kohli
 
Presentation on unsupervised learning
Presentation on unsupervised learning Presentation on unsupervised learning
Presentation on unsupervised learning ANKUSH PAL
 
Machine Learning - Dataset Preparation
Machine Learning - Dataset PreparationMachine Learning - Dataset Preparation
Machine Learning - Dataset PreparationAndrew Ferlitsch
 
DATA MINING TOOL- ORANGE
DATA MINING TOOL- ORANGEDATA MINING TOOL- ORANGE
DATA MINING TOOL- ORANGENeeraj Goswami
 
Machine learning ppt.
Machine learning ppt.Machine learning ppt.
Machine learning ppt.ASHOK KUMAR
 
Classification in data mining
Classification in data mining Classification in data mining
Classification in data mining Sulman Ahmed
 
Supervised learning and Unsupervised learning
Supervised learning and Unsupervised learning Supervised learning and Unsupervised learning
Supervised learning and Unsupervised learning Usama Fayyaz
 
INTRODUCTION TO MACHINE LEARNING.pptx
INTRODUCTION TO MACHINE LEARNING.pptxINTRODUCTION TO MACHINE LEARNING.pptx
INTRODUCTION TO MACHINE LEARNING.pptxAbhigyanMishra17
 
Ensemble learning
Ensemble learningEnsemble learning
Ensemble learningHaris Jamil
 
data mining with weka application
data mining with weka applicationdata mining with weka application
data mining with weka applicationRezapourabbas
 
Data Mining Tools / Orange
Data Mining Tools / OrangeData Mining Tools / Orange
Data Mining Tools / OrangeYasemin Karaman
 
Ppt on data science
Ppt on data science Ppt on data science
Ppt on data science Ansh Budania
 
Introduction to Deep Learning
Introduction to Deep LearningIntroduction to Deep Learning
Introduction to Deep LearningOswald Campesato
 
Knowledge discovery thru data mining
Knowledge discovery thru data miningKnowledge discovery thru data mining
Knowledge discovery thru data miningDevakumar Jain
 
2.3 bayesian classification
2.3 bayesian classification2.3 bayesian classification
2.3 bayesian classificationKrish_ver2
 
Anomaly detection with machine learning at scale
Anomaly detection with machine learning at scaleAnomaly detection with machine learning at scale
Anomaly detection with machine learning at scaleImpetus Technologies
 

Tendances (20)

Supervised and unsupervised learning
Supervised and unsupervised learningSupervised and unsupervised learning
Supervised and unsupervised learning
 
Deep learning presentation
Deep learning presentationDeep learning presentation
Deep learning presentation
 
Presentation on unsupervised learning
Presentation on unsupervised learning Presentation on unsupervised learning
Presentation on unsupervised learning
 
Machine Learning - Dataset Preparation
Machine Learning - Dataset PreparationMachine Learning - Dataset Preparation
Machine Learning - Dataset Preparation
 
DATA MINING TOOL- ORANGE
DATA MINING TOOL- ORANGEDATA MINING TOOL- ORANGE
DATA MINING TOOL- ORANGE
 
Machine learning
Machine learningMachine learning
Machine learning
 
Naive bayes
Naive bayesNaive bayes
Naive bayes
 
Machine learning ppt.
Machine learning ppt.Machine learning ppt.
Machine learning ppt.
 
Classification in data mining
Classification in data mining Classification in data mining
Classification in data mining
 
Supervised learning and Unsupervised learning
Supervised learning and Unsupervised learning Supervised learning and Unsupervised learning
Supervised learning and Unsupervised learning
 
INTRODUCTION TO MACHINE LEARNING.pptx
INTRODUCTION TO MACHINE LEARNING.pptxINTRODUCTION TO MACHINE LEARNING.pptx
INTRODUCTION TO MACHINE LEARNING.pptx
 
Data mining tasks
Data mining tasksData mining tasks
Data mining tasks
 
Ensemble learning
Ensemble learningEnsemble learning
Ensemble learning
 
data mining with weka application
data mining with weka applicationdata mining with weka application
data mining with weka application
 
Data Mining Tools / Orange
Data Mining Tools / OrangeData Mining Tools / Orange
Data Mining Tools / Orange
 
Ppt on data science
Ppt on data science Ppt on data science
Ppt on data science
 
Introduction to Deep Learning
Introduction to Deep LearningIntroduction to Deep Learning
Introduction to Deep Learning
 
Knowledge discovery thru data mining
Knowledge discovery thru data miningKnowledge discovery thru data mining
Knowledge discovery thru data mining
 
2.3 bayesian classification
2.3 bayesian classification2.3 bayesian classification
2.3 bayesian classification
 
Anomaly detection with machine learning at scale
Anomaly detection with machine learning at scaleAnomaly detection with machine learning at scale
Anomaly detection with machine learning at scale
 

En vedette

An Introduction To Weka
An Introduction To WekaAn Introduction To Weka
An Introduction To Wekaweka Content
 
Classification and Clustering Analysis using Weka
Classification and Clustering Analysis using Weka Classification and Clustering Analysis using Weka
Classification and Clustering Analysis using Weka Ishan Awadhesh
 
WEKA Tutorial
WEKA TutorialWEKA Tutorial
WEKA Tutorialbutest
 
RapidMiner: Introduction To Rapid Miner
RapidMiner: Introduction To Rapid MinerRapidMiner: Introduction To Rapid Miner
RapidMiner: Introduction To Rapid MinerRapidmining Content
 
Introduction au datamining, concepts et techniques
Introduction au datamining, concepts et techniquesIntroduction au datamining, concepts et techniques
Introduction au datamining, concepts et techniquesIsmail CHAIB
 
Data mining: Classification and prediction
Data mining: Classification and predictionData mining: Classification and prediction
Data mining: Classification and predictionDataminingTools Inc
 
Data Warehousing and Data Mining
Data Warehousing and Data MiningData Warehousing and Data Mining
Data Warehousing and Data Miningidnats
 

En vedette (8)

An Introduction To Weka
An Introduction To WekaAn Introduction To Weka
An Introduction To Weka
 
Classification and Clustering Analysis using Weka
Classification and Clustering Analysis using Weka Classification and Clustering Analysis using Weka
Classification and Clustering Analysis using Weka
 
WEKA Tutorial
WEKA TutorialWEKA Tutorial
WEKA Tutorial
 
RapidMiner: Introduction To Rapid Miner
RapidMiner: Introduction To Rapid MinerRapidMiner: Introduction To Rapid Miner
RapidMiner: Introduction To Rapid Miner
 
Introduction au datamining, concepts et techniques
Introduction au datamining, concepts et techniquesIntroduction au datamining, concepts et techniques
Introduction au datamining, concepts et techniques
 
Data Mining
Data MiningData Mining
Data Mining
 
Data mining: Classification and prediction
Data mining: Classification and predictionData mining: Classification and prediction
Data mining: Classification and prediction
 
Data Warehousing and Data Mining
Data Warehousing and Data MiningData Warehousing and Data Mining
Data Warehousing and Data Mining
 

Similaire à Weka presentation

wekapresentation-130107115704-phpapp02.pdf
wekapresentation-130107115704-phpapp02.pdfwekapresentation-130107115704-phpapp02.pdf
wekapresentation-130107115704-phpapp02.pdfDr. Rajesh P Barnwal
 
Introduction to Weka and Preprocessing.ppt
Introduction to Weka and Preprocessing.pptIntroduction to Weka and Preprocessing.ppt
Introduction to Weka and Preprocessing.pptradhikadsu
 
Machine Learning with WEKA
Machine Learning with WEKAMachine Learning with WEKA
Machine Learning with WEKAbutest
 
A simple introduction to weka
A simple introduction to wekaA simple introduction to weka
A simple introduction to wekaPamoda Vajiramali
 
weka-190429184259.pdf
weka-190429184259.pdfweka-190429184259.pdf
weka-190429184259.pdfTeamRebel1
 
Weka presentation
Weka presentationWeka presentation
Weka presentationAbrar ali
 
Data Mining with WEKA WEKA
Data Mining with WEKA WEKAData Mining with WEKA WEKA
Data Mining with WEKA WEKAbutest
 
Linear Regression Algorithm | Linear Regression in R | Data Science Training ...
Linear Regression Algorithm | Linear Regression in R | Data Science Training ...Linear Regression Algorithm | Linear Regression in R | Data Science Training ...
Linear Regression Algorithm | Linear Regression in R | Data Science Training ...Edureka!
 
Weka : A machine learning algorithms for data mining
Weka : A machine learning algorithms for data miningWeka : A machine learning algorithms for data mining
Weka : A machine learning algorithms for data miningKeshab Kumar Gaurav
 
Data mining techniques using weka
Data mining techniques using wekaData mining techniques using weka
Data mining techniques using wekarathorenitin87
 
Business Analytics using R.ppt
Business Analytics using R.pptBusiness Analytics using R.ppt
Business Analytics using R.pptRohit Raj
 
Module three ppt of DWDM. Details of data mining rules
Module three ppt of DWDM. Details of data mining rulesModule three ppt of DWDM. Details of data mining rules
Module three ppt of DWDM. Details of data mining rulesNivaTripathy1
 
Barga Data Science lecture 8
Barga Data Science lecture 8Barga Data Science lecture 8
Barga Data Science lecture 8Roger Barga
 
classification in data mining and data warehousing.pdf
classification in data mining and data warehousing.pdfclassification in data mining and data warehousing.pdf
classification in data mining and data warehousing.pdf321106410027
 

Similaire à Weka presentation (20)

wekapresentation-130107115704-phpapp02.pdf
wekapresentation-130107115704-phpapp02.pdfwekapresentation-130107115704-phpapp02.pdf
wekapresentation-130107115704-phpapp02.pdf
 
Introduction to Weka and Preprocessing.ppt
Introduction to Weka and Preprocessing.pptIntroduction to Weka and Preprocessing.ppt
Introduction to Weka and Preprocessing.ppt
 
Machine Learning with WEKA
Machine Learning with WEKAMachine Learning with WEKA
Machine Learning with WEKA
 
A simple introduction to weka
A simple introduction to wekaA simple introduction to weka
A simple introduction to weka
 
Data Mining
Data MiningData Mining
Data Mining
 
Weka-Presentation.ppt
Weka-Presentation.ppt Weka-Presentation.ppt
Weka-Presentation.ppt
 
weka-190429184259.pdf
weka-190429184259.pdfweka-190429184259.pdf
weka-190429184259.pdf
 
Weka presentation
Weka presentationWeka presentation
Weka presentation
 
Clusterix at VDS 2016
Clusterix at VDS 2016Clusterix at VDS 2016
Clusterix at VDS 2016
 
Data Mining with WEKA WEKA
Data Mining with WEKA WEKAData Mining with WEKA WEKA
Data Mining with WEKA WEKA
 
Linear Regression Algorithm | Linear Regression in R | Data Science Training ...
Linear Regression Algorithm | Linear Regression in R | Data Science Training ...Linear Regression Algorithm | Linear Regression in R | Data Science Training ...
Linear Regression Algorithm | Linear Regression in R | Data Science Training ...
 
Weka : A machine learning algorithms for data mining
Weka : A machine learning algorithms for data miningWeka : A machine learning algorithms for data mining
Weka : A machine learning algorithms for data mining
 
Data mining techniques using weka
Data mining techniques using wekaData mining techniques using weka
Data mining techniques using weka
 
5 learning
5 learning5 learning
5 learning
 
Business Analytics using R.ppt
Business Analytics using R.pptBusiness Analytics using R.ppt
Business Analytics using R.ppt
 
Module three ppt of DWDM. Details of data mining rules
Module three ppt of DWDM. Details of data mining rulesModule three ppt of DWDM. Details of data mining rules
Module three ppt of DWDM. Details of data mining rules
 
Weka
Weka Weka
Weka
 
Barga Data Science lecture 8
Barga Data Science lecture 8Barga Data Science lecture 8
Barga Data Science lecture 8
 
classification in data mining and data warehousing.pdf
classification in data mining and data warehousing.pdfclassification in data mining and data warehousing.pdf
classification in data mining and data warehousing.pdf
 
Data Mining using Weka
Data Mining using WekaData Mining using Weka
Data Mining using Weka
 

Dernier

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 

Dernier (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

Weka presentation

  • 1. An Introduction to WEKA Saeed Iqbal
  • 2. Content What is WEKA? Data set in WEKA The Explorer: Preprocess data Classification Clustering Association Rules Attribute Selection Data Visualization References and Resources 2 01/07/13
  • 3. What is WEKA? Waikato Environment for Knowledge Analysis It’s a data mining/machine learning tool developed by Department of Computer Science, University of Waikato, New Zealand. Weka is a collection of machine learning algorithms for data mining tasks. Weka is open source software issued under the GNU General Public License. 3 01/07/13
  • 4. Download and Install WEKA Website: http://www.cs.waikato.ac.nz/~ml/weka/index.html Support multiple platforms (written in java):  Windows, Mac OS X and Linux Weka Manual: http://transact.dl.sourceforge.net/sourcefor ge/weka/WekaManual-3.6.0.pdf 4 01/07/13
  • 5. Main Features 49 data preprocessing tools 76 classification/regression algorithms 8 clustering algorithms 3 algorithms for finding association rules 15 attribute/subset evaluators + 10 search algorithms for feature selection 5 01/07/13
  • 6. Main GUI  Three graphical user interfaces “The Explorer” (exploratory data analysis) “The Experimenter” (experimental environment) “The KnowledgeFlow” (new process model inspired interface) Simple CLI (Command prompt)  Offers some functionality not available via the GUI 6 01/07/13
  • 7. Datasets in Weka Each entry in a dataset is an instance of the java class: weka.core.Instance Each instance consists of a number of attributes Nominal: one of a predefined list of values  e.g. red, green, blue Numeric: A real or integer number String: Enclosed in “double quotes” Date Relational
  • 8. ARFF Files Weka wants its input data in ARFF format. A dataset has to start with a declaration of its name:  @relation name @attribute attribute_name specification  If an attribute is nominal, specification contains a list of the possible attribute values in curly brackets:  @attribute nominal_attribute {first_value, second_value, third_value}  If an attribute is numeric, specification is replaced by the keyword numeric: (Integer values are treated as real numbers in WEKA.)  @attribute numeric_attribute numeric After the attribute declarations, the actual data is introduced by a tag:  @data
  • 9. ARFF File @relation weather @attribute outlook { sunny, overcast, rainy } @attribute temperature numeric @attribute humidity numeric @attribute windy { TRUE, FALSE } @attribute play { yes, no } @data sunny, 85, 85, FALSE, no sunny, 80, 90, TRUE, no overcast, 83, 86, FALSE, yes rainy, 70, 96, FALSE, yes rainy, 68, 80, FALSE, yes rainy, 65, 70, TRUE, no overcast, 64, 65, TRUE, yes sunny, 72, 95, FALSE, no sunny, 69, 70, FALSE, yes rainy, 75, 80, FALSE, yes sunny, 75, 70, TRUE, yes overcast, 72, 90, TRUE, yes overcast, 81, 75, FALSE, yes rainy, 71, 91, TRUE, no
  • 10. WEKA: Explorer Preprocess: Choose and modify the data being acted on. Classify: Train and test learning schemes that classify or perform regression. Cluster: Learn clusters for the data. Associate: Learn association rules for the data. Select attributes: Select the most relevant attributes in the data. Visualize: View an interactive 2D plot of the data.
  • 11. Content What is WEKA? Data set in WEKA The Explorer: Preprocess data Classification Clustering Association Rules Attribute Selection Data Visualization References and Resources 11 01/07/13
  • 12. Explorer: pre-processing the data Data can be imported from a file in various formats: ARFF, CSV, C4.5, binary Data can also be read from a URL or from an SQL database (using JDBC) Pre-processing tools in WEKA are called “filters” WEKA contains filters for: Discretization, normalization, resampling, attribute selection, transforming and combining attributes, … 12 01/07/13
  • 13. WEKA only deals with “flat” files @relation heart-disease-simplified @attribute age numeric @attribute sex { female, male} @attribute chest_pain_type { typ_angina, asympt, non_anginal, atyp_angina} @attribute cholesterol numeric @attribute exercise_induced_angina { no, yes} @attribute class { present, not_present} @data 63,male,typ_angina,233,no,not_present 67,male,asympt,286,yes,present 67,male,asympt,229,yes,present 38,female,non_anginal,?,no,not_present ... 13 01/07/13
  • 14. WEKA only deals with “flat” files @relation heart-disease-simplified @attribute age numeric @attribute sex { female, male} @attribute chest_pain_type { typ_angina, asympt, non_anginal, atyp_angina} @attribute cholesterol numeric @attribute exercise_induced_angina { no, yes} @attribute class { present, not_present} @data 63,male,typ_angina,233,no,not_present 67,male,asympt,286,yes,present 67,male,asympt,229,yes,present 38,female,non_anginal,?,no,not_present ... 14 01/07/13
  • 15. load filter analyze 15 University of Waikato 01/07/13
  • 16. 16 University of Waikato 01/07/13
  • 17. 17 University of Waikato 01/07/13
  • 18. 18 University of Waikato 01/07/13
  • 19. 19 University of Waikato 01/07/13
  • 20. 20 University of Waikato 01/07/13
  • 21. 21 University of Waikato 01/07/13
  • 22. 22 University of Waikato 01/07/13
  • 23. 23 University of Waikato 01/07/13
  • 24. 24 University of Waikato 01/07/13
  • 25. 25 University of Waikato 01/07/13
  • 26. 26 University of Waikato 01/07/13
  • 27. 27 University of Waikato 01/07/13
  • 28. 28 University of Waikato 01/07/13
  • 29. 29 University of Waikato 01/07/13
  • 30. 30 University of Waikato 01/07/13
  • 31. 31 University of Waikato 01/07/13
  • 32. 32 University of Waikato 01/07/13
  • 33. 33 University of Waikato 01/07/13
  • 34. 34 University of Waikato 01/07/13
  • 35. 35 University of Waikato 01/07/13
  • 36. Explorer: building “classifiers” Classifiers in WEKA are models for predicting nominal or numeric quantities Implemented learning schemes include: Decision trees and lists, instance-based classifiers, support vector machines, multi-layer perceptrons, logistic regression, Bayes’ nets, … 36 01/07/13
  • 37. Decision Tree Induction: Training Dataset age income student credit_rating buys_computer <=30 high no fair no This follows <=30 high no excellent no 31…40 high no fair yes an example >40 medium no fair yes of Quinlan’s >40 low yes fair yes ID3 (Playing >40 low yes excellent no 31…40 low yes excellent yes Tennis) <=30 medium no fair no <=30 low yes fair yes >40 medium yes fair yes <=30 medium yes excellent yes 31…40 medium no excellent yes 31…40 high yes fair yes >40 medium no excellent no 37 January 7, 2013
  • 38. Output: A Decision Tree for “buys_computer” age? <=30 overcast 31..40 >40 student? yes credit rating? no yes excellent fair no yes no yes 38 January 7, 2013
  • 39. Algorithm for Decision Tree Induction  Basic algorithm (a greedy algorithm) Tree is constructed in a top-down recursive divide-and-conquer manner At start, all the training examples are at the root Attributes are categorical (if continuous-valued, they are discretized in advance) Examples are partitioned recursively based on selected attributes Test attributes are selected on the basis of a heuristic or statistical measure (e.g., information gain) 39 January 7, 2013
  • 41. 41 University of Waikato 01/07/13
  • 42. 42 University of Waikato 01/07/13
  • 43. 43 University of Waikato 01/07/13
  • 44. 44 University of Waikato 01/07/13
  • 45. 45 University of Waikato 01/07/13
  • 46. 46 University of Waikato 01/07/13
  • 47. 47 University of Waikato 01/07/13
  • 48. 48 University of Waikato 01/07/13
  • 49. 49 University of Waikato 01/07/13
  • 50. 50 University of Waikato 01/07/13
  • 51. 51 University of Waikato 01/07/13
  • 52. 52 University of Waikato 01/07/13
  • 53. 53 University of Waikato 01/07/13
  • 54. 54 University of Waikato 01/07/13
  • 55. 55 University of Waikato 01/07/13
  • 56. 56 University of Waikato 01/07/13
  • 57. 57 University of Waikato 01/07/13
  • 58. 58 University of Waikato 01/07/13
  • 59. 59 University of Waikato 01/07/13
  • 60. 60 University of Waikato 01/07/13
  • 61. 61 University of Waikato 01/07/13
  • 62. 62 University of Waikato 01/07/13
  • 63. Explorer: clustering data WEKA contains “clusterers” for finding groups of similar instances in a dataset Implemented schemes are: k-Means, EM, Cobweb, X-means, FarthestFirst Clusters can be visualized and compared to “true” clusters (if given) Evaluation based on loglikelihood if clustering scheme produces a probability distribution 63 01/07/13
  • 65. The K-Means Clustering Method  Given k, the k-means algorithm is implemented in four steps: Partition objects into k nonempty subsets Compute seed points as the centroids of the clusters of the current partition (the centroid is the center, i.e., mean point, of the cluster) Assign each object to the cluster with the nearest seed point Go back to Step 2, stop when no more new assignment 65 January 7, 2013
  • 66. Explorer: finding associations WEKA contains an implementation of the Apriori algorithm for learning association rules Works only with discrete data Can identify statistical dependencies between groups of attributes: milk, butter ⇒ bread, eggs (with confidence 0.9 and support 2000) Apriori can compute all rules that have a given minimum support and exceed a given confidence 66 01/07/13
  • 67. Basic Concepts: Frequent Patterns Tid Items bought  itemset: A set of one or more items 10 Beer, Nuts, Diaper  k-itemset X = {x1, …, xk} 20 Beer, Coffee, Diaper  (absolute) support, or, support count of X: 30 Beer, Diaper, Eggs Frequency or occurrence of an itemset 40 Nuts, Eggs, Milk X 50 Nuts, Coffee, Diaper, Eggs, Milk  (relative) support, s, is the fraction of Customer Customer transactions that contains X (i.e., the buys both buys diaper probability that a transaction contains X)  An itemset X is frequent if X’s support is no less than a minsup threshold Customer buys beer 67 January 7, 2013
  • 68. Basic Concepts: Association Rules Tid Items bought  Find all the rules X  Y with minimum 10 Beer, Nuts, Diaper support and confidence 20 Beer, Coffee, Diaper 30 Beer, Diaper, Eggs  support, s, probability that a 40 Nuts, Eggs, Milk transaction contains X ∪ Y 50 Nuts, Coffee, Diaper, Eggs, Milk  confidence, c, conditional probability Customer Customer that a transaction having X also buys both buys contains Y diaper Let minsup = 50%, minconf = 50% Freq. Pat.: Beer:3, Nuts:3, Diaper:4, Eggs:3, {Beer, Diaper}:3 Customer buys beer  Association rules: (many more!)  Beer  Diaper (60%, 100%)  Diaper  Beer (60%, 75%) 68 January 7, 2013
  • 70. 70 University of Waikato 01/07/13
  • 71. 71 University of Waikato 01/07/13
  • 72. 72 University of Waikato 01/07/13
  • 73. 73 University of Waikato 01/07/13
  • 74. 74 University of Waikato 01/07/13
  • 75. Explorer: attribute selection Panel that can be used to investigate which (subsets of) attributes are the most predictive ones Attribute selection methods contain two parts: A search method: best-first, forward selection, random, exhaustive, genetic algorithm, ranking An evaluation method: correlation-based, wrapper, information gain, chi-squared, … Very flexible: WEKA allows (almost) arbitrary combinations of these two 75 01/07/13
  • 77. 77 University of Waikato 01/07/13
  • 78. 78 University of Waikato 01/07/13
  • 79. 79 University of Waikato 01/07/13
  • 80. 80 University of Waikato 01/07/13
  • 81. 81 University of Waikato 01/07/13
  • 82. 82 University of Waikato 01/07/13
  • 83. 83 University of Waikato 01/07/13
  • 84. 84 University of Waikato 01/07/13
  • 85. Explorer: data visualization Visualization very useful in practice: e.g. helps to determine difficulty of the learning problem WEKA can visualize single attributes (1-d) and pairs of attributes (2-d) To do: rotating 3-d visualizations (Xgobi-style) Color-coded class values “Jitter” option to deal with nominal attributes (and to detect “hidden” data points) “Zoom-in” function 85 01/07/13
  • 87. 87 University of Waikato 01/07/13
  • 88. 88 University of Waikato 01/07/13
  • 89. 89 University of Waikato 01/07/13
  • 90. 90 University of Waikato 01/07/13
  • 91. 91 University of Waikato 01/07/13
  • 92. 92 University of Waikato 01/07/13
  • 93. 93 University of Waikato 01/07/13
  • 94. 94 University of Waikato 01/07/13
  • 95. 95 University of Waikato 01/07/13
  • 96. 96 University of Waikato 01/07/13
  • 97. References and Resources  References: WEKA website: http://www.cs.waikato.ac.nz/~ml/weka/index.html WEKA Tutorial:  Machine Learning with WEKA: A presentation demonstrating all graphical user interfaces (GUI) in Weka.  A presentation which explains how to use Weka for exploratory data mining. WEKA Data Mining Book:  Ian H. Witten and Eibe Frank, Data Mining: Practical Machine Learning Tools and Techniques (Second Edition) WEKA Wiki: http://weka.sourceforge.net/wiki/index.php/Main_Page Others:  Jiawei Han and Micheline Kamber, Data Mining: Concepts and Techniques, 2nd ed.