簡體   English   中英

使用 ML、無監督 ML 填充 NaN 值以進行入侵檢測的方法

[英]Ways to fullfil NaN Values for Intrusion Detection with ML, Unsupervised ML

我創建了一個 CSV 文件。 它包含 250800 行和 75 列。 我正在進行 EDA 分析以將數據用於 ML。 在此處輸入圖像描述

看起來像這樣。 所有列都是浮點數或 integer 值。 (df.info()) 當我這樣做時:

df.dropna()

它刪除了 NaN 值,但問題是像協議這樣的列丟失了所有唯一值並且只有一個值,對於dstport也是如此,這不是我想要的,丟失數據是不受歡迎的。 正如這里所建議的,我這樣做了:

df = df.dropna(subset = ["Protocol","DstPort", "State"])

但結果是一樣的,仍然是相同的 NaN 值,並且不能應用例如 Kmeans 聚類。

我想征求你的建議。 我應該怎么辦? 我能以某種方式填充這些值嗎,但我不知道在哪種意義上? 我應該選擇哪個機器學習 model?

我找到了 3 種常用的方法來填充 NaN 值。

  • 平均值: df.fillna((df.mean()), inplace=True)
  • 最常見: df['col'].fillna(df['col'].mode().iloc[0], inplace=True)
  • 中位數: df.fillna((df.median()), inplace=True)

我不確定這是否是我的數據的正確方法,因為它是網絡流量,但只是想分享。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM