Hands-on Machine Learning

From Noisebridge
Jump to navigation Jump to search

Hands-on Machine Learning[edit]

The goal of this presentation is to give a very applied, hands-on introduction to a range of Machine Learning techniques. There will be a quick discussion of what kinds of data you can have, what kinds of tasks machine learning techniques allow you to, and, finally, a survey of common techniques. At the end, if you know what kinds of data you have, and what your goal is, this will let you get down to just a list of techniques that could be appropriate for your task.

Ideally, each technique will include a hands-on section for just that technique. This should cover any tools that implement the algorithm, how to get your data into those tools, and how to extract the model from those tools and incorporate it into your own code.


The General Machine Learning Process[edit]

In general, applying machine learning techniques goes something like this:

  • Collect your data
  • Import that data into some training tool
  • Train a "model" on that data
  • Tweak your data, tweak model parameters, etc, and repeat training
  • Eventually you get an output model
  • Take that model and integrate it with your codebase


Input Data[edit]

There are basically just two sorts of input data: nominal and numeric.

Nominal values are things like "Red", "Orange", "Poltergeist", etc. They're a closed set of discrete values, typically strings instead of numbers. However, you can use numbers as a nominal value, so long as they're from a closed set. These are usually from human judgment: there's not necessarily a good line between red and orange, but a human makes the call and records the value. Alternately, a human decides where the arbitrary line is, and writes a bit of code that makes the decision based on that line.

Numeric values are exactly what they sound like: numbers! They can take many, many values, and are generally based on direct measurements. For example, the weight of a fruit a robot is holding, or the number of occurances of a given word in a document.


Machine Learning Tasks[edit]

Generally speaking, you can ask a Machine Learning algorithm to do one of three things:

Numeric prediction[edit]

Description: "Given the input you've seen in the past, and this set of current values, what values should I expect given this input?"

A trivial example: if you have a dataset that's pairs of (Yesterday's high temperature, today's high temperature), you could train a numeric predictor that would give you an estimate of today's high temperature given yesterday's. Or, given the highs for the last week, it could predict the highs for the next 3 days.

Labelling/Classification[edit]

Description: "Given the input you've seen in the past, and this set of current values, what would you label this?"

The best-known example of this is the spam filter. After labelling a bunch of email as spam or not-spam, you train a classifier. Then, you can use that classifier on new email to decide whether the machine believes it to be spam or not. Of course, this generalizes, and you can use exactly the same technique to separate personal, work, and hobby email.

Clustering[edit]

Description: "Given the input you've seen in the past, and this set of current values, what previous inputs is it most like?"

This task is very similar to classification, with one big difference: you don't have labels. For example, if you have a bunch of measurements of flowers, you can use clustering to discover if there are underlying patterns you've missed out on, perhaps representing growing conditions or a difference in (sub)species.


Specific Techniques[edit]

Decision Trees[edit]

Task: Labelling

Input data types: nominal (or numeric, with conditionals)

Description: A decision tree is something like a flow chart. It's a tree of decision boxes; you start at the root and, based on your data, follow decisions down to leaf nodes. At the leaf nodes, you'll typically have a label.

Training[edit]

Get your data into Weka Explorer by hook or crook, then choose Classifier -> Trees -> J48. Select the nominal value you want to use as your label in the dropdown. Make sure you've got cross-validation selected, ideally with 10-fold or so.

Hit "Run" and stand back. You'll get output like:

(using the iris.arff sample data)

=== Run information ===

Scheme:       weka.classifiers.trees.J48 -C 0.25 -M 2
Relation:     iris
Instances:    150
Attributes:   5
              sepallength
              sepalwidth
              petallength
              petalwidth
              class
Test mode:    10-fold cross-validation

=== Classifier model (full training set) ===

J48 pruned tree
------------------

petalwidth <= 0.6: Iris-setosa (50.0)
petalwidth > 0.6
|   petalwidth <= 1.7
|   |   petallength <= 4.9: Iris-versicolor (48.0/1.0)
|   |   petallength > 4.9
|   |   |   petalwidth <= 1.5: Iris-virginica (3.0)
|   |   |   petalwidth > 1.5: Iris-versicolor (3.0/1.0)
|   petalwidth > 1.7: Iris-virginica (46.0/1.0)

Number of Leaves  : 	5

Size of the tree : 	9


Time taken to build model: 0.03 seconds

=== Stratified cross-validation ===
=== Summary ===

Correctly Classified Instances         144               96      %
Incorrectly Classified Instances         6                4      %
Kappa statistic                          0.94  
Mean absolute error                      0.035 
Root mean squared error                  0.1586
Relative absolute error                  7.8705 %
Root relative squared error             33.6353 %
Total Number of Instances              150     

=== Detailed Accuracy By Class ===

TP Rate   FP Rate   Precision   Recall  F-Measure   Class
  0.98      0          1         0.98      0.99     Iris-setosa
  0.94      0.03       0.94      0.94      0.94     Iris-versicolor
  0.96      0.03       0.941     0.96      0.95     Iris-virginica

=== Confusion Matrix ===

  a  b  c   <-- classified as
 49  1  0 |  a = Iris-setosa
  0 47  3 |  b = Iris-versicolor
  0  2 48 |  c = Iris-virginica


Evaluation[edit]

If you train as above, you're using 10-fold cross-validation, which is a reasonably good evaluation of your training set. Otherwise, the normal evaluation of labelling algorithms can be used.

Application[edit]

To apply the values you've got out of the above, you want to turn this section


petalwidth <= 0.6: Iris-setosa (50.0)
petalwidth > 0.6
|   petalwidth <= 1.7
|   |   petallength <= 4.9: Iris-versicolor (48.0/1.0)
|   |   petallength > 4.9
|   |   |   petalwidth <= 1.5: Iris-virginica (3.0)
|   |   |   petalwidth > 1.5: Iris-versicolor (3.0/1.0)
|   petalwidth > 1.7: Iris-virginica (46.0/1.0)

Into code in whatever language you use. This is, unfortunately, a manual process. However, it's very concise, and generally compact in terms of code. You can therefore use these decision trees on any computer, no matter how big or small.

Naive Bayes Classifier[edit]

Task: Labelling

Input data types: nominal

Description: Naive Bayes is a statistical technique for predicting the probability of all labels given a set of inputs. For instance, let's assume we've trained a naive Bayes system on (color, kind of fruit) pairs. Then, we can ask it for the probability distribution of "kind of fruit" given the color "yellow." This will tell us that it's almost certainly a banana or lemon, but it could be an apple, and might occasionally be an orange, etc. That is, it returns a list of labels with an associated probability.

Training[edit]

Put your data into ARFF, and load it into Weka.

=== Run information ===

Scheme:       weka.classifiers.bayes.NaiveBayes 
Relation:     soybean
Instances:    683
Attributes:   36
              date
              plant-stand
              precip
              temp
              hail
              crop-hist
              area-damaged
              severity
              seed-tmt
              germination
              plant-growth
              leaves
              leafspots-halo
              leafspots-marg
              leafspot-size
              leaf-shread
              leaf-malf
              leaf-mild
              stem
              lodging
              stem-cankers
              canker-lesion
              fruiting-bodies
              external-decay
              mycelium
              int-discolor
              sclerotia
              fruit-pods
              fruit-spots
              seed
              mold-growth
              seed-discolor
              seed-size
              shriveling
              roots
              class
Test mode:    10-fold cross-validation

=== Classifier model (full training set) ===

Naive Bayes Classifier

Class diaporthe-stem-canker: Prior probability = 0.03

