ALTER < 40.5 ALTER < 70.5 GRA < 98.5 FIE < ZZLQ < 4650 ZZLQ < ZZLQ < yes. yes ALTER < 49. yes

Similar documents
Biology Project 1

Projekt 1 Ausarbeitung

Exploratory model analysis

Trellis Displays. Definition. Example. Trellising: Which plot is best? Historical Development. Technical Definition

iplots extreme Next-generation interactive graphics for analysis of large data Simon Urbanek AT&T Labs Statistics Research

What s New in Spotfire DXP 1.1. Spotfire Product Management January 2007

Classification and Regression Trees

BOSS. Quick Start Guide For research use only. Blackrock Microsystems, LLC. Blackrock Offline Spike Sorter. User s Manual. 630 Komas Drive Suite 200

International Journal of Software and Web Sciences (IJSWS)

Interactive Graphics for Statistics

What Dataminers Want

CS229 Lecture notes. Raphael John Lamarre Townshend

RINGS : A Technique for Visualizing Large Hierarchies

MIT 801. Machine Learning I. [Presented by Anna Bosman] 16 February 2018

Linked Data Views. Introduction. Starting with Scatterplots. By Graham Wills

Adobe InDesign CS6 Tutorial

Random Forest A. Fornaser

JavaStat: A Distributed Statistical Computing Environment

Performance improvements through a strong cooperation between the well-known functions and a new clear and thorough layout.

Tips and Guidance for Analyzing Data. Executive Summary

AN OVERVIEW AND EXPLORATION OF JMP A DATA DISCOVERY SYSTEM IN DAIRY SCIENCE

Data Mining. 3.2 Decision Tree Classifier. Fall Instructor: Dr. Masoud Yaghini. Chapter 5: Decision Tree Classifier

GGobi meets R: an extensible environment for interactive dynamic data visualization

Data Mining Part 5. Prediction

Enterprise Client Software for the Windows Platform

Data Mining. Decision Tree. Hamid Beigy. Sharif University of Technology. Fall 1396

Classification and Regression Trees

Data Mining. 3.3 Rule-Based Classification. Fall Instructor: Dr. Masoud Yaghini. Rule-Based Classification

Plot and Look! Trust your Data more than your Models

Chapter 5. Tree-based Methods

The Basics of Decision Trees

Improving Quality of Products in Hard Drive Manufacturing by Decision Tree Technique

Tree-based methods for classification and regression

Introduction to Microsoft Office PowerPoint 2010

Visualisation of Categorical Data

Business Club. Decision Trees

7. Decision or classification trees

BITS F464: MACHINE LEARNING

Patrick Breheny. November 10

Didacticiel - Études de cas. Comparison of the implementation of the CART algorithm under Tanagra and R (rpart package).

Fitting Classification and Regression Trees Using Statgraphics and R. Presented by Dr. Neil W. Polhemus

MySQL Data Mining: Extending MySQL to support data mining primitives (demo)

Data Mining and Machine Learning: Techniques and Algorithms

Decision Trees Dr. G. Bharadwaja Kumar VIT Chennai

Figure 1. Overview of a semantic-based classification-driven image retrieval framework. image comparison; and (3) Adaptive image retrieval captures us

Fuzzy Partitioning with FID3.1

Data Mining Practical Machine Learning Tools and Techniques

Visualizing Higher-Dimensional Data by Neil Dickson

Practical Data Mining COMP-321B. Tutorial 1: Introduction to the WEKA Explorer

MIT Samberg Center Cambridge, MA, USA. May 30 th June 2 nd, by C. Rea, R.S. Granetz MIT Plasma Science and Fusion Center, Cambridge, MA, USA

Table of Contents (As covered from textbook)

Juniata County, Pennsylvania

Flow Cytometry Analysis Software. Developed by scientists, for scientists. User Manual. Version Introduction:

An Experiment in Visual Clustering Using Star Glyph Displays

An Introduction to EDA with GeoDa

Data Mining Practical Machine Learning Tools and Techniques

2.1 Objectives. Math Chapter 2. Chapter 2. Variable. Categorical Variable EXPLORING DATA WITH GRAPHS AND NUMERICAL SUMMARIES

Decision trees. Decision trees are useful to a large degree because of their simplicity and interpretability

Topic 7 Machine learning

