1 of 51

Data� Preparationfor �Knowledge Discovery

Lecture #7

Jamolbek Mattiev�

Databases and Data Mining

2 of 51

Outline: Data Preparation

  • Data Understanding
  • Data Cleaning
    • Metadata
    • Missing Values
    • Unified Date Format
    • Nominal to Numeric
    • Discretization
  • Field Selection and “False Predictors”
  • Unbalanced Target Distribution

Intro to ML and DM

slide 2/51

6th lecture

Data preparation

3 of 51

Knowledge Discovery Process�flow, according to CRISP-DM

Intro to ML and DM

slide 3/51

6th lecture

see

www.crisp-dm.org

for more

information

Monitoring

Data preparation

4 of 51

Knowledge Discovery Process, �in practice

Intro to ML and DM

slide 4/51

6th lecture

Data Preparation estimated to take 70-80% of the time and effort

Monitoring

Data

Preparation

Data preparation

5 of 51

Data Understanding: Relevance

  • What data is available for the task?
  • Is this data relevant?
  • Is additional relevant data available?
  • How much historical data is available?
  • Who is the data expert ?

Intro to ML and DM

slide 5/51

6th lecture

Data preparation

6 of 51

Data Understanding: Quantity

  • Number of instances (records)
    • Rule of thumb: 5,000 or more desired
    • if less, results are less reliable; use special methods (boosting, …)
  • Number of attributes (fields)
    • Rule of thumb: for each field, 10 or more instances
    • If more fields, use feature reduction and selection
  • Number of targets
    • Rule of thumb: >100 for each class
    • if very unbalanced, use stratified sampling

Intro to ML and DM

slide 6/51

6th lecture

Data preparation

7 of 51

Data Cleaning Steps

  • Data acquisition and metadata
  • Missing values
  • Unified date format
  • Converting nominal to numeric
  • Discretization of numeric data
  • Data validation and statistics

Intro to ML and DM

slide 7/51

6th lecture

Data preparation

8 of 51

Data Cleaning: Acquisition

  • Data can be in DBMS
    • ODBC, JDBC protocols
  • Data in a flat file
    • Fixed-column format
    • Delimited format: tab, comma “,” , other
    • E.g. C4.5 and Weka “arff” use comma-delimited data
    • Attention: Convert field delimiters inside strings
  • Verify the number of fields before and after

Intro to ML and DM

slide 8/51

6th lecture

Data preparation

9 of 51

Data Cleaning: Example

  • Original data (fixed column format)

  • Clean data

Intro to ML and DM

slide 9/51

6th lecture

000000000130.06.19971979-10-3080145722 #000310 111000301.01.000100000000004 0000000000000.000000000000000.000000000000000.000000000000000.000000000000000.000000000000000.000000000000000. 000000000000000.000000000000000.0000000...… 000000000000000.000000000000000.000000000000000.000000000000000.000000000000000.000000000000000.000000000000000.000000000000000.000000000000000.000000000000000.000000000000000.000000000000000.000000000000000.000000000000000.000000000000000.000000000000000.000000000000000.000000000000000.000000000000000.000000000000000.000000000000000.000000000000000.00 0000000000300.00 0000000000300.00

0000000001,199706,1979.833,8014,5722 , ,#000310 …. ,111,03,000101,0,04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0300,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0300,0300.00

Data preparation

10 of 51

Data Cleaning: Metadata

  • Field types:
    • binary, nominal (categorical), ordinal, numeric, …
    • For nominal fields: tables translating codes to full descriptions
  • Field role:
    • input : inputs for modeling
    • target : output
    • id/auxiliary : keep, but not use for modeling
    • ignore : don’t use for modeling
    • weight : instance weight
  • Field descriptions

Intro to ML and DM

slide 10/51

6th lecture

Data preparation

11 of 51

Data Cleaning: Reformatting

Convert data to a standard format �(e.g. arff or csv)

  • Missing values
  • Unified date format
  • Binning of numeric data
  • Fix errors and outliers
  • Convert nominal fields whose values have order to numeric.
    • Q: Why?

Intro to ML and DM

slide 11/51

6th lecture

Data preparation

12 of 51

Data Cleaning: Reformatting, 2

Convert nominal fields whose values have order to numeric to be able to use “>” and “<“ comparisons on these fields.

Intro to ML and DM

slide 12/51

6th lecture

Data preparation

13 of 51

Data Cleaning: Missing Values

  • Missing data can appear in several forms:
    • <empty field> “0” “.” “999” “NA” …
  • Standardize missing value code(s)
  • Q: How can we deal with missing values?