date:  Discrete Estimator. Counts =  1 1 1 6 6 6 6  (Total = 27)
plant-stand:  Discrete Estimator. Counts =  21 1  (Total = 22)
precip:  Discrete Estimator. Counts =  1 1 21  (Total = 23)
temp:  Discrete Estimator. Counts =  1 21 1  (Total = 23)
hail:  Discrete Estimator. Counts =  20 2  (Total = 22)
crop-hist:  Discrete Estimator. Counts =  1 7 8 8  (Total = 24)
area-damaged:  Discrete Estimator. Counts =  18 4 1 1  (Total = 24)
severity:  Discrete Estimator. Counts =  1 15 7  (Total = 23)
seed-tmt:  Discrete Estimator. Counts =  12 10 1  (Total = 23)
germination:  Discrete Estimator. Counts =  4 10 9  (Total = 23)
plant-growth:  Discrete Estimator. Counts =  1 21  (Total = 22)
leaves:  Discrete Estimator. Counts =  1 21  (Total = 22)
leafspots-halo:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
leafspots-marg:  Discrete Estimator. Counts =  1 1 21  (Total = 23)
leafspot-size:  Discrete Estimator. Counts =  1 1 21  (Total = 23)
leaf-shread:  Discrete Estimator. Counts =  21 1  (Total = 22)
leaf-malf:  Discrete Estimator. Counts =  21 1  (Total = 22)
leaf-mild:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
stem:  Discrete Estimator. Counts =  1 21  (Total = 22)
lodging:  Discrete Estimator. Counts =  15 7  (Total = 22)
stem-cankers:  Discrete Estimator. Counts =  1 1 1 21  (Total = 24)
canker-lesion:  Discrete Estimator. Counts =  11 11 1 1  (Total = 24)
fruiting-bodies:  Discrete Estimator. Counts =  1 21  (Total = 22)
external-decay:  Discrete Estimator. Counts =  1 21 1  (Total = 23)
mycelium:  Discrete Estimator. Counts =  21 1  (Total = 22)
int-discolor:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
sclerotia:  Discrete Estimator. Counts =  21 1  (Total = 22)
fruit-pods:  Discrete Estimator. Counts =  21 1 1 1  (Total = 24)
fruit-spots:  Discrete Estimator. Counts =  1 1 1 1 21  (Total = 25)
seed:  Discrete Estimator. Counts =  21 1  (Total = 22)
mold-growth:  Discrete Estimator. Counts =  21 1  (Total = 22)
seed-discolor:  Discrete Estimator. Counts =  21 1  (Total = 22)
seed-size:  Discrete Estimator. Counts =  21 1  (Total = 22)
shriveling:  Discrete Estimator. Counts =  21 1  (Total = 22)
roots:  Discrete Estimator. Counts =  21 1 1  (Total = 23)


Class charcoal-rot: Prior probability = 0.03

date:  Discrete Estimator. Counts =  1 1 1 4 6 7 7  (Total = 27)
plant-stand:  Discrete Estimator. Counts =  21 1  (Total = 22)
precip:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
temp:  Discrete Estimator. Counts =  1 6 16  (Total = 23)
hail:  Discrete Estimator. Counts =  10 12  (Total = 22)
crop-hist:  Discrete Estimator. Counts =  4 6 7 7  (Total = 24)
area-damaged:  Discrete Estimator. Counts =  1 1 11 11  (Total = 24)
severity:  Discrete Estimator. Counts =  1 21 1  (Total = 23)
seed-tmt:  Discrete Estimator. Counts =  11 11 1  (Total = 23)
germination:  Discrete Estimator. Counts =  7 8 8  (Total = 23)
plant-growth:  Discrete Estimator. Counts =  1 21  (Total = 22)
leaves:  Discrete Estimator. Counts =  1 21  (Total = 22)
leafspots-halo:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
leafspots-marg:  Discrete Estimator. Counts =  1 1 21  (Total = 23)
leafspot-size:  Discrete Estimator. Counts =  1 1 21  (Total = 23)
leaf-shread:  Discrete Estimator. Counts =  21 1  (Total = 22)
leaf-malf:  Discrete Estimator. Counts =  21 1  (Total = 22)
leaf-mild:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
stem:  Discrete Estimator. Counts =  1 21  (Total = 22)
lodging:  Discrete Estimator. Counts =  18 4  (Total = 22)
stem-cankers:  Discrete Estimator. Counts =  21 1 1 1  (Total = 24)
canker-lesion:  Discrete Estimator. Counts =  1 1 1 21  (Total = 24)
fruiting-bodies:  Discrete Estimator. Counts =  21 1  (Total = 22)
external-decay:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
mycelium:  Discrete Estimator. Counts =  21 1  (Total = 22)
int-discolor:  Discrete Estimator. Counts =  1 1 21  (Total = 23)
sclerotia:  Discrete Estimator. Counts =  1 21  (Total = 22)
fruit-pods:  Discrete Estimator. Counts =  21 1 1 1  (Total = 24)
fruit-spots:  Discrete Estimator. Counts =  1 1 1 1 21  (Total = 25)
seed:  Discrete Estimator. Counts =  21 1  (Total = 22)
mold-growth:  Discrete Estimator. Counts =  21 1  (Total = 22)
seed-discolor:  Discrete Estimator. Counts =  21 1  (Total = 22)
seed-size:  Discrete Estimator. Counts =  21 1  (Total = 22)
shriveling:  Discrete Estimator. Counts =  21 1  (Total = 22)
roots:  Discrete Estimator. Counts =  21 1 1  (Total = 23)


Class rhizoctonia-root-rot: Prior probability = 0.03

date:  Discrete Estimator. Counts =  7 7 7 2 2 1 1  (Total = 27)
plant-stand:  Discrete Estimator. Counts =  3 19  (Total = 22)
precip:  Discrete Estimator. Counts =  1 1 21  (Total = 23)
temp:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
hail:  Discrete Estimator. Counts =  19 3  (Total = 22)
crop-hist:  Discrete Estimator. Counts =  6 6 6 6  (Total = 24)
area-damaged:  Discrete Estimator. Counts =  1 21 1 1  (Total = 24)
severity:  Discrete Estimator. Counts =  1 10 12  (Total = 23)
seed-tmt:  Discrete Estimator. Counts =  17 5 1  (Total = 23)
germination:  Discrete Estimator. Counts =  1 11 11  (Total = 23)
plant-growth:  Discrete Estimator. Counts =  1 21  (Total = 22)
leaves:  Discrete Estimator. Counts =  20 2  (Total = 22)
leafspots-halo:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
leafspots-marg:  Discrete Estimator. Counts =  1 1 21  (Total = 23)
leafspot-size:  Discrete Estimator. Counts =  1 1 21  (Total = 23)
leaf-shread:  Discrete Estimator. Counts =  21 1  (Total = 22)
leaf-malf:  Discrete Estimator. Counts =  21 1  (Total = 22)
leaf-mild:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
stem:  Discrete Estimator. Counts =  1 21  (Total = 22)
lodging:  Discrete Estimator. Counts =  19 3  (Total = 22)
stem-cankers:  Discrete Estimator. Counts =  1 21 1 1  (Total = 24)
canker-lesion:  Discrete Estimator. Counts =  1 21 1 1  (Total = 24)
fruiting-bodies:  Discrete Estimator. Counts =  21 1  (Total = 22)
external-decay:  Discrete Estimator. Counts =  1 21 1  (Total = 23)
mycelium:  Discrete Estimator. Counts =  15 7  (Total = 22)
int-discolor:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
sclerotia:  Discrete Estimator. Counts =  21 1  (Total = 22)
fruit-pods:  Discrete Estimator. Counts =  1 1 1 21  (Total = 24)
fruit-spots:  Discrete Estimator. Counts =  1 1 1 1 21  (Total = 25)
seed:  Discrete Estimator. Counts =  21 1  (Total = 22)
mold-growth:  Discrete Estimator. Counts =  21 1  (Total = 22)
seed-discolor:  Discrete Estimator. Counts =  21 1  (Total = 22)
seed-size:  Discrete Estimator. Counts =  21 1  (Total = 22)
shriveling:  Discrete Estimator. Counts =  21 1  (Total = 22)
roots:  Discrete Estimator. Counts =  20 2 1  (Total = 23)


Class phytophthora-rot: Prior probability = 0.13

