Index: branches/ClassificationEnsembleVoting/HeuristicLab.Problems.DataAnalysis.Views/3.4/Classification/ClassificationEnsembleSolutionEstimatedClassValuesView.cs
===================================================================
--- branches/ClassificationEnsembleVoting/HeuristicLab.Problems.DataAnalysis.Views/3.4/Classification/ClassificationEnsembleSolutionEstimatedClassValuesView.cs	(revision 7458)
+++ branches/ClassificationEnsembleVoting/HeuristicLab.Problems.DataAnalysis.Views/3.4/Classification/ClassificationEnsembleSolutionEstimatedClassValuesView.cs	(revision 7464)
@@ -102,4 +102,6 @@
       List<List<double?>> estimatedValuesVector = GetEstimatedValues(SamplesComboBox.SelectedItem.ToString(), indizes,
                                                             Content.ClassificationSolutions);
+      List<double> weights = Content.Weights.ToList();
+      double weightSum = weights.Sum();
 
       for (int i = 0; i < indizes.Length; i++) {
@@ -111,9 +113,17 @@
           values[i, 2] = estimatedClassValues[i].ToString();
           values[i, 3] = (target[i].IsAlmost(estimatedClassValues[i])).ToString();
+
+          IEnumerable<int> indices = FindAllIndices(estimatedValuesVector[i], estimatedClassValues[i]);
+          double confidence = 0.0;
+          foreach (var index in indices) {
+            confidence += weights[index];
+          }
+          values[i, 4] = (confidence / weightSum).ToString();
+          //var estimationCount = groups.Where(g => g.Key != null).Select(g => g.Count).Sum();
+          //values[i, 4] =
+          //  (((double)groups.Where(g => g.Key == estimatedClassValues[i]).Single().Count) / estimationCount).ToString();
+
           var groups =
             estimatedValuesVector[i].GroupBy(x => x).Select(g => new { Key = g.Key, Count = g.Count() }).ToList();
-          var estimationCount = groups.Where(g => g.Key != null).Select(g => g.Count).Sum();
-          values[i, 4] =
-            (((double)groups.Where(g => g.Key == estimatedClassValues[i]).Single().Count) / estimationCount).ToString();
           for (int classIndex = 0; classIndex < Content.ProblemData.ClassValues.Count; classIndex++) {
             var group = groups.Where(g => g.Key == Content.ProblemData.ClassValues[classIndex]).SingleOrDefault();
@@ -136,4 +146,13 @@
       matrix.SortableView = true;
       matrixView.Content = matrix;
+    }
+
+    private IEnumerable<int> FindAllIndices(List<double?> list, double value) {
+      List<int> indices = new List<int>();
+      for (int i = 0; i < list.Count; i++) {
+        if (list[i].Equals(value))
+          indices.Add(i);
+      }
+      return indices;
     }
 
Index: branches/ClassificationEnsembleVoting/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/ClassificationEnsembleSolutionView.Designer.cs
===================================================================
--- branches/ClassificationEnsembleVoting/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/ClassificationEnsembleSolutionView.Designer.cs	(revision 7458)
+++ branches/ClassificationEnsembleVoting/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/ClassificationEnsembleSolutionView.Designer.cs	(revision 7464)
@@ -44,9 +44,55 @@
     /// </summary>
     private void InitializeComponent() {
-      components = new System.ComponentModel.Container();
+      this.cmbWeightCalculator = new System.Windows.Forms.ComboBox();
+      ((System.ComponentModel.ISupportInitialize)(this.splitContainer)).BeginInit();
+      this.splitContainer.Panel1.SuspendLayout();
+      this.splitContainer.Panel2.SuspendLayout();
+      this.splitContainer.SuspendLayout();
+      this.itemsGroupBox.SuspendLayout();
+      this.detailsGroupBox.SuspendLayout();
+      this.SuspendLayout();
+      // 
+      // splitContainer
+      // 
+      // 
+      // splitContainer.Panel2
+      // 
+      this.splitContainer.Panel2.Controls.Add(this.cmbWeightCalculator);
+      // 
+      // addButton
+      // 
+      this.toolTip.SetToolTip(this.addButton, "Add");
+      // 
+      // removeButton
+      // 
+      this.toolTip.SetToolTip(this.removeButton, "Remove");
+      // 
+      // cmbWeightCalculator
+      // 
+      this.cmbWeightCalculator.FormattingEnabled = true;
+      this.cmbWeightCalculator.Location = new System.Drawing.Point(9, 6);
+      this.cmbWeightCalculator.Name = "cmbWeightCalculator";
+      this.cmbWeightCalculator.Size = new System.Drawing.Size(180, 21);
+      this.cmbWeightCalculator.TabIndex = 1;
+      this.cmbWeightCalculator.SelectedIndexChanged += new System.EventHandler(this.cmbWeightCalculator_SelectedIndexChanged);
+      // 
+      // ClassificationEnsembleSolutionView
+      // 
+      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+      this.Name = "ClassificationEnsembleSolutionView";
+      this.splitContainer.Panel1.ResumeLayout(false);
+      this.splitContainer.Panel2.ResumeLayout(false);
+      ((System.ComponentModel.ISupportInitialize)(this.splitContainer)).EndInit();
+      this.splitContainer.ResumeLayout(false);
+      this.itemsGroupBox.ResumeLayout(false);
+      this.detailsGroupBox.ResumeLayout(false);
+      this.ResumeLayout(false);
+
     }
 
     #endregion
+
+    private System.Windows.Forms.ComboBox cmbWeightCalculator;
   }
 }
