private void Results_Analysis() { this.Invoke((MethodInvoker) delegate() { ChoosenCriteria = ddlCriteris.Text; }); for (int i = 0; i < TestResults.Count; i++) { Hashtable htclass = new Hashtable(); foreach (DictionaryEntry de in DistinctClasses) { PredictedClassLabelAnalysis p = new PredictedClassLabelAnalysis(); htclass.Add(de.Key, p); } FoundItemsetsProperties t = (FoundItemsetsProperties)TestResults[i]; foreach (string rule in t.itemsetIndexInTrainingSetClassLabel) { string Category = StringOperations.GetAttrVal("Category", rule); string Oc = StringOperations.GetAttrVal("Oc", rule); string Fc = StringOperations.GetAttrVal("Fc", rule); string Rids = StringOperations.GetAttrVal("Rid", rule); //1- Get DistinctClasses and iterate over them //2- Get All mutual Rows for each class //3- Get Max(Oc/M) //4- Get Max(Oc/c) where c = number of rows for this class foreach (DictionaryEntry str in DistinctClasses) { if (Category == str.Key.ToString()) { PredictedClassLabelAnalysis p = (PredictedClassLabelAnalysis)htclass[Category]; p.rowIDs += Rids; p.Ocs.Add(Oc); p.className = Category; p.Supp_c_to_i.Add(double.Parse(CategoriesN[Category].ToString()) / double.Parse(NrOfInstances.ToString())); p.Supp_i_to_c.Add(double.Parse(Oc.ToString()) / double.Parse(NrOfInstances.ToString())); p.Conf_c_to_i.Add(double.Parse(Oc.ToString()) / double.Parse(CategoriesN[Category].ToString())); htclass[Category] = p; break; } } } if (ChoosenCriteria == "MaxFcXOc" || true) { StringBuilder sb2 = new StringBuilder(); PredictedClassLabelAnalysis f = new PredictedClassLabelAnalysis(); foreach (DictionaryEntry de in htclass) { //if (f.GetMutualRowsIds().Count < ((PredictedClassLabelAnalysis)de.Value).GetMutualRowsIds().Count) // swap to get max //{ f.rowIDs = ((PredictedClassLabelAnalysis)de.Value).rowIDs; f.className = ((PredictedClassLabelAnalysis)de.Value).className; f.Ocs = ((PredictedClassLabelAnalysis)de.Value).Ocs; f.Conf_c_to_i = ((PredictedClassLabelAnalysis)de.Value).Conf_c_to_i; f.Supp_c_to_i = ((PredictedClassLabelAnalysis)de.Value).Supp_c_to_i; f.Supp_i_to_c = ((PredictedClassLabelAnalysis)de.Value).Supp_i_to_c; f.DistinctRowsIDs = ((PredictedClassLabelAnalysis)de.Value).GetMutualRowsIds(); f.rowIDsCount = f.DistinctRowsIDs.Count; // } sb2.Append(f.className + "," + f.rowIDsCount.ToString() + "," + f.GetMax_Conf_c_to_i().ToString() + "," + f.GetMax_Supp_c_to_i().ToString() + "," + f.GetMax_Supp_i_to_c().ToString() + " | "); } SetTxtText(Environment.NewLine + i.ToString() + "," + sb2.ToString()); } // SetTxtText(Environment.NewLine + i.ToString()+"," + f.className); //f = new PredictedClassLabelAnalysis(); // FinalObjectsClassLabels = new ArrayList(); } }