date:  Discrete Estimator. Counts =  8 24 26 28 7 1 1  (Total = 95)
plant-stand:  Discrete Estimator. Counts =  1 89  (Total = 90)
precip:  Discrete Estimator. Counts =  1 31 59  (Total = 91)
temp:  Discrete Estimator. Counts =  10 52 29  (Total = 91)
hail:  Discrete Estimator. Counts =  15 7  (Total = 22)
crop-hist:  Discrete Estimator. Counts =  7 21 33 31  (Total = 92)
area-damaged:  Discrete Estimator. Counts =  1 88 1 2  (Total = 92)
severity:  Discrete Estimator. Counts =  1 8 14  (Total = 23)
seed-tmt:  Discrete Estimator. Counts =  11 11 1  (Total = 23)
germination:  Discrete Estimator. Counts =  8 8 7  (Total = 23)
plant-growth:  Discrete Estimator. Counts =  1 89  (Total = 90)
leaves:  Discrete Estimator. Counts =  1 89  (Total = 90)
leafspots-halo:  Discrete Estimator. Counts =  34 1 1  (Total = 36)
leafspots-marg:  Discrete Estimator. Counts =  1 1 34  (Total = 36)
leafspot-size:  Discrete Estimator. Counts =  1 1 34  (Total = 36)
leaf-shread:  Discrete Estimator. Counts =  34 1  (Total = 35)
leaf-malf:  Discrete Estimator. Counts =  34 1  (Total = 35)
leaf-mild:  Discrete Estimator. Counts =  34 1 1  (Total = 36)
stem:  Discrete Estimator. Counts =  1 89  (Total = 90)
lodging:  Discrete Estimator. Counts =  19 3  (Total = 22)
stem-cankers:  Discrete Estimator. Counts =  7 20 31 34  (Total = 92)
canker-lesion:  Discrete Estimator. Counts =  1 1 89 1  (Total = 92)
fruiting-bodies:  Discrete Estimator. Counts =  21 1  (Total = 22)
external-decay:  Discrete Estimator. Counts =  70 7 14  (Total = 91)
mycelium:  Discrete Estimator. Counts =  89 1  (Total = 90)
int-discolor:  Discrete Estimator. Counts =  89 1 1  (Total = 91)
sclerotia:  Discrete Estimator. Counts =  89 1  (Total = 90)
fruit-pods:  Discrete Estimator. Counts =  1 1 1 21  (Total = 24)
fruit-spots:  Discrete Estimator. Counts =  1 1 1 1 21  (Total = 25)
seed:  Discrete Estimator. Counts =  21 1  (Total = 22)
mold-growth:  Discrete Estimator. Counts =  21 1  (Total = 22)
seed-discolor:  Discrete Estimator. Counts =  21 1  (Total = 22)
seed-size:  Discrete Estimator. Counts =  21 1  (Total = 22)
shriveling:  Discrete Estimator. Counts =  21 1  (Total = 22)
roots:  Discrete Estimator. Counts =  21 69 1  (Total = 91)


Class brown-stem-rot: Prior probability = 0.06

date:  Discrete Estimator. Counts =  1 1 1 9 18 17 4  (Total = 51)
plant-stand:  Discrete Estimator. Counts =  34 12  (Total = 46)
precip:  Discrete Estimator. Counts =  36 10 1  (Total = 47)
temp:  Discrete Estimator. Counts =  14 26 7  (Total = 47)
hail:  Discrete Estimator. Counts =  36 10  (Total = 46)
crop-hist:  Discrete Estimator. Counts =  1 11 17 19  (Total = 48)
area-damaged:  Discrete Estimator. Counts =  12 3 18 15  (Total = 48)
severity:  Discrete Estimator. Counts =  1 38 8  (Total = 47)
seed-tmt:  Discrete Estimator. Counts =  23 23 1  (Total = 47)
germination:  Discrete Estimator. Counts =  16 16 15  (Total = 47)
plant-growth:  Discrete Estimator. Counts =  25 21  (Total = 46)
leaves:  Discrete Estimator. Counts =  11 35  (Total = 46)
leafspots-halo:  Discrete Estimator. Counts =  36 1 10  (Total = 47)
leafspots-marg:  Discrete Estimator. Counts =  10 1 36  (Total = 47)
leafspot-size:  Discrete Estimator. Counts =  1 10 36  (Total = 47)
leaf-shread:  Discrete Estimator. Counts =  45 1  (Total = 46)
leaf-malf:  Discrete Estimator. Counts =  45 1  (Total = 46)
leaf-mild:  Discrete Estimator. Counts =  45 1 1  (Total = 47)
stem:  Discrete Estimator. Counts =  1 45  (Total = 46)
lodging:  Discrete Estimator. Counts =  29 17  (Total = 46)
stem-cankers:  Discrete Estimator. Counts =  45 1 1 1  (Total = 48)
canker-lesion:  Discrete Estimator. Counts =  25 1 1 21  (Total = 48)
fruiting-bodies:  Discrete Estimator. Counts =  45 1  (Total = 46)
external-decay:  Discrete Estimator. Counts =  45 1 1  (Total = 47)
mycelium:  Discrete Estimator. Counts =  45 1  (Total = 46)
int-discolor:  Discrete Estimator. Counts =  1 45 1  (Total = 47)
sclerotia:  Discrete Estimator. Counts =  45 1  (Total = 46)
fruit-pods:  Discrete Estimator. Counts =  45 1 1 1  (Total = 48)
fruit-spots:  Discrete Estimator. Counts =  25 1 1 1 21  (Total = 49)
seed:  Discrete Estimator. Counts =  45 1  (Total = 46)
mold-growth:  Discrete Estimator. Counts =  45 1  (Total = 46)
seed-discolor:  Discrete Estimator. Counts =  45 1  (Total = 46)
seed-size:  Discrete Estimator. Counts =  45 1  (Total = 46)
shriveling:  Discrete Estimator. Counts =  45 1  (Total = 46)
roots:  Discrete Estimator. Counts =  45 1 1  (Total = 47)


Class powdery-mildew: Prior probability = 0.03

date:  Discrete Estimator. Counts =  1 4 4 3 5 5 5  (Total = 27)
plant-stand:  Discrete Estimator. Counts =  10 12  (Total = 22)
precip:  Discrete Estimator. Counts =  11 10 2  (Total = 23)
temp:  Discrete Estimator. Counts =  11 11 1  (Total = 23)
hail:  Discrete Estimator. Counts =  12 10  (Total = 22)
crop-hist:  Discrete Estimator. Counts =  6 6 6 6  (Total = 24)
area-damaged:  Discrete Estimator. Counts =  6 6 6 6  (Total = 24)
severity:  Discrete Estimator. Counts =  11 11 1  (Total = 23)
seed-tmt:  Discrete Estimator. Counts =  11 7 5  (Total = 23)
germination:  Discrete Estimator. Counts =  8 8 7  (Total = 23)
plant-growth:  Discrete Estimator. Counts =  21 1  (Total = 22)
leaves:  Discrete Estimator. Counts =  1 21  (Total = 22)
leafspots-halo:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
leafspots-marg:  Discrete Estimator. Counts =  1 1 21  (Total = 23)
leafspot-size:  Discrete Estimator. Counts =  1 1 21  (Total = 23)
leaf-shread:  Discrete Estimator. Counts =  21 1  (Total = 22)
leaf-malf:  Discrete Estimator. Counts =  21 1  (Total = 22)
leaf-mild:  Discrete Estimator. Counts =  1 21 1  (Total = 23)
stem:  Discrete Estimator. Counts =  21 1  (Total = 22)
lodging:  Discrete Estimator. Counts =  21 1  (Total = 22)
stem-cankers:  Discrete Estimator. Counts =  21 1 1 1  (Total = 24)
canker-lesion:  Discrete Estimator. Counts =  21 1 1 1  (Total = 24)
fruiting-bodies:  Discrete Estimator. Counts =  21 1  (Total = 22)
external-decay:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
mycelium:  Discrete Estimator. Counts =  21 1  (Total = 22)
int-discolor:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
sclerotia:  Discrete Estimator. Counts =  21 1  (Total = 22)
fruit-pods:  Discrete Estimator. Counts =  21 1 1 1  (Total = 24)
fruit-spots:  Discrete Estimator. Counts =  21 1 1 1 1  (Total = 25)
seed:  Discrete Estimator. Counts =  21 1  (Total = 22)
mold-growth:  Discrete Estimator. Counts =  21 1  (Total = 22)
seed-discolor:  Discrete Estimator. Counts =  21 1  (Total = 22)
seed-size:  Discrete Estimator. Counts =  21 1  (Total = 22)
shriveling:  Discrete Estimator. Counts =  21 1  (Total = 22)
roots:  Discrete Estimator. Counts =  21 1 1  (Total = 23)


