157
Department of Computer Science, University of Waikato, New Zealand Bernhard Pfahringer (based on material by Eibe Frank, Mark Hall, and Peter Reutemann) WEKA: A Machine Learning Toolkit The Explorer Classification and Regression Clustering Association Rules Attribute Selection Data Visualization The Experimenter The Knowledge Flow GUI Other Utilities Conclusions Machine Learning with WEKA

WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

Department of Computer Science, University of Waikato, New Zealand

Bernhard Pfahringer(based on material by Eibe Frank, Mark

Hall, and Peter Reutemann)

WEKA: A Machine Learning ToolkitThe Explorer

• Classification and Regression

• Clustering• Association Rules• Attribute Selection• Data Visualization

The ExperimenterThe Knowledge Flow GUIOther UtilitiesConclusions

Machine Learning with WEKA

Page 2: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 2

WEKA: the bird

Copyright: Martin Kramer ([email protected])

The Weka or woodhen (Gallirallus australis) is an endemic bird of New Zealand. (Source: WikiPedia)

Page 3: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 3

WEKA: the softwareMachine learning/data mining software written in Java (distributed under the GNU Public License)Used for research, education, and applicationsComplements “Data Mining” by Witten & FrankMain features:

Comprehensive set of data pre-processing tools, learning algorithms and evaluation methodsGraphical user interfaces (incl. data visualization)Environment for comparing learning algorithms

Page 4: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 4

HistoryProject funded by the NZ government since 1993

Develop state-of-the art workbench of data mining toolsExplore fielded applicationsDevelop new fundamental methods

Page 5: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 5

History (2)Late 1992 - funding was applied for by Ian Witten1993 - development of the interface and infrastructure

WEKA acronym coined by Geoff HolmesWEKA’s file format “ARFF” was created by Andrew DonkinARFF was rumored to stand for AAndrew’s RRidiculous FFile FFormat

Sometime in 1994 - first internal release of WEKATCL/TK user interface + learning algorithms written mostly in CVery much beta softwareChanges for the b1 release included (among others):“Ambiguous and Unsupported menu commands removed.”

“Crashing processes handled (in most cases :-)”

October 1996 - first public release: WEKA 2.1

Page 6: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 6

History (3)July 1997 - WEKA 2.2

Schemes: 1R, T2, K*, M5, M5Class, IB1-4, FOIL, PEBLS, support for C5Included a facility (based on Unix makefiles) for configuring and running large scale experiments

Early 1997 - decision was made to rewrite WEKA in JavaOriginated from code written by Eibe Frank for his PhDOriginally codenamed JAWS (JAJAva WWeka SSystem)

May 1998 - WEKA 2.3Last release of the TCL/TK-based system

Mid 1999 - WEKA 3 (100% Java) releasedVersion to complement the Data Mining bookDevelopment version (including GUI)

Page 7: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 7

The GUI back then…

TCL/

TK in

terfa

ce o

f Wek

a 2.

1

Page 8: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 8

WEKA: versionsThere are several versions of WEKA:

WEKA 3.4: “book version” compatible with description in data mining bookWEKA 3.5.5: “development version” with lots of improvements

This talk is based on a nightly snapshot of WEKA 3.5.5 (12-Feb-2007)

Page 9: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 9

@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}

@data63,male,typ_angina,233,no,not_present67,male,asympt,286,yes,present67,male,asympt,229,yes,present38,female,non_anginal,?,no,not_present...

WEKA only deals with “flat” files

Page 10: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 10

@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}

@data63,male,typ_angina,233,no,not_present67,male,asympt,286,yes,present67,male,asympt,229,yes,present38,female,non_anginal,?,no,not_present...

WEKA only deals with “flat” files

Page 11: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 11

java weka.gui.GUIChooser

Page 12: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 12

Page 13: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 13

Page 14: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 14

java -jar weka.jar

Page 15: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 15

Explorer: pre-processing the dataData can be imported from a file in various formats: ARFF, CSV, C4.5, binaryData 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, …

Page 16: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 16

Page 17: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 17

Page 18: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 18

Page 19: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 19

Page 20: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 20

Page 21: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 21

Page 22: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 22

Page 23: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 23

Page 24: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 24

Page 25: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 25

Page 26: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 26

Page 27: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 27

Page 28: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 28

Page 29: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 29

Page 30: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 30

Page 31: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 31

Page 32: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 32

Page 33: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 33

Page 34: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 34

Page 35: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 35

Page 36: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 36

Page 37: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 37

Explorer: building “classifiers”Classifiers in WEKA are models for predicting nominal or numeric quantitiesImplemented learning schemes include:

Decision trees and lists, instance-based classifiers, support vector machines, multi-layer perceptrons, logistic regression, Bayes’ nets, …

“Meta”-classifiers include:Bagging, boosting, stacking, error-correcting output codes, locally weighted learning, …

Page 38: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 38

Page 39: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 39

Page 40: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 40

Page 41: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 41

Page 42: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 42

Page 43: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 43

Page 44: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 44

Page 45: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 45

Page 46: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 46

Page 47: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 47

Page 48: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 48

Page 49: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 49

Page 50: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 50

Page 51: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 51

Page 52: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 52

Page 53: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 53

Page 54: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 54

Page 55: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 55

Page 56: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 56

Page 57: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 57

Page 58: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 58

Page 59: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 59

Page 60: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 60

Page 61: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 61

Page 62: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 62

Page 63: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 63

Page 64: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 64

Page 65: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 65

Page 66: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 66

Page 67: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 67

Page 68: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 68

Page 69: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 69

Page 70: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 70

Page 71: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 71

Page 72: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 72QuickTime?and a TIFF (LZW) decompressor are needed to see this picture.

Page 73: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 73QuickTime?and a TIFF (LZW) decompressor are needed to see this picture.

