private bool IsSubset(IEmergingPattern pat1, IEmergingPattern pat2) { return(pat2.Items.All(x => pat1.Items.Any(y => { SubsetRelation relation = comparer.Compare(y, x); return relation == SubsetRelation.Equal || relation == SubsetRelation.Subset; }))); }
public IEmergingPattern Simplify(IEmergingPattern p) { EmergingPattern result = new EmergingPattern(p.Model, p.ClassFeature, p.ClassValue); if (p.Counts != null) { result.Counts = (double[])p.Counts.Clone(); } if (p.Supports != null) { result.Supports = (double[])p.Supports.Clone(); } _collection.SetResultCollection(result.Items); _collection.AddRange(p.Items); return(result); }
public SubsetRelation Compare(IEmergingPattern pat1, IEmergingPattern pat2) { bool directSubset = IsSubset(pat1, pat2); bool inverseSubset = IsSubset(pat2, pat1); if (directSubset && inverseSubset) { return(SubsetRelation.Equal); } else if (directSubset) { return(SubsetRelation.Subset); } else if (inverseSubset) { return(SubsetRelation.Superset); } else { return(SubsetRelation.Unrelated); } }
public bool Test(IEmergingPattern patttern) { return(true); }