Network. Department of Statistics. University of California, Berkeley. January, Abstract

At the end of the chapter, you will learn to: Present data in textual form. Construct different types of table and graphs

An overview for regression tree

ArcView QuickStart Guide. Contents. The ArcView Screen. Elements of an ArcView Project. Creating an ArcView Project. Adding Themes to Views

Decision Tree Learning

Comparing Univariate and Multivariate Decision Trees *

Direct Variations DIRECT AND INVERSE VARIATIONS 19. Name

ICA as a preprocessing technique for classification

A Web Application to Visualize Trends in Diabetes across the United States

Data Mining. Practical Machine Learning Tools and Techniques. Slides for Chapter 3 of Data Mining by I. H. Witten, E. Frank and M. A.

5 The Control Structure Diagram (CSD)

Comparison of FP tree and Apriori Algorithm

Purpose, features and functionality

Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany

AND NUMERICAL SUMMARIES. Chapter 2

Classification Algorithms in Data Mining

Additive Models, Trees, etc. Based in part on Chapter 9 of Hastie, Tibshirani, and Friedman David Madigan

Input part 3: Interaction Techniques

OpenGL View Library. Supervised by: Martin Madaras

Improving Quality of Products in Hard Drive Manufacturing by Decision Tree Technique

Introduction to SAGA GIS

4. Write sets of directions for how to check for direct variation. How to check for direct variation by analyzing the graph :

An introduction to ggplot: An implementation of the grammar of graphics in R

Nonparametric Classification Methods

Chapter 2: The Normal Distribution

CS Machine Learning

Using Sunflower Plots and Classification Trees to Study Typeface Legibility

hvpcp.apr user s guide: set up and tour

CART Bagging Trees Random Forests. Leo Breiman

Introduction to Classification & Regression Trees

8. MINITAB COMMANDS WEEK-BY-WEEK

Machine Learning. A. Supervised Learning A.7. Decision Trees. Lars Schmidt-Thieme

Machine Learning. Decision Trees. Le Song /15-781, Spring Lecture 6, September 6, 2012 Based on slides from Eric Xing, CMU

imindmap Quick Start Guide PC Users

8.11 Multivariate regression trees (MRT)

Chapter 2 - Graphical Summaries of Data

Sorting Fields Changing the Values Line Charts Scatter Graphs Charts Showing Frequency Pie Charts Bar Charts...

TOF-Watch SX Monitor

Plate 'n' Sheet Development Version 4 Professional Edition. Module 1

Data Mining Lecture 8: Decision Trees

Multi-relational Decision Tree Induction

Transcription:

Making Trees Interactive - KLIMT Simon Urbanek su@uni-augsburg.net Antony R. Unwin antony.unwin@math.uni-augsburg.de Department of Computeroriented Statistics and Data Analysis, Augsburg University Interface2001 Abstract Trees are a valuable way of displaying structure in data sets. Adding interactive tools would make them even more valuable. This paper describes our prototype software, KLIMT (Klassification - Interactive Methods for Trees), for interactive graphical analysis of trees. The research is work in progress and there are many different possible options. What features do analysts want? 1 Introduction The use of tree-based models is becoming more popular in statistics for various reasons, in particular the intuitive interpretation and good structure representation they offer. Trees have been used in many application areas, for example botany and medical decision-making. Today many popular software packages allow us to construct classification and regression trees. An example of a classification tree is given in Fig. 1. The tree has been built with the tree library in R with default parameters. The underlying dataset is a medical study about meningitis disease treatment 1. Several medical parameters of patients were recorded and the patients were classified by the success of treatment ( = treatment was successful, = treatment was t successful). The goal is to find a good explanatory model by analyzing the data with a tree. The visualization in Fig. 1 does t show much information about the data itself, such as the number of cases in a de, the distribution of classes or the deviance. Therefore any further analysis of the model is t possible without additional tools. There have been numerous attempts to include additional information in the tree, tably mobiles [10] or various enhanced trees by adding colors, 1 Total number of cases is 138. The dataset consists of four different variables (ALTER, FIE, ZZLQ, GRA) plus an outcome (classification) variable. There are 28 negative cases and 110 positive cases. 1