Intro to ML and DM

slide 13/51

6th lecture

Data preparation

14 of 51

Data Cleaning: Missing Values, 2

  • Dealing with missing values:
    • ignore records with missing values
    • treat missing value as a separate value
    • Imputation: �fill in with mean or median values
    • let the DM algorithm deal with it

Intro to ML and DM

slide 14/51

6th lecture

Data preparation

15 of 51

Data Cleaning: Unified Date Format

  • We want to transform all dates to the same format internally
  • Some systems accept dates in many formats
    • e.g. “Sep 24, 2003” , 9/24/03, 24.09.03, etc
    • dates are transformed internally to a standard value
  • Frequently, just the year (YYYY) is sufficient
  • For more details, we may need the month, the day, the hour, etc
  • Representing date as YYYYMM or YYYYMMDD can be OK, but has problems
  • Q: What are the problems with YYYYMMDD dates?

Intro to ML and DM

slide 15/51

6th lecture

Data preparation

16 of 51

Data Cleaning: �Unified Date Format, 2

  • Problems with YYYYMMDD dates:
    • YYYYMMDD does not preserve intervals:
    • 20040201 – 20040131 � != � 20040131 – 20040130
    • This can introduce bias into models

Intro to ML and DM

slide 16/51

6th lecture

Data preparation

17 of 51

Unified Date Format Options

  • To preserve intervals, we can use
    • Unix system date: �Number of seconds since 1970
    • Number of days since Jan 1, 1960 (SAS)
  • Problem:
    • values are non-obvious
    • don’t help intuition and knowledge discovery
    • harder to verify, easier to make an error

Intro to ML and DM

slide 17/51

6th lecture

Data preparation

18 of 51

KSP Date Format

days_starting_Jan_1 - 0.5

KSP Date = YYYY + --------------------------------------

365 + 1_if_leap_year

  • Preserves intervals (almost)
  • The year and quarter are obvious
    • Sep 24, 2003 is 2003 + (267-0.5)/365= 2003.7301 (round to 4 digits)
  • Consistent with date starting at noon
  • Can be extended to include time

Intro to ML and DM

slide 18/51

6th lecture

Data preparation

19 of 51

Y2K issues: 2 digit Year

  • 2-digit year in old data – legacy of Y2K
  • E.g. Q: Year 02 – is it 1902 or 2002 ?
    • A: Depends on context (e.g. child birthday or year of house construction)
    • Typical approach: CUTOFF year, e.g. 30
    • if YY < CUTOFF , then 20YY, else 19YY

Intro to ML and DM

slide 19/51

6th lecture

Data preparation

20 of 51

Conversion: Nominal to Numeric

  • Some tools can deal with nominal values internally
  • Other methods (neural nets, regression, nearest neighbor) require only numeric inputs
  • To use nominal fields in such methods need to convert them to a numeric value
    • Q: Why not ignore nominal fields altogether?
    • A: They may contain valuable information
  • Different strategies for binary, ordered, �multi-valued nominal fields

Intro to ML and DM

slide 20/51

6th lecture

Data preparation

21 of 51

Conversion

  • How would you convert binary fields to numeric?
    • E.g. Gender=M, F
  • How would you convert ordered attributes to numeric?
    • E.g. Grades

Intro to ML and DM

slide 21/51

6th lecture

Data preparation

22 of 51

Conversion: Binary to Numeric

  • Binary fields
    • E.g. Gender=M, F
  • Convert to Field_0_1 with 0, 1 values
    • e.g. Gender = M 🡪 Gender_0_1 = 0� Gender = F 🡪 Gender_0_1 = 1

Intro to ML and DM

slide 22/51

6th lecture

Data preparation

23 of 51

Conversion: Ordered to Numeric

  • Ordered attributes (e.g. Grade) can be converted to numbers preserving natural order, e.g.
    • A 🡪 4.0
    • A- 🡪 3.7
    • B+ 🡪 3.3
    • B 🡪 3.0
  • Q: Why is it important to preserve � natural order?

Intro to ML and DM

slide 23/51

6th lecture

Data preparation

24 of 51

Conversion: Ordered to Numeric, 2

Natural order allows meaningful comparisons, e.g. Grade > 3.5

Intro to ML and DM

slide 24/51

6th lecture

Data preparation

25 of 51

Conversion: Nominal, Few Values

  • Multi-valued, unordered attributes with small (rule of thumb < 20) no. of values
    • e.g. Color=Red, Orange, Yellow, …, Violet
    • for each value v create a binary “flag” variable C_v, which is 1 if Color=v, 0 otherwise

