private Table<String, Learner, Double> createTargetValueLearnerTable(
List<String> targetValues, Example e) {
// create a table with target-attribute values as rows and learners as
// columns and cells containing the weighted votes of each Learner for a
// target value
// Learner1 Learner2 Laerner3 .......
// Yes 0.83 0.5 0
// No 0 0 0.6
Table<String, Learner, Double> table = new Table<String, Learner, Double>(
targetValues, learners);
// initialize table
foreach (Learner l in learners) {
foreach (String s in targetValues) {
table.set(s, l, 0.0);
}
}
foreach (Learner learner in learners) {
String predictedValue = learner.predict(e);
foreach (String v in targetValues) {
if (predictedValue.Equals(v)) {
table.set(v, learner, table.get(v, learner)
+ learnerWeights[learner] * 1);
}
}
}
return table;
}