ALTER < 40.5 ALTER < 70.5 GRA < 98.5 FIE < 37.35 FIE < 39.95 GRA < 92 ALTER < 74 ZZLQ < 4650 ZZLQ < 2962.5 ZZLQ < 2305 ALTER < 49 Figure 1: Classification tree as plotted by R. histograms and descriptive information [2]. All these approaches have their limits, by addingtoomuch information to a de the tree becomes cluttered with different symbols and loses its clarity. Some of these techniques are also feasible only for very small datasets because of screen space constraints. All these static representations of a tree show only one view of the data - dependencies or special cases are hard to detect without plotting multiple views. The graphical display of tree analyses is a big advantage and it can be madeaneven bigger advantage by adding interaction. Unwin [8] describes the basic features which any interactive graphics software should offer: querying, zooming, rescaling, selection with linking and the use of multiple views. They are implemented to a greater or lesser extent in packages such as Data Desk, JMP, MANET [5] and CASSATT [11]. All of the features could be extended considerably: zooming should include panning and an orientation view to aid navigation; rescaling may include sorting as well as transforming; and querying should offer far more than a simple default. In the case of tree diagrams in KLIMT, there are already two levels of querying of des, a terse summary and a more extensive description, but ideally it should be possible to query the model behind the diagram and carry out sensitivity analyses. The next section describes how interactive features have been adapted and implemented in KLIMT.

root ALTER < 40.5 ALTER > 40.5 ALTER < 70.5 ALTER > 70.5 GRA < 98.5 GRA > 98.5 FIE < 37.35 FIE > 37.35 FIE < 39.95 FIE > 39.95 GRA < 92 GRA > 92 ZZLQ < 4650 ZZLQ > 4650 ZZLQ < 2962.5 ZZLQ > 2962.5 ALTER < 74 ALTER > 74 ZZLQ < 2305 ZZLQ > 2305 ALTER < 49 ALTER > 49 Figure 2: Tree displayed by KLIMT. 2 Features With the requirements for an interactive software in mind we tried to include all the features in KLIMT that are helpful for an analysis of a tree model. Let's start with some basics. KLIMT arranges the tree so it fits in the working window. You can see a snaphot of the initial state in Fig. 2. Now working in that window you can re-arrange the tree at any time by simply dragging the des - both entire subtrees or single des can be moved. This is especially helpful if you want to sort des in some logical order or increase the readability of the tree. As a computer screen has the opposite orientation of a sheet of paper it is handy for bigger trees that you can rotate the tree by 90 degrees. KLIMT uses an algorithm to place the des so that the links won't overlap, but you are still free to rearrange the tree as you please. Once the tree has the desired shape you can query the des for basic statistical information. There are two different query types: basic and extended query. Basic query displays the total number of cases in the selected de as well as percentages and numbers of cases for each class. Extended query adds the splitting criterion, the de classification, the deviance and the deviance gain. If a criterion other than deviance was used for growing the tree then that criterion's value is displayed instead. KLIMT has an intuitive command for manual pruning. Simply select a de-

sired de, issue the Prune" command and the entire branch will be pruned. A small plus-sign will remind you that the branch has been pruned. By clicking on the symbol you can expand the branch to its full extent again. You have also the capability ofcopying a pruned tree or a branch into a new window for further analysis. While working with the tree you will certainly be interested in the dataset itself. That is why KLIMT offers you a variety of basic plots like histograms, barcharts and scatterplots as can be seen in Fig. 3. By selecting the desired variables from a list you can create any of the available plots instantly. But the real value of the plots is the ability to use linked highlighting in both plots and the tree itself. Selecting cases in a plot means that the same cases will be highlighted in corresponding des of the tree and in all other plots. For example by creating a barchart of the classification variable and selecting a bar for a specific class in the plot you can see where the cases of that class are distributed in the tree and of course in other plots. You can choose from various selection methods such as addition, intersection or exclusion, to select exactly the cases of interest. For visualization of different aspects of the data in des there are different views available. You can choose between proportional and fixed view. In the proportional mode the size of a displayed de is proportional to the number of cases in that de. This enables the visual comparison of de sizes at a glance. Once highlighting is used you can directly compare the number of selected cases in each de visually. In fixed mode all des have the same size and the highlighting is displayed proportionally, soyou can compare the relative proportions of classes in des. Besides changing the de-views you can tell KLIMT to display all leaves (terminal des) on one level in order to make visual comparison among the leaves easier. Different methods of connecting the des are also available so you can use the classical" view where des are connected directly, or the rods and wires" view which is similar to the tree in Fig. 1. A tree is grown using a prespecified criterion such as deviance or Gini-Index. In KLIMT you can visualize this information as well. For example if the tree was grown using the deviance then you can enable the criterion display and new symbols will appear near each de. Red circles on inner des are proportional to the deviance gain in that de, i.e. D = Dp P Dc i i where Dp = deviance of the de and Dc i = deviances of children. Red rectangles near leaves are proportional to the residual deviance of the leaf. Looking at these symbols the quality of a split can be estimated at a glance. Problematic splits or des with very high remaining deviance can be identified easily. KLIMT is also equipped with an interface to R software 2. This has numerous advantages for users and makes KLIMT very easily extensible and customizable. If you are familiar with R then you can use your usual environment for analyzing the data, preparing the dataset or constructing different models. Once you have a tree you can start KLIMT with a single command from within R. Detailed 2 Whenever R is stated the entire family of software products R, S or Splus is meant. The interface has been tested thoroughly mainly with R, but is intended to work with all other members of the family.