Intro to ML and DM

slide 25/51

6th lecture

ID

Color

371

red

433

yellow

ID

C_red

C_orange

C_yellow

371

1

0

0

433

0

0

1

Data preparation

26 of 51

Conversion: Nominal, Many Values

  • Examples:
    • US State Code (50 values)
    • Profession Code (7,000 values, but only few frequent)
  • Q: How to deal with such fields?
  • A: Ignore ID-like fields whose values are unique for each record
  • For other fields, group values “naturally”:
    • e.g. 50 US States 🡪 3 or 5 regions
    • Profession – select most frequent ones, group the rest
  • Create binary flag-fields for selected values

Intro to ML and DM

slide 26/51

6th lecture

Data preparation

27 of 51

Data Cleaning: Discretization

  • Some methods require discrete values, �e.g. most versions of Naïve Bayes, …
  • Discretization is very useful for generating a summary of data
  • Also called “binning”

Intro to ML and DM

slide 27/51

6th lecture

Data preparation

28 of 51

Discretization: Equal-width

Equal Width, bins Low <= value < High

Intro to ML and DM

slide 28/51

6th lecture

[64,67) [67,70) [70,73) [73,76) [76,79) [79,82) [82,85]

Temperature values:

64 65 68 69 70 71 72 72 75 75 80 81 83 85

2

2

Count

4

2

2

2

0

Data preparation

29 of 51

Discretization: �Equal-width may produce clumping

Intro to ML and DM

slide 29/51

6th lecture

[0 – 200,000) … ….

1

Count

Salary in a corporation

[1,800,000 –

2,000,000]

Data preparation

30 of 51

Equal-width problems

Intro to ML and DM

slide 30/51

6th lecture

[0 – 200,000) … ….

1

Count

Salary in a corporation

[1,800,000 –

2,000,000]

What can we do to get a more even distribution?

Data preparation

31 of 51

Discretization: Equal-height

Equal Height = 4, except for the last bin

Intro to ML and DM

slide 31/51

6th lecture

[64 .. .. .. .. 69] [70 .. 72] [73 .. .. .. .. .. .. .. .. 81] [83 .. 85]

Temperature values:

64 65 68 69 70 71 72 72 75 75 80 81 83 85

4

Count

4

4

2

Data preparation

32 of 51

Discretization: Equal-height advantages

  • Generally preferred because avoids clumping
  • In practice, “almost-equal” height binning is used which avoids clumping and gives more intuitive breakpoints
  • Additional considerations:
    • don’t split frequent values across bins
    • create separate bins for special values (e.g. 0)
    • readable breakpoints (e.g. round breakpoints)

Intro to ML and DM

slide 32/51

6th lecture

Data preparation

33 of 51

Discretization

How else can we discretize?

What is another method from the literature?

Intro to ML and DM

slide 33/51

6th lecture

Data preparation

34 of 51

Discretization: Class Dependent

min of 3 values per bucket

64 65 68 69 70 71 72 72 75 75 80 81 83 85

Yes No Yes Yes Yes No No Yes Yes Yes No Yes Yes No

Intro to ML and DM

slide 34/51

6th lecture

64

85

Data preparation

35 of 51

Discretization considerations

  • Equal Width is simplest, good for many classes
    • can fail miserably for unequal distributions
  • Equal Height gives better results
  • Class-dependent can be better for classification
    • Note: decision trees build discretization on the fly
    • Naïve Bayes requires initial discretization
  • Many other methods exist …

Intro to ML and DM

slide 35/51

6th lecture

Data preparation

36 of 51

Outliers and Errors

  • Outliers are values thought to be out of range.
  • Approaches:
    • do nothing
    • enforce upper and lower bounds
    • let binning handle the problem

Intro to ML and DM

slide 36/51

6th lecture

Data preparation

37 of 51

Examine Data Statistics

Intro to ML and DM

slide 37/51

6th lecture

Data preparation

38 of 51

Data Cleaning: Field Selection

First: Remove fields with no or little variability

  • Examine the number of distinct field values
    • Rule of thumb: remove a field where almost all values are the same (e.g. null), except possibly in minp % or less of all records.
    • minp could be 0.5% or more generally less than 5% of the number of targets of the smallest class

Intro to ML and DM

slide 38/51

6th lecture

Data preparation

39 of 51