Index: branches/ClassificationEnsembleVoting/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/ClassificationEnsembleSolutionView.cs
===================================================================
--- branches/ClassificationEnsembleVoting/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/ClassificationEnsembleSolutionView.cs	(revision 7458)
+++ branches/ClassificationEnsembleVoting/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/ClassificationEnsembleSolutionView.cs	(revision 7464)
@@ -20,7 +20,11 @@
 #endregion
 
+using System.Linq;
 using System.Windows.Forms;
+using HeuristicLab.Common;
 using HeuristicLab.Core;
 using HeuristicLab.MainForm;
+using HeuristicLab.PluginInfrastructure;
+using HeuristicLab.Problems.DataAnalysis.Interfaces.Classification;
 
 namespace HeuristicLab.Problems.DataAnalysis.Views {
@@ -37,7 +41,24 @@
     }
 
+    protected override void SetEnabledStateOfControls() {
+      base.SetEnabledStateOfControls();
+      cmbWeightCalculator.Enabled = !Locked && !ReadOnly && Content != null;
+    }
+
     protected override void OnContentChanged() {
       base.OnContentChanged();
       itemsListView.Items.Remove(itemsListView.FindItemWithText("Model: ClassificationEnsembleModel"));
+      if (cmbWeightCalculator.Items.Count == 0) {
+        cmbWeightCalculator.Items.AddRange(ApplicationManager.Manager.GetInstances<IClassificationEnsembleSolutionWeightCalculator>().OrderBy(b => b.Name, new NaturalStringComparer()).ToArray());
+        if (cmbWeightCalculator.Items.Count > 0)
+          cmbWeightCalculator.SelectedIndex = 0;
+      } else {
+        Content.WeightCalculator = (IClassificationEnsembleSolutionWeightCalculator)cmbWeightCalculator.SelectedItem;
+      }
+    }
+
+    private void cmbWeightCalculator_SelectedIndexChanged(object sender, System.EventArgs e) {
+      if (cmbWeightCalculator.SelectedItem != null)
+        Content.WeightCalculator = (IClassificationEnsembleSolutionWeightCalculator)cmbWeightCalculator.SelectedItem;
     }
 
Index: branches/ClassificationEnsembleVoting/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/DiscriminantFunctionClassificationSolutionView.cs
===================================================================
--- branches/ClassificationEnsembleVoting/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/DiscriminantFunctionClassificationSolutionView.cs	(revision 7458)
+++ branches/ClassificationEnsembleVoting/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/DiscriminantFunctionClassificationSolutionView.cs	(revision 7464)
@@ -24,5 +24,5 @@
 namespace HeuristicLab.Problems.DataAnalysis.Views {
   [View("ClassificationSolution View")]
-  [Content(typeof(DiscriminantFunctionClassificationSolutionBase), false)]
+  [Content(typeof(DiscriminantFunctionClassificationSolutionBase), true)]
   public partial class DiscriminantFunctionClassificationSolutionView : ClassificationSolutionView {
     public DiscriminantFunctionClassificationSolutionView() {