Figure 3: Actual snapshot of KLIMT. description of further advantages of this interface can be found in the Future Plans" section. The newest feature in KLIMT is the ability to generate PostScript or EPS files for easy printing and use in documents or other applications. Any treeor graph can be exported in native PS format. KLIMT does t simply rasterize the screen output, but uses its unique Portable Graphics Subsystem to generate fully scalable and flexible output. Figure 2 was created using this method. PostScript is just one of many plug-in export filters that can be used in KLIMT. This feature ensures that KLIMTcan also be used for presenting results.

3 Implementation Provided you have a dataset and want to build and analyse a tree-based model, what do you have to do in order to use KLIMT for your analysis? We decided t to re-invent the wheel and did t hard-code the algorithm for growing trees in our program. Instead KLIMT relies on a tree created by other statistical software 3, preferably R. This makes KLIMT very flexible, because if the tree library of R is enhanced over time so is KLIMT. Ifwe implemented the growing algorithm directly in the program, we would have to update the software continually. Also many statisticians are familiar with R and use it for their analysis so KLIMT seamlessly extends their capabilities without the need of learning how to grow trees in a different software package - for trees you simply call the KLIMT command instead of the plot command. Ather important goal during the design of KLIMT was compatibility. We wanted our software to be compatible with as many computers and operating systems as possible. That's why we decided to write KLIMT in Java. No special libraries or additional classes are necessary. Moreover the use of JDK 1.1 ensures compatibility with older Macintosh operating systems. KLIMT has been successfully tested on Unix, Macintosh and Windows platforms, even different formats of ASCII files on these platforms are handled correctly. KLIMT is currently work in progress. There are still some features that are waiting to be implemented. The next section will mention just a few of them. 4 Future plans Our main goal is to enhance interactivity with R even more. As of w the interface to R is one-way only. KLIMT can read structures like trees or datasets from R and can be started directly from R, but there is way of passing objects from KLIMT back to R. We are working on a direct communication where R and KLIMT share objects so they can both use each other's functions transparently. Once this interface is beyond the current protoype stage there are countless ways of enhancing KLIMT's features by the user. One can use the graphical highlighting methods of KLIMT to select certain cases and create a corresponding dataset in R for further analysis. Changing properties of the tree in KLIMT, like the splitting criterion or the sequence of splits, by intuitive drag-and-drop operations will tell R to immediately re-grow the tree using the new properties and display it in KLIMT along with the old tree. Thanks to linked highlighting both trees would be linked so one can identify changes in the model with interactive methods easily by selecting cases in one tree and seeing their respective position in the other one. Usage of event handlers allows R functions to be called on KLIMT-events: e.g. running a query on a de in KLIMT would call a function in R which calculates basic statistics on the cases 3 If used as stand-alone program, KLIMT does expect a file consisting of a dataset (any ASCII form) and a tree. The tree must be in the format used by R. Any statistical software that can produce such a file can be used as a source for KLIMT.