Class downy-mildew: Prior probability = 0.03

date:  Discrete Estimator. Counts =  1 3 5 5 5 5 3  (Total = 27)
plant-stand:  Discrete Estimator. Counts =  10 12  (Total = 22)
precip:  Discrete Estimator. Counts =  1 1 21  (Total = 23)
temp:  Discrete Estimator. Counts =  9 10 4  (Total = 23)
hail:  Discrete Estimator. Counts =  12 10  (Total = 22)
crop-hist:  Discrete Estimator. Counts =  3 7 7 7  (Total = 24)
area-damaged:  Discrete Estimator. Counts =  6 6 6 6  (Total = 24)
severity:  Discrete Estimator. Counts =  7 15 1  (Total = 23)
seed-tmt:  Discrete Estimator. Counts =  11 11 1  (Total = 23)
germination:  Discrete Estimator. Counts =  1 11 11  (Total = 23)
plant-growth:  Discrete Estimator. Counts =  21 1  (Total = 22)
leaves:  Discrete Estimator. Counts =  1 21  (Total = 22)
leafspots-halo:  Discrete Estimator. Counts =  1 11 11  (Total = 23)
leafspots-marg:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
leafspot-size:  Discrete Estimator. Counts =  1 21 1  (Total = 23)
leaf-shread:  Discrete Estimator. Counts =  21 1  (Total = 22)
leaf-malf:  Discrete Estimator. Counts =  15 7  (Total = 22)
leaf-mild:  Discrete Estimator. Counts =  1 1 21  (Total = 23)
stem:  Discrete Estimator. Counts =  21 1  (Total = 22)
lodging:  Discrete Estimator. Counts =  21 1  (Total = 22)
stem-cankers:  Discrete Estimator. Counts =  21 1 1 1  (Total = 24)
canker-lesion:  Discrete Estimator. Counts =  21 1 1 1  (Total = 24)
fruiting-bodies:  Discrete Estimator. Counts =  21 1  (Total = 22)
external-decay:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
mycelium:  Discrete Estimator. Counts =  21 1  (Total = 22)
int-discolor:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
sclerotia:  Discrete Estimator. Counts =  21 1  (Total = 22)
fruit-pods:  Discrete Estimator. Counts =  21 1 1 1  (Total = 24)
fruit-spots:  Discrete Estimator. Counts =  21 1 1 1 1  (Total = 25)
seed:  Discrete Estimator. Counts =  1 21  (Total = 22)
mold-growth:  Discrete Estimator. Counts =  1 21  (Total = 22)
seed-discolor:  Discrete Estimator. Counts =  21 1  (Total = 22)
seed-size:  Discrete Estimator. Counts =  21 1  (Total = 22)
shriveling:  Discrete Estimator. Counts =  21 1  (Total = 22)
roots:  Discrete Estimator. Counts =  21 1 1  (Total = 23)


Class brown-spot: Prior probability = 0.13

date:  Discrete Estimator. Counts =  6 28 29 18 9 8 1  (Total = 99)
plant-stand:  Discrete Estimator. Counts =  58 36  (Total = 94)
precip:  Discrete Estimator. Counts =  1 11 83  (Total = 95)
temp:  Discrete Estimator. Counts =  1 83 11  (Total = 95)
hail:  Discrete Estimator. Counts =  82 12  (Total = 94)
crop-hist:  Discrete Estimator. Counts =  3 18 38 37  (Total = 96)
area-damaged:  Discrete Estimator. Counts =  8 18 18 52  (Total = 96)
severity:  Discrete Estimator. Counts =  12 76 7  (Total = 95)
seed-tmt:  Discrete Estimator. Counts =  64 16 15  (Total = 95)
germination:  Discrete Estimator. Counts =  28 34 33  (Total = 95)
plant-growth:  Discrete Estimator. Counts =  84 10  (Total = 94)
leaves:  Discrete Estimator. Counts =  1 93  (Total = 94)
leafspots-halo:  Discrete Estimator. Counts =  1 1 93  (Total = 95)
leafspots-marg:  Discrete Estimator. Counts =  93 1 1  (Total = 95)
leafspot-size:  Discrete Estimator. Counts =  1 93 1  (Total = 95)
leaf-shread:  Discrete Estimator. Counts =  49 45  (Total = 94)
leaf-malf:  Discrete Estimator. Counts =  93 1  (Total = 94)
leaf-mild:  Discrete Estimator. Counts =  93 1 1  (Total = 95)
stem:  Discrete Estimator. Counts =  55 39  (Total = 94)
lodging:  Discrete Estimator. Counts =  93 1  (Total = 94)
stem-cankers:  Discrete Estimator. Counts =  60 1 1 34  (Total = 96)
canker-lesion:  Discrete Estimator. Counts =  55 34 1 6  (Total = 96)
fruiting-bodies:  Discrete Estimator. Counts =  57 37  (Total = 94)
external-decay:  Discrete Estimator. Counts =  88 6 1  (Total = 95)
mycelium:  Discrete Estimator. Counts =  93 1  (Total = 94)
int-discolor:  Discrete Estimator. Counts =  93 1 1  (Total = 95)
sclerotia:  Discrete Estimator. Counts =  93 1  (Total = 94)
fruit-pods:  Discrete Estimator. Counts =  91 3 1 1  (Total = 96)
fruit-spots:  Discrete Estimator. Counts =  89 3 3 1 1  (Total = 97)
seed:  Discrete Estimator. Counts =  93 1  (Total = 94)
mold-growth:  Discrete Estimator. Counts =  93 1  (Total = 94)
seed-discolor:  Discrete Estimator. Counts =  93 1  (Total = 94)
seed-size:  Discrete Estimator. Counts =  93 1  (Total = 94)
shriveling:  Discrete Estimator. Counts =  93 1  (Total = 94)
roots:  Discrete Estimator. Counts =  93 1 1  (Total = 95)


Class bacterial-blight: Prior probability = 0.03

date:  Discrete Estimator. Counts =  1 1 4 8 8 4 1  (Total = 27)
plant-stand:  Discrete Estimator. Counts =  16 6  (Total = 22)
precip:  Discrete Estimator. Counts =  1 11 11  (Total = 23)
temp:  Discrete Estimator. Counts =  1 18 4  (Total = 23)
hail:  Discrete Estimator. Counts =  11 11  (Total = 22)
crop-hist:  Discrete Estimator. Counts =  3 7 7 7  (Total = 24)
area-damaged:  Discrete Estimator. Counts =  6 6 6 6  (Total = 24)
severity:  Discrete Estimator. Counts =  11 11 1  (Total = 23)
seed-tmt:  Discrete Estimator. Counts =  11 11 1  (Total = 23)
germination:  Discrete Estimator. Counts =  8 9 6  (Total = 23)
plant-growth:  Discrete Estimator. Counts =  17 5  (Total = 22)
leaves:  Discrete Estimator. Counts =  1 21  (Total = 22)
leafspots-halo:  Discrete Estimator. Counts =  1 11 11  (Total = 23)
leafspots-marg:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
leafspot-size:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
leaf-shread:  Discrete Estimator. Counts =  4 18  (Total = 22)
leaf-malf:  Discrete Estimator. Counts =  19 3  (Total = 22)
leaf-mild:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
stem:  Discrete Estimator. Counts =  21 1  (Total = 22)
lodging:  Discrete Estimator. Counts =  21 1  (Total = 22)
stem-cankers:  Discrete Estimator. Counts =  21 1 1 1  (Total = 24)
canker-lesion:  Discrete Estimator. Counts =  21 1 1 1  (Total = 24)
fruiting-bodies:  Discrete Estimator. Counts =  21 1  (Total = 22)
external-decay:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
mycelium:  Discrete Estimator. Counts =  21 1  (Total = 22)
int-discolor:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
sclerotia:  Discrete Estimator. Counts =  21 1  (Total = 22)
fruit-pods:  Discrete Estimator. Counts =  21 1 1 1  (Total = 24)
fruit-spots:  Discrete Estimator. Counts =  21 1 1 1 1  (Total = 25)
seed:  Discrete Estimator. Counts =  21 1  (Total = 22)
mold-growth:  Discrete Estimator. Counts =  21 1  (Total = 22)
seed-discolor:  Discrete Estimator. Counts =  21 1  (Total = 22)
seed-size:  Discrete Estimator. Counts =  21 1  (Total = 22)
shriveling:  Discrete Estimator. Counts =  21 1  (Total = 22)
roots:  Discrete Estimator. Counts =  21 1 1  (Total = 23)


