2017-04-20 89 views
0

我正在檢查合成的dataset CERT V4.1以模擬內部威脅。我意識到它包含大約850K個樣本,並且有大約200個樣本被視爲惡意數據。這是正常的嗎?我在這裏錯過了什麼嗎?如果是這種情況,如果我想使用深度學習,我該如何處理這些數據?如何處理高度不平衡的數據集

回答

0

是的,這在很多範例中都是正常的:絕大多數流量是「正常」的。您只需謹慎地在您的火車,測試和驗證集合中按比例分配負面樣本來處理此問題。例如,如果您想要的比例是50-30-20,請確保您在訓練集中有大約100個惡意樣本,測試中有60個,測試中有20個。

如果訓練在這個範例中失敗,您也可以嘗試爲每個集合添加每個惡意樣本的多個實例:多次複製這100個記錄;例如,將每個樣本的10份拷貝添加到每個數據集中(但是而不是從一套到另一套交叉 - 您現在在訓練集中有1000個惡意樣本,而不是每個原始200的10個副本)。

+0

你說的「不從一組跨越到另一個」是什麼意思?另外,你認爲深度學習可以在這些數據中找到一個好的模型嗎? – cyberic

+0

我的意思是,每個觀察值只出現在三個數據集中的一箇中,儘管它可能會出現多次。 – Prune

+0

「深度學習」能找到一個「好」的模型嗎?答案的範圍非常廣泛,答案*就是「是」。但是,這取決於您的數據覆蓋範圍是否廣泛和可分離,足以支持您對「良好」的個人定義,以及您應用廣泛的「深度學習」世界中的哪些方法。 – Prune

1

如果你有不平衡的數據,你有很多選擇(見下面的鏈接)。 附加的這些有一個非常有趣的方法是這樣工作的:

1:你的200塊隨機分割你的850K陰性樣品

2:你建立一個分類的,你把每塊所有正面樣本與一個負面樣本塊一起

3:在並列中使用所有分類器並讓他們投票,找到一個很好的門檻,確定需要多少正面投票以「足夠確定」來對測試樣本進行分類as positive

關於您的數據是200 vs 850K(意思是4250個分類器),您可能會考慮將此方法與其他方法結合使用,例如@Prune提到的重複方法或下面鏈接中介紹的方法之一。

這裏有一些方法處理不平衡數據 http://machinelearningmastery.com/tactics-to-combat-imbalanced-classes-in-your-machine-learning-dataset/