False Predictors or Information “Leakers”

  • False predictors are fields correlated to target behavior, which describe events that happen at the same time or after the target behavior
  • If databases don’t have the event dates, a false predictor will appear as a good predictor
  • Example: Service cancellation date is a leaker when predicting attriters.
  • Q: Give another example of a false predictor

Intro to ML and DM

slide 39/51

6th lecture

Data preparation

40 of 51

False Predictor Example

Q: What is a false predictor for a student’s likelihood of passing a course?

Intro to ML and DM

slide 40/51

6th lecture

A: The student’s final grade.

Data preparation

41 of 51

False Predictors: Find “suspects”

  • Build an initial decision-tree model
  • Consider very strongly predictive fields as “suspects”
    • strongly predictive – if a field by itself provides close to 100% accuracy, at the top or a branch below
  • Verify “suspects” using domain knowledge or with a domain expert
  • Remove false predictors and build an initial model

Intro to ML and DM

slide 41/51

6th lecture

Data preparation

42 of 51

(Almost) Automated False Predictor Detection

  • For each field
    • Build 1-field decision trees for each field
    • (or compute correlation with the target field)
  • Rank all suspects by 1-field prediction accuracy (or correlation)
  • Remove suspects whose accuracy is close to 100% (Note: the threshold is domain dependent)
  • Verify top “suspects” with domain expert

Intro to ML and DM

slide 42/51

6th lecture

Data preparation

43 of 51

Selecting Most Relevant Fields

  • If there are too many fields, select a subset that is most relevant.
  • Can select top N fields using 1-field predictive accuracy as computed earlier.
  • What is good N?
    • Rule of thumb -- keep top 50 fields

Intro to ML and DM

slide 43/51

6th lecture

Data preparation

44 of 51

Field Reduction Improves Classification

  • most learning algorithms look for non-linear combinations of fields -- can easily find many spurious combinations given small # of records and large # of fields
  • Classification accuracy improves if we first reduce number of fields
  • Multi-class heuristic: select equal # of fields from each class

Intro to ML and DM

slide 44/51

6th lecture

Data preparation

45 of 51

Derived Variables

  • Better to have a fair modeling method and good variables, than to have the best modeling method and poor variables.
  • Insurance Example: People are eligible for pension withdrawal at age 59 ½. �Create it as a separate Boolean variable!
  • *Advanced methods exists for automatically examining variable combinations, but it is very computationally expensive!

Intro to ML and DM

slide 45/51

6th lecture

Data preparation

46 of 51

Unbalanced Target Distribution

  • Sometimes, classes have very unequal frequency
    • Attrition prediction: 97% stay, 3% attrite (in a month)
    • medical diagnosis: 90% healthy, 10% disease
    • eCommerce: 99% don’t buy, 1% buy
    • Security: >99.99% of Americans are not terrorists
  • Similar situation with multiple classes
  • Majority class classifier can be 97% correct, �but useless

Intro to ML and DM

slide 46/51

6th lecture

Data preparation

47 of 51

Handling Unbalanced Data

  • With two classes: let positive targets be a minority
  • Separate raw held-aside set (e.g. 30% of data) and raw train
    • put aside raw held-aside and don’t use it till the final model
  • Select remaining positive targets (e.g. 70% of all targets) from raw train
  • Join with equal number of negative targets from raw train, and randomly sort it.
  • Separate randomized balanced set into balanced train and balanced test

Intro to ML and DM

slide 47/51

6th lecture

Data preparation

48 of 51

Building Balanced Train Sets

Intro to ML and DM

slide 48/51

6th lecture

Y

..

..

N

N

N

..

..

..

..

Y

..

N

..

Raw Held

Targets

Non-Targets

Balanced set

Balanced Train

Balanced Test

Data preparation

49 of 51

Learning with Unbalanced Data

  • Build models on balanced train/test sets
  • Estimate the final results (lift curve) on the raw held set

  • Can generalize “balancing” to multiple classes
    • stratified sampling
    • Ensure that each class is represented with approximately equal proportions in train and test

Intro to ML and DM

slide 49/51

6th lecture

Data preparation

50 of 51

Data Preparation Key Ideas

  • Use meta-data
  • Inspect data for anomalies and errors
  • Eliminate “false predictors”
  • Optionally:
    • reduce the number of fields
    • “balance” the data
  • Plan for verification – verify the results �after each step

Intro to ML and DM

slide 50/51

6th lecture

Data preparation

51 of 51

Summary

Good data preparation is key to producing valid and reliable models

Intro to ML and DM

slide 51/51

6th lecture

Data preparation