Class bacterial-pustule: Prior probability = 0.03

date:  Discrete Estimator. Counts =  1 3 8 8 3 3 1  (Total = 27)
plant-stand:  Discrete Estimator. Counts =  12 10  (Total = 22)
precip:  Discrete Estimator. Counts =  1 13 9  (Total = 23)
temp:  Discrete Estimator. Counts =  6 12 5  (Total = 23)
hail:  Discrete Estimator. Counts =  11 11  (Total = 22)
crop-hist:  Discrete Estimator. Counts =  4 7 7 6  (Total = 24)
area-damaged:  Discrete Estimator. Counts =  6 6 6 6  (Total = 24)
severity:  Discrete Estimator. Counts =  13 9 1  (Total = 23)
seed-tmt:  Discrete Estimator. Counts =  15 7 1  (Total = 23)
germination:  Discrete Estimator. Counts =  2 11 10  (Total = 23)
plant-growth:  Discrete Estimator. Counts =  18 4  (Total = 22)
leaves:  Discrete Estimator. Counts =  1 21  (Total = 22)
leafspots-halo:  Discrete Estimator. Counts =  1 17 5  (Total = 23)
leafspots-marg:  Discrete Estimator. Counts =  4 18 1  (Total = 23)
leafspot-size:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
leaf-shread:  Discrete Estimator. Counts =  7 15  (Total = 22)
leaf-malf:  Discrete Estimator. Counts =  18 4  (Total = 22)
leaf-mild:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
stem:  Discrete Estimator. Counts =  21 1  (Total = 22)
lodging:  Discrete Estimator. Counts =  21 1  (Total = 22)
stem-cankers:  Discrete Estimator. Counts =  21 1 1 1  (Total = 24)
canker-lesion:  Discrete Estimator. Counts =  21 1 1 1  (Total = 24)
fruiting-bodies:  Discrete Estimator. Counts =  21 1  (Total = 22)
external-decay:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
mycelium:  Discrete Estimator. Counts =  21 1  (Total = 22)
int-discolor:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
sclerotia:  Discrete Estimator. Counts =  21 1  (Total = 22)
fruit-pods:  Discrete Estimator. Counts =  21 1 1 1  (Total = 24)
fruit-spots:  Discrete Estimator. Counts =  21 1 1 1 1  (Total = 25)
seed:  Discrete Estimator. Counts =  11 11  (Total = 22)
mold-growth:  Discrete Estimator. Counts =  11 11  (Total = 22)
seed-discolor:  Discrete Estimator. Counts =  11 11  (Total = 22)
seed-size:  Discrete Estimator. Counts =  14 8  (Total = 22)
shriveling:  Discrete Estimator. Counts =  21 1  (Total = 22)
roots:  Discrete Estimator. Counts =  11 10 2  (Total = 23)


Class purple-seed-stain: Prior probability = 0.03

date:  Discrete Estimator. Counts =  1 1 1 5 6 6 7  (Total = 27)
plant-stand:  Discrete Estimator. Counts =  21 1  (Total = 22)
precip:  Discrete Estimator. Counts =  1 1 21  (Total = 23)
temp:  Discrete Estimator. Counts =  8 8 7  (Total = 23)
hail:  Discrete Estimator. Counts =  12 10  (Total = 22)
crop-hist:  Discrete Estimator. Counts =  6 6 6 6  (Total = 24)
area-damaged:  Discrete Estimator. Counts =  6 6 6 6  (Total = 24)
severity:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
seed-tmt:  Discrete Estimator. Counts =  13 9 1  (Total = 23)
germination:  Discrete Estimator. Counts =  3 10 10  (Total = 23)
plant-growth:  Discrete Estimator. Counts =  21 1  (Total = 22)
leaves:  Discrete Estimator. Counts =  10 12  (Total = 22)
leafspots-halo:  Discrete Estimator. Counts =  10 1 12  (Total = 23)
leafspots-marg:  Discrete Estimator. Counts =  12 1 10  (Total = 23)
leafspot-size:  Discrete Estimator. Counts =  12 1 10  (Total = 23)
leaf-shread:  Discrete Estimator. Counts =  21 1  (Total = 22)
leaf-malf:  Discrete Estimator. Counts =  21 1  (Total = 22)
leaf-mild:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
stem:  Discrete Estimator. Counts =  12 10  (Total = 22)
lodging:  Discrete Estimator. Counts =  16 6  (Total = 22)
stem-cankers:  Discrete Estimator. Counts =  21 1 1 1  (Total = 24)
canker-lesion:  Discrete Estimator. Counts =  1 1 1 21  (Total = 24)
fruiting-bodies:  Discrete Estimator. Counts =  21 1  (Total = 22)
external-decay:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
mycelium:  Discrete Estimator. Counts =  21 1  (Total = 22)
int-discolor:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
sclerotia:  Discrete Estimator. Counts =  21 1  (Total = 22)
fruit-pods:  Discrete Estimator. Counts =  10 12 1 1  (Total = 24)
fruit-spots:  Discrete Estimator. Counts =  10 12 1 1 1  (Total = 25)
seed:  Discrete Estimator. Counts =  1 21  (Total = 22)
mold-growth:  Discrete Estimator. Counts =  21 1  (Total = 22)
seed-discolor:  Discrete Estimator. Counts =  1 21  (Total = 22)
seed-size:  Discrete Estimator. Counts =  21 1  (Total = 22)
shriveling:  Discrete Estimator. Counts =  21 1  (Total = 22)
roots:  Discrete Estimator. Counts =  21 1 1  (Total = 23)


Class anthracnose: Prior probability = 0.06

date:  Discrete Estimator. Counts =  3 3 3 3 8 18 13  (Total = 51)
plant-stand:  Discrete Estimator. Counts =  22 24  (Total = 46)
precip:  Discrete Estimator. Counts =  1 1 45  (Total = 47)
temp:  Discrete Estimator. Counts =  1 34 12  (Total = 47)
hail:  Discrete Estimator. Counts =  34 12  (Total = 46)
crop-hist:  Discrete Estimator. Counts =  6 14 14 14  (Total = 48)
area-damaged:  Discrete Estimator. Counts =  6 14 14 14  (Total = 48)
severity:  Discrete Estimator. Counts =  12 32 3  (Total = 47)
seed-tmt:  Discrete Estimator. Counts =  22 20 5  (Total = 47)
germination:  Discrete Estimator. Counts =  16 20 11  (Total = 47)
plant-growth:  Discrete Estimator. Counts =  33 13  (Total = 46)
leaves:  Discrete Estimator. Counts =  25 21  (Total = 46)
leafspots-halo:  Discrete Estimator. Counts =  45 1 1  (Total = 47)
leafspots-marg:  Discrete Estimator. Counts =  1 1 45  (Total = 47)
leafspot-size:  Discrete Estimator. Counts =  1 1 45  (Total = 47)
leaf-shread:  Discrete Estimator. Counts =  45 1  (Total = 46)
leaf-malf:  Discrete Estimator. Counts =  45 1  (Total = 46)
leaf-mild:  Discrete Estimator. Counts =  45 1 1  (Total = 47)
stem:  Discrete Estimator. Counts =  1 45  (Total = 46)
lodging:  Discrete Estimator. Counts =  40 6  (Total = 46)
stem-cankers:  Discrete Estimator. Counts =  1 1 6 40  (Total = 48)
canker-lesion:  Discrete Estimator. Counts =  1 11 35 1  (Total = 48)
fruiting-bodies:  Discrete Estimator. Counts =  15 31  (Total = 46)
external-decay:  Discrete Estimator. Counts =  25 21 1  (Total = 47)
mycelium:  Discrete Estimator. Counts =  45 1  (Total = 46)
int-discolor:  Discrete Estimator. Counts =  45 1 1  (Total = 47)
sclerotia:  Discrete Estimator. Counts =  45 1  (Total = 46)
fruit-pods:  Discrete Estimator. Counts =  7 39 1 1  (Total = 48)
fruit-spots:  Discrete Estimator. Counts =  7 1 39 1 1  (Total = 49)
seed:  Discrete Estimator. Counts =  18 28  (Total = 46)
mold-growth:  Discrete Estimator. Counts =  23 23  (Total = 46)
seed-discolor:  Discrete Estimator. Counts =  37 9  (Total = 46)
seed-size:  Discrete Estimator. Counts =  23 23  (Total = 46)
shriveling:  Discrete Estimator. Counts =  23 23  (Total = 46)
roots:  Discrete Estimator. Counts =  45 1 1  (Total = 47)


