我有一個類'itemset'的列表,我稱之爲頻繁的項目集,其中包含數據庫中的所有頻繁項目集和另一個整數列表,我稱之爲'index_of_sensitiveItemsets',其中包含敏感的indecies頻繁項目集在頻繁項目集列表中,並由用戶定義。在c#中的列表剩餘indecies#
這樣
List<Itemset> frequentItemsets = get_frequentItemsets_fromDB();
List<int> index_of_sensitiveItemsets = get_senFrqItemsetIndex_from_user();
一個解決這個問題是這樣的:
for (int i = 0; i < allfrequentItemsets.Count - 1; i++)
{
if (! index_of_sensitiveItemsets.Contains(i))
index_of_nonsensitiveItemsets.Add(i);
}
但我詢問是否有更好的方式,得到的將indecies(指數的複數)頻繁項集中不在index_of_sensitiveItemsets列表中的其餘元素。
類Itemset從spmf java庫加載。它有兩個構件:整數和整數的支持陣列和像這樣的一些方法:
public class Itemset : AbstractOrderedItemset
{
public int[] itemset;
public int support;
public Itemset();
public Itemset(int item);
public Itemset(int[] items);
public virtual Itemset cloneItemSetMinusAnItemset(Itemset itemsetToNotKeep);
public virtual Itemset cloneItemSetMinusOneItem(Integer itemToRemove);
public override Integer get(int position);
public override int getAbsoluteSupport();
public virtual int[] getItems();
public virtual void increaseTransactionCount();
public virtual Itemset intersection(Itemset itemset2);
public virtual void setAbsoluteSupport(Integer support);
public override int size();
}
感謝很多預先
看起來像你需要顯示更多的代碼是相對於你的問題2個獨立的方法看起來像什麼? 「itemset」類的結構看起來像什麼??? – MethodMan 2014-11-21 19:38:15
而不是存儲敏感項目集的索引,我會建議存儲項目集的唯一標識符。這樣,如果頻繁項目集的順序發生變化,您的代碼將更加健壯並且不容易中斷。這也可以讓你很容易地編寫一個Linq查詢來完成這個任務。 – SquidScareMe 2014-11-21 20:38:31
@SquidScareMe - 好點 - 我只是假設索引是關鍵(如數據庫標識列)。好的建議。 – PhillipH 2014-11-21 20:42:58