[英]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.