Class phyllosticta-leaf-spot: Prior probability = 0.03

date:  Discrete Estimator. Counts =  1 4 9 8 3 1 1  (Total = 27)
plant-stand:  Discrete Estimator. Counts =  10 12  (Total = 22)
precip:  Discrete Estimator. Counts =  10 12 1  (Total = 23)
temp:  Discrete Estimator. Counts =  1 11 11  (Total = 23)
hail:  Discrete Estimator. Counts =  12 10  (Total = 22)
crop-hist:  Discrete Estimator. Counts =  6 6 6 6  (Total = 24)
area-damaged:  Discrete Estimator. Counts =  8 1 8 7  (Total = 24)
severity:  Discrete Estimator. Counts =  15 7 1  (Total = 23)
seed-tmt:  Discrete Estimator. Counts =  11 9 3  (Total = 23)
germination:  Discrete Estimator. Counts =  6 9 8  (Total = 23)
plant-growth:  Discrete Estimator. Counts =  17 5  (Total = 22)
leaves:  Discrete Estimator. Counts =  1 21  (Total = 22)
leafspots-halo:  Discrete Estimator. Counts =  1 1 21  (Total = 23)
leafspots-marg:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
leafspot-size:  Discrete Estimator. Counts =  1 21 1  (Total = 23)
leaf-shread:  Discrete Estimator. Counts =  11 11  (Total = 22)
leaf-malf:  Discrete Estimator. Counts =  11 11  (Total = 22)
leaf-mild:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
stem:  Discrete Estimator. Counts =  21 1  (Total = 22)
lodging:  Discrete Estimator. Counts =  21 1  (Total = 22)
stem-cankers:  Discrete Estimator. Counts =  21 1 1 1  (Total = 24)
canker-lesion:  Discrete Estimator. Counts =  21 1 1 1  (Total = 24)
fruiting-bodies:  Discrete Estimator. Counts =  21 1  (Total = 22)
external-decay:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
mycelium:  Discrete Estimator. Counts =  21 1  (Total = 22)
int-discolor:  Discrete Estimator. Counts =  21 1 1  (Total = 23)
sclerotia:  Discrete Estimator. Counts =  21 1  (Total = 22)
fruit-pods:  Discrete Estimator. Counts =  21 1 1 1  (Total = 24)
fruit-spots:  Discrete Estimator. Counts =  21 1 1 1 1  (Total = 25)
seed:  Discrete Estimator. Counts =  21 1  (Total = 22)
mold-growth:  Discrete Estimator. Counts =  21 1  (Total = 22)
seed-discolor:  Discrete Estimator. Counts =  21 1  (Total = 22)
seed-size:  Discrete Estimator. Counts =  21 1  (Total = 22)
shriveling:  Discrete Estimator. Counts =  21 1  (Total = 22)
roots:  Discrete Estimator. Counts =  21 1 1  (Total = 23)


Class alternarialeaf-spot: Prior probability = 0.13

date:  Discrete Estimator. Counts =  1 1 1 4 19 41 31  (Total = 98)
plant-stand:  Discrete Estimator. Counts =  59 34  (Total = 93)
precip:  Discrete Estimator. Counts =  1 10 83  (Total = 94)
temp:  Discrete Estimator. Counts =  1 41 52  (Total = 94)
hail:  Discrete Estimator. Counts =  82 11  (Total = 93)
crop-hist:  Discrete Estimator. Counts =  12 21 31 31  (Total = 95)
area-damaged:  Discrete Estimator. Counts =  19 26 25 25  (Total = 95)
severity:  Discrete Estimator. Counts =  54 39 1  (Total = 94)
seed-tmt:  Discrete Estimator. Counts =  43 44 7  (Total = 94)
germination:  Discrete Estimator. Counts =  31 32 31  (Total = 94)
plant-growth:  Discrete Estimator. Counts =  92 1  (Total = 93)
leaves:  Discrete Estimator. Counts =  1 92  (Total = 93)
leafspots-halo:  Discrete Estimator. Counts =  1 1 92  (Total = 94)
leafspots-marg:  Discrete Estimator. Counts =  92 1 1  (Total = 94)
leafspot-size:  Discrete Estimator. Counts =  1 92 1  (Total = 94)
leaf-shread:  Discrete Estimator. Counts =  81 12  (Total = 93)
leaf-malf:  Discrete Estimator. Counts =  92 1  (Total = 93)
leaf-mild:  Discrete Estimator. Counts =  92 1 1  (Total = 94)
stem:  Discrete Estimator. Counts =  92 1  (Total = 93)
lodging:  Discrete Estimator. Counts =  92 1  (Total = 93)
stem-cankers:  Discrete Estimator. Counts =  92 1 1 1  (Total = 95)
canker-lesion:  Discrete Estimator. Counts =  92 1 1 1  (Total = 95)
fruiting-bodies:  Discrete Estimator. Counts =  92 1  (Total = 93)
external-decay:  Discrete Estimator. Counts =  92 1 1  (Total = 94)
mycelium:  Discrete Estimator. Counts =  92 1  (Total = 93)
int-discolor:  Discrete Estimator. Counts =  92 1 1  (Total = 94)
sclerotia:  Discrete Estimator. Counts =  92 1  (Total = 93)
fruit-pods:  Discrete Estimator. Counts =  92 1 1 1  (Total = 95)
fruit-spots:  Discrete Estimator. Counts =  92 1 1 1 1  (Total = 96)
seed:  Discrete Estimator. Counts =  82 11  (Total = 93)
mold-growth:  Discrete Estimator. Counts =  92 1  (Total = 93)
seed-discolor:  Discrete Estimator. Counts =  82 11  (Total = 93)
seed-size:  Discrete Estimator. Counts =  92 1  (Total = 93)
shriveling:  Discrete Estimator. Counts =  92 1  (Total = 93)
roots:  Discrete Estimator. Counts =  92 1 1  (Total = 94)


Class frog-eye-leaf-spot: Prior probability = 0.13

date:  Discrete Estimator. Counts =  1 1 1 14 34 32 15  (Total = 98)
plant-stand:  Discrete Estimator. Counts =  64 29  (Total = 93)
precip:  Discrete Estimator. Counts =  1 11 82  (Total = 94)
temp:  Discrete Estimator. Counts =  1 55 38  (Total = 94)
hail:  Discrete Estimator. Counts =  82 11  (Total = 93)
crop-hist:  Discrete Estimator. Counts =  6 28 30 31  (Total = 95)
area-damaged:  Discrete Estimator. Counts =  24 24 23 24  (Total = 95)
severity:  Discrete Estimator. Counts =  49 44 1  (Total = 94)
seed-tmt:  Discrete Estimator. Counts =  45 43 6  (Total = 94)
germination:  Discrete Estimator. Counts =  36 29 29  (Total = 94)
plant-growth:  Discrete Estimator. Counts =  88 5  (Total = 93)
leaves:  Discrete Estimator. Counts =  1 92  (Total = 93)
leafspots-halo:  Discrete Estimator. Counts =  1 1 92  (Total = 94)
leafspots-marg:  Discrete Estimator. Counts =  92 1 1  (Total = 94)
leafspot-size:  Discrete Estimator. Counts =  1 92 1  (Total = 94)
leaf-shread:  Discrete Estimator. Counts =  92 1  (Total = 93)
leaf-malf:  Discrete Estimator. Counts =  92 1  (Total = 93)
leaf-mild:  Discrete Estimator. Counts =  92 1 1  (Total = 94)
stem:  Discrete Estimator. Counts =  27 66  (Total = 93)
lodging:  Discrete Estimator. Counts =  89 4  (Total = 93)
stem-cankers:  Discrete Estimator. Counts =  25 1 2 67  (Total = 95)
canker-lesion:  Discrete Estimator. Counts =  27 11 56 1  (Total = 95)
fruiting-bodies:  Discrete Estimator. Counts =  89 4  (Total = 93)
external-decay:  Discrete Estimator. Counts =  28 65 1  (Total = 94)
mycelium:  Discrete Estimator. Counts =  92 1  (Total = 93)
int-discolor:  Discrete Estimator. Counts =  92 1 1  (Total = 94)
sclerotia:  Discrete Estimator. Counts =  92 1  (Total = 93)
fruit-pods:  Discrete Estimator. Counts =  28 65 1 1  (Total = 95)
fruit-spots:  Discrete Estimator. Counts =  28 63 3 1 1  (Total = 96)
seed:  Discrete Estimator. Counts =  90 3  (Total = 93)
mold-growth:  Discrete Estimator. Counts =  92 1  (Total = 93)
seed-discolor:  Discrete Estimator. Counts =  91 2  (Total = 93)
seed-size:  Discrete Estimator. Counts =  91 2  (Total = 93)
shriveling:  Discrete Estimator. Counts =  91 2  (Total = 93)
roots:  Discrete Estimator. Counts =  92 1 1  (Total = 94)