in the de. We could go even as far as ggobi did - introducing an API to allow R to control KLIMT, like letting R highlight certain cases or perform more complex animations of the tree and linked plots by loopsinr. Our goals are very similar to what ggobi achieved as described by Temple Lang [6] - the one-way interface corresponds to the functionality ofxgobi and the currently described full interface to that of ggobi. Use of a similar API makes a connectivity between ggobi and KLIMT easily possible. Both projects are based on interactive graphics principles therefore the wish to connect them seamlessly is logical. Besides R-connectivity our other plan is to introduce interactive, semi-automatic pruning. During the growing of a tree there are various parameters that influence the height of the tree. Let's assume the tree was built using the deviance criterion then the growing method expects there to be lower limits for deviance and de size, so des with smaller deviance or less cases than specified won't be split. Interactive altering of these parameters, for example by using a slider, would result in an updated tree with branches pruned according to the specified parameters. By dragging the parameter slider you could watch the tree grow and shrink in response to the changes. Finally there is a problem with displaying small subsets. If there are 200 cases of one class in a de and only 4 cases of ather class then even if you highlight all cases of the second class, you won't be able to see the 4 cases in the de due to the limited resolution of a computer display. The idea of redmarking was introduced in MANET for exactly these situations. Area displays may mislead in three ways because of insufficient screen resolution: a bar in a histogram or barchart may tbedrawn at all, because the number of cases is too small; cases may be highlighted in a bar although a few are selected; all cases may highlighted although a few are t selected. In all cases a thin red line is drawn under the corresponding bar. We propose to introduce a similar scheme in KLIMT, both for its historgrams and barcharts and also for the des of the tree. The issue of graphical stability is discussed in general in Hofmann [4]. KLIMT is currently a prototype software. We plan to implement the missing features and some of the features mentioned in this section before first public release which is roughly scheduled for Fall 2001. Any feedback, ideas or suggestions are always welcome. 5 Conclusion Static tree plots don't contain eugh information for thorough model analysis and attempts to add such information don't in general yield the desired effect. To try to solve this dilemma we developed KLIMT. It uses interactive graphics to allow exploratory analysis for trees. Main features include interactive queries, reordering of des, statistical plots, linked highlighting for all components, pruning and growing criterion visualization. KLIMT is a stand-alone Java program that operates on any trees generated by other statistical applications, preferably R because of an integrated interface which allows KLIMT to

be used directly from within R. KLIMT is work in progress with many more features to be implemented, check our homepage for further developments - http://www.klimt-project.com/ References [1] Breiman, L., Friedman, J., Olshen, R., Stone, C.: Classification and regression trees, Wadsworth (1984) [2] Carr, D. B., Sun R.: Some graphics for Recursive Partitioning, Interface (2001) [3] Dirschedl, P.: Klassifikationsbäume - Grundlagen und Neuerungen. In Fleischer, W., Nagel, M., and Ostermann, R. (Eds.), Interaktive Datenanalyse with ISP (pp. 15-30). Essen: Westarp Wissenschaften (1992). [4] Hofmann, H.: Graphical Stability of Data Analysing Software, In Klar, R., Opitz, O. (Ed.), Classification and Kwledge Organisation, (pp. 36-43). Freiburg: Springer. (1997) [5] Hofmann, H.: MANET www1.math.uni-augsburg.de/manet/ In Augsburg: Rosuda (2000) [6] Temple Lang D., Swayne D. F.: ggobi meets R: an extensible environment for interactive dynamic data visualization, Proceedings of the 2nd International Workshop on Distributed Statistical Computing, TU Vienna (2001) [7] Unwin, A. R., Hawkins, G., Hofmann, H., and Siegl, B.: Interactive Graphics for Data Sets with Missing Values - MANET Journal of Computational and Graphical Statistics, 5(2), 113-122 (1996) [8] Unwin, A. R.: Requirements for interactive graphics software for exploratory data analysis. Computational Statistics, 14, 7-22 (1999) [9] Venables W.N., Ripley B.D.: Modern applied statistics with S-plus, Springer (1994) [10] Wilkinson, L.: The grammar of graphics, Springer (1999) [11] Winkler, S.: CASSATT www1.math.uni-augsburg.de/cassatt/ In Augsburg: Rosuda (2000) List of Figures 1 Classification tree as plotted by R.................. 2 2 Tree displayed by KLIMT....................... 3 3 Actual snapshot of KLIMT...................... 5