Page 74: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 74

Page 75: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 75

Page 76: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 76

Page 77: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 77

Page 78: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 78

QuickTime?and a TIFF (LZW) decompressor are needed to see this pictu

Page 79: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 79

Page 80: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 80

Page 81: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 81

Page 82: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 82

Page 83: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 83

Page 84: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 84

Page 85: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 85

Page 86: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 86

Page 87: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 87

Page 88: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 88

Page 89: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 89

Page 90: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 90

Page 91: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 91

Page 92: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 92

Page 93: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 93

Explorer: clustering dataWEKA contains “clusterers” for finding groups of similar instances in a datasetSome implemented schemes are:

k-Means, EM, Cobweb, X-means, FarthestFirstClusters can be visualized and compared to “true”clusters (if given)Evaluation based on loglikelihood if clustering scheme produces a probability distribution

Page 94: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 94

Page 95: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 95

Page 96: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 96

Page 97: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 97

Page 98: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 98

Page 99: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 99

Page 100: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 100

Page 101: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 101

Page 102: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 102

Page 103: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 103

Explorer: finding associationsWEKA contains the Apriori algorithm (among others) for learning association rules

Works only with discrete dataCan 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

Page 104: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 104

Page 105: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 105

Page 106: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 106

Page 107: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 107

Explorer: attribute selectionPanel that can be used to investigate which (subsets of) attributes are the most predictive onesAttribute selection methods contain two parts:

A search method: best-first, forward selection, random, exhaustive, genetic algorithm, rankingAn evaluation method: correlation-based, wrapper, information gain, chi-squared, …

Very flexible: WEKA allows (almost) arbitrary combinations of these two

Page 108: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 108

Page 109: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 109

Page 110: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 110

Page 111: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 111

Page 112: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 112

Page 113: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 113

Page 114: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 114

Explorer: data visualizationVisualization very useful in practice: e.g. helps to determine difficulty of the learning problemWEKA 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

Page 115: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 115

Page 116: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 116

Page 117: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 117

Page 118: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 118

Page 119: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 119

Page 120: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 120

Page 121: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 121

Page 122: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 122

Page 123: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 123

Page 124: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 124

Page 125: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 125

Performing experimentsExperimenter makes it easy to compare the performance of different learning schemesFor classification and regression problemsResults can be written into file or databaseEvaluation options: cross-validation, learning curve, hold-outCan also iterate over different parameter settingsSignificance-testing built in!

Page 126: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 126

Page 127: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 127

Page 128: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 128

Page 129: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 129

Page 130: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 130

Page 131: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 131

Page 132: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 132

Page 133: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 133

Page 134: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 134

Page 135: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 135

Page 136: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 136

The Knowledge Flow GUI

Java-Beans-based interface for setting up and running machine learning experimentsData sources, classifiers, etc. are beans and can be connected graphicallyData “flows” through components: e.g.,“data source” -> “filter” -> “classifier” -> “evaluator”Layouts can be saved and loaded again latercf. Clementine ™

Page 137: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 137

Page 138: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 138

Page 139: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 139

Page 140: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 140

Page 141: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 141

Page 142: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 142

Page 143: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 143

Page 144: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 144

Page 145: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 145

Page 146: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 146

Page 147: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 147

Page 148: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 148

Page 149: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 149

Page 150: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 150

Page 151: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 151

Page 152: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 152

Sourceforge.net – Downloads

Page 153: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 153

Sourceforge.net – Web Traffic

WekaWiki launched – 05/2005

WekaDoc Wiki introduced – 12/2005

Page 154: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 154

Projects based on WEKA45 projects currently (30/01/07) listed on the WekaWikiIncorporate/wrap WEKA

GRB Tool Shed - a tool to aid gamma ray burst researchYALE - facility for large scale ML experimentsGATE - NLP workbench with a WEKA interfaceJudge - document clustering and classificationRWeka - an R interface to Weka

Extend/modify WEKABioWeka - extension library for knowledge discovery in biologyWekaMetal - meta learning extension to WEKAWeka-Parallel - parallel processing for WEKAGrid Weka - grid computing using WEKAWeka-CG - computational genetics tool library

Page 155: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 155

WEKA and PENTAHOPentaho – The leader in Open Source Business Intelligence (BI)September 2006 – Pentaho acquires the Weka project (exclusive license and SF.net page)Weka will be used/integrated as data mining component in their BI suiteWeka will be still available as GPL open source softwareMost likely to evolve 2 editions:

Community editionBI oriented edition

Page 156: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 156

Limitations of WEKATraditional algorithms need to have all data in main memory==> big datasets are an issueSolution:

Incremental schemesStream algorithmsMOA “MMassive OOnline AAnalysis”(not only a flightless bird, but also extinct!)

Page 157: WEKA: A Machine Machine Learning with WEKA · 2007-08-14 · 5/14/2007 University of Waikato 3 WEKA: the software Machine learning/data mining software written in Java (distributed

5/14/2007 University of Waikato 157

Conclusion: try it yourself!WEKA is available at

http://www.cs.waikato.ac.nz/ml/wekaAlso has a list of projects based on WEKA(probably incomplete list of) WEKA contributors:Abdelaziz Mahoui, Alexander K. Seewald, Ashraf M. Kibriya, Bernhard Pfahringer, Brent Martin, Peter Flach, Eibe Frank, Gabi Schmidberger, Ian H. Witten, J. Lindgren, Janice Boughton, Jason Wells, Len Trigg, Lucio de Souza Coelho, Malcolm Ware, Mark Hall, Remco Bouckaert, Richard Kirkby, Shane Butler, Shane Legg, Stuart Inglis, Sylvain Roy, Tony Voyle, Xin Xu, Yong Wang, Zhihai Wang