Class diaporthe-pod-&-stem-blight: Prior probability = 0.02

date:  Discrete Estimator. Counts =  1 3 1 1 1 8 7  (Total = 22)
plant-stand:  Discrete Estimator. Counts =  8 3  (Total = 11)
precip:  Discrete Estimator. Counts =  1 3 14  (Total = 18)
temp:  Discrete Estimator. Counts =  1 1 16  (Total = 18)
hail:  Discrete Estimator. Counts =  1 1  (Total = 2)
crop-hist:  Discrete Estimator. Counts =  3 4 5 7  (Total = 19)
area-damaged:  Discrete Estimator. Counts =  3 1 1 14  (Total = 19)
severity:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
seed-tmt:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
germination:  Discrete Estimator. Counts =  6 3 3  (Total = 12)
plant-growth:  Discrete Estimator. Counts =  16 1  (Total = 17)
leaves:  Discrete Estimator. Counts =  16 1  (Total = 17)
leafspots-halo:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
leafspots-marg:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
leafspot-size:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
leaf-shread:  Discrete Estimator. Counts =  1 1  (Total = 2)
leaf-malf:  Discrete Estimator. Counts =  1 1  (Total = 2)
leaf-mild:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
stem:  Discrete Estimator. Counts =  1 16  (Total = 17)
lodging:  Discrete Estimator. Counts =  1 1  (Total = 2)
stem-cankers:  Discrete Estimator. Counts =  16 1 1 1  (Total = 19)
canker-lesion:  Discrete Estimator. Counts =  16 1 1 1  (Total = 19)
fruiting-bodies:  Discrete Estimator. Counts =  1 16  (Total = 17)
external-decay:  Discrete Estimator. Counts =  16 1 1  (Total = 18)
mycelium:  Discrete Estimator. Counts =  16 1  (Total = 17)
int-discolor:  Discrete Estimator. Counts =  16 1 1  (Total = 18)
sclerotia:  Discrete Estimator. Counts =  16 1  (Total = 17)
fruit-pods:  Discrete Estimator. Counts =  1 16 1 1  (Total = 19)
fruit-spots:  Discrete Estimator. Counts =  1 1 16 1 1  (Total = 20)
seed:  Discrete Estimator. Counts =  4 13  (Total = 17)
mold-growth:  Discrete Estimator. Counts =  1 16  (Total = 17)
seed-discolor:  Discrete Estimator. Counts =  1 16  (Total = 17)
seed-size:  Discrete Estimator. Counts =  1 16  (Total = 17)
shriveling:  Discrete Estimator. Counts =  1 16  (Total = 17)
roots:  Discrete Estimator. Counts =  1 1 1  (Total = 3)


Class cyst-nematode: Prior probability = 0.02

date:  Discrete Estimator. Counts =  1 1 4 7 6 1 1  (Total = 21)
plant-stand:  Discrete Estimator. Counts =  1 1  (Total = 2)
precip:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
temp:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
hail:  Discrete Estimator. Counts =  1 1  (Total = 2)
crop-hist:  Discrete Estimator. Counts =  1 3 8 6  (Total = 18)
area-damaged:  Discrete Estimator. Counts =  1 9 7 1  (Total = 18)
severity:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
seed-tmt:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
germination:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
plant-growth:  Discrete Estimator. Counts =  1 15  (Total = 16)
leaves:  Discrete Estimator. Counts =  1 15  (Total = 16)
leafspots-halo:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
leafspots-marg:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
leafspot-size:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
leaf-shread:  Discrete Estimator. Counts =  1 1  (Total = 2)
leaf-malf:  Discrete Estimator. Counts =  1 1  (Total = 2)
leaf-mild:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
stem:  Discrete Estimator. Counts =  15 1  (Total = 16)
lodging:  Discrete Estimator. Counts =  1 1  (Total = 2)
stem-cankers:  Discrete Estimator. Counts =  1 1 1 1  (Total = 4)
canker-lesion:  Discrete Estimator. Counts =  1 1 1 1  (Total = 4)
fruiting-bodies:  Discrete Estimator. Counts =  1 1  (Total = 2)
external-decay:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
mycelium:  Discrete Estimator. Counts =  1 1  (Total = 2)
int-discolor:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
sclerotia:  Discrete Estimator. Counts =  1 1  (Total = 2)
fruit-pods:  Discrete Estimator. Counts =  1 1 15 1  (Total = 18)
fruit-spots:  Discrete Estimator. Counts =  1 1 1 1 1  (Total = 5)
seed:  Discrete Estimator. Counts =  1 15  (Total = 16)
mold-growth:  Discrete Estimator. Counts =  15 1  (Total = 16)
seed-discolor:  Discrete Estimator. Counts =  1 1  (Total = 2)
seed-size:  Discrete Estimator. Counts =  1 15  (Total = 16)
shriveling:  Discrete Estimator. Counts =  1 1  (Total = 2)
roots:  Discrete Estimator. Counts =  1 1 15  (Total = 17)


Class 2-4-d-injury: Prior probability = 0.02

date:  Discrete Estimator. Counts =  4 3 3 3 3 3 3  (Total = 22)
plant-stand:  Discrete Estimator. Counts =  1 1  (Total = 2)
precip:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
temp:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
hail:  Discrete Estimator. Counts =  1 1  (Total = 2)
crop-hist:  Discrete Estimator. Counts =  1 1 1 1  (Total = 4)
area-damaged:  Discrete Estimator. Counts =  5 5 5 4  (Total = 19)
severity:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
seed-tmt:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
germination:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
plant-growth:  Discrete Estimator. Counts =  1 1  (Total = 2)
leaves:  Discrete Estimator. Counts =  1 17  (Total = 18)
leafspots-halo:  Discrete Estimator. Counts =  17 1 1  (Total = 19)
leafspots-marg:  Discrete Estimator. Counts =  1 1 17  (Total = 19)
leafspot-size:  Discrete Estimator. Counts =  1 1 17  (Total = 19)
leaf-shread:  Discrete Estimator. Counts =  1 1  (Total = 2)
leaf-malf:  Discrete Estimator. Counts =  1 17  (Total = 18)
leaf-mild:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
stem:  Discrete Estimator. Counts =  1 1  (Total = 2)
lodging:  Discrete Estimator. Counts =  1 1  (Total = 2)
stem-cankers:  Discrete Estimator. Counts =  1 1 1 1  (Total = 4)
canker-lesion:  Discrete Estimator. Counts =  1 1 1 1  (Total = 4)
fruiting-bodies:  Discrete Estimator. Counts =  1 1  (Total = 2)
external-decay:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
mycelium:  Discrete Estimator. Counts =  1 1  (Total = 2)
int-discolor:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
sclerotia:  Discrete Estimator. Counts =  1 1  (Total = 2)
fruit-pods:  Discrete Estimator. Counts =  1 1 1 1  (Total = 4)
fruit-spots:  Discrete Estimator. Counts =  1 1 1 1 1  (Total = 5)
seed:  Discrete Estimator. Counts =  1 1  (Total = 2)
mold-growth:  Discrete Estimator. Counts =  1 1  (Total = 2)
seed-discolor:  Discrete Estimator. Counts =  1 1  (Total = 2)
seed-size:  Discrete Estimator. Counts =  1 1  (Total = 2)
shriveling:  Discrete Estimator. Counts =  1 1  (Total = 2)
roots:  Discrete Estimator. Counts =  1 1 1  (Total = 3)


Class herbicide-injury: Prior probability = 0.01

date:  Discrete Estimator. Counts =  4 4 3 1 1 1 1  (Total = 15)
plant-stand:  Discrete Estimator. Counts =  1 9  (Total = 10)
precip:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
temp:  Discrete Estimator. Counts =  9 1 1  (Total = 11)
hail:  Discrete Estimator. Counts =  1 1  (Total = 2)
crop-hist:  Discrete Estimator. Counts =  5 5 1 1  (Total = 12)
area-damaged:  Discrete Estimator. Counts =  5 1 1 5  (Total = 12)
severity:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
seed-tmt:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
germination:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
plant-growth:  Discrete Estimator. Counts =  1 9  (Total = 10)
leaves:  Discrete Estimator. Counts =  1 9  (Total = 10)
leafspots-halo:  Discrete Estimator. Counts =  5 1 5  (Total = 11)
leafspots-marg:  Discrete Estimator. Counts =  1 5 5  (Total = 11)
leafspot-size:  Discrete Estimator. Counts =  1 5 5  (Total = 11)
leaf-shread:  Discrete Estimator. Counts =  9 1  (Total = 10)
leaf-malf:  Discrete Estimator. Counts =  1 9  (Total = 10)
leaf-mild:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
stem:  Discrete Estimator. Counts =  1 9  (Total = 10)
lodging:  Discrete Estimator. Counts =  1 1  (Total = 2)
stem-cankers:  Discrete Estimator. Counts =  1 1 1 1  (Total = 4)
canker-lesion:  Discrete Estimator. Counts =  1 1 1 1  (Total = 4)
fruiting-bodies:  Discrete Estimator. Counts =  1 1  (Total = 2)
external-decay:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
mycelium:  Discrete Estimator. Counts =  1 1  (Total = 2)
int-discolor:  Discrete Estimator. Counts =  1 1 1  (Total = 3)
sclerotia:  Discrete Estimator. Counts =  1 1  (Total = 2)
fruit-pods:  Discrete Estimator. Counts =  1 1 1 9  (Total = 12)
fruit-spots:  Discrete Estimator. Counts =  1 1 1 1 1  (Total = 5)
seed:  Discrete Estimator. Counts =  1 1  (Total = 2)
mold-growth:  Discrete Estimator. Counts =  1 1  (Total = 2)
seed-discolor:  Discrete Estimator. Counts =  1 1  (Total = 2)
seed-size:  Discrete Estimator. Counts =  1 1  (Total = 2)
shriveling:  Discrete Estimator. Counts =  1 1  (Total = 2)
roots:  Discrete Estimator. Counts =  1 9 1  (Total = 11)


Time taken to build model: 0 seconds

=== Stratified cross-validation ===
=== Summary ===

Correctly Classified Instances         635               92.9722 %
Incorrectly Classified Instances        48                7.0278 %
Kappa statistic                          0.923 
Mean absolute error                      0.0096
Root mean squared error                  0.0817
Relative absolute error                  9.9344 %
Root relative squared error             37.2742 %
Total Number of Instances              683     

=== Detailed Accuracy By Class ===

TP Rate   FP Rate   Precision   Recall  F-Measure   Class
  1         0          1         1         1        diaporthe-stem-canker
  1         0          1         1         1        charcoal-rot
  1         0          1         1         1        rhizoctonia-root-rot
  1         0.003      0.978     1         0.989    phytophthora-rot
  1         0          1         1         1        brown-stem-rot
  1         0          1         1         1        powdery-mildew
  1         0          1         1         1        downy-mildew
  0.837     0.008      0.939     0.837     0.885    brown-spot
  1         0.003      0.909     1         0.952    bacterial-blight
  0.9       0          1         0.9       0.947    bacterial-pustule
  1         0          1         1         1        purple-seed-stain
  1         0          1         1         1        anthracnose
  0.85      0.008      0.773     0.85      0.81     phyllosticta-leaf-spot
  1         0.049      0.758     1         0.863    alternarialeaf-spot
  0.714     0.007      0.942     0.714     0.813    frog-eye-leaf-spot
  1         0.001      0.938     1         0.968    diaporthe-pod-&-stem-blight
  1         0          1         1         1        cyst-nematode
  0.875     0          1         0.875     0.933    2-4-d-injury
  1         0          1         1         1        herbicide-injury

=== Confusion Matrix ===

  a  b  c  d  e  f  g  h  i  j  k  l  m  n  o  p  q  r  s   <-- classified as
 20  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 |  a = diaporthe-stem-canker
  0 20  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 |  b = charcoal-rot
  0  0 20  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 |  c = rhizoctonia-root-rot
  0  0  0 88  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 |  d = phytophthora-rot
  0  0  0  0 44  0  0  0  0  0  0  0  0  0  0  0  0  0  0 |  e = brown-stem-rot
  0  0  0  0  0 20  0  0  0  0  0  0  0  0  0  0  0  0  0 |  f = powdery-mildew
  0  0  0  0  0  0 20  0  0  0  0  0  0  0  0  0  0  0  0 |  g = downy-mildew
  0  0  0  0  0  0  0 77  0  0  0  0  5  6  4  0  0  0  0 |  h = brown-spot
  0  0  0  0  0  0  0  0 20  0  0  0  0  0  0  0  0  0  0 |  i = bacterial-blight
  0  0  0  0  0  0  0  0  2 18  0  0  0  0  0  0  0  0  0 |  j = bacterial-pustule
  0  0  0  0  0  0  0  0  0  0 20  0  0  0  0  0  0  0  0 |  k = purple-seed-stain
  0  0  0  0  0  0  0  0  0  0  0 44  0  0  0  0  0  0  0 |  l = anthracnose
  0  0  0  0  0  0  0  2  0  0  0  0 17  1  0  0  0  0  0 |  m = phyllosticta-leaf-spot
  0  0  0  0  0  0  0  0  0  0  0  0  0 91  0  0  0  0  0 |  n = alternarialeaf-spot
  0  0  0  0  0  0  0  3  0  0  0  0  0 22 65  1  0  0  0 |  o = frog-eye-leaf-spot
  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 15  0  0  0 |  p = diaporthe-pod-&-stem-blight
  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 14  0  0 |  q = cyst-nematode
  0  0  0  2  0  0  0  0  0  0  0  0  0  0  0  0  0 14  0 |  r = 2-4-d-injury
  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  8 |  s = herbicide-injury

Evaluation[edit]

Application[edit]

To turn this into something useful, you'll need two pieces of code. The first is a Bayesian evaluation implementation, the second is something to parse the above output into data your Bayesian implementation.

Support Vector Machines[edit]

Task: Labelling

Input data types: numeric

Description: Support Vector Machines work by finding lines that separate data points. Its input values are labelled points in a high-dimensional space.

Training: libsvm and svmlight.

Evaluation:

Application:


Polynomial Regression[edit]

Task: Numeric Prediction

Input data types: numeric

Description: This isn't technically machine learning. It's actually just an inference technique, but it's often a good technique to try as a baseline.

Training:

Evaluation:

Application:


Neural Networks[edit]

Task: Numeric Prediction

Input data types: numeric

Description: A neural network allows you predict a number of continuous numeric values based on other continuous values. "A Neural Network is the second best way to solve any problem."

Training:

Evaluation:

Application:

k-Means Clustering[edit]

Task: Clustering

Input data types: numeric or nominal

Description: k-Means clustering allows you to take a set of feature vectors and decide which group of feature vectors to associate it with. In a fruit-market universe, this will cluster all the "round, red, dense" things together, separate from the "orange, round, dense" things.

Training:

Evaluation:

Application:

Technique[edit]

Task:

Input data types:

Description:

Training:

Evaluation:

Application: