1. 基於機器學習網路入侵檢測(NSL-KDD)
本文將公開基於機器學習的網路入侵檢測實驗代碼,著重於多分類實現。首先導入實驗數據集,訓練集使用NSL-KDD的Train+,測試集使用NSL-KDD的Test+。數據集包含43個特徵,其中三個字元型特徵需手動添加列。進行獨熱編碼處理,"protocol_type"、"service"、"flag"三個特徵採用One-Hot編碼,以使機器學習演算法識別。特徵列合並,訓練集與測試集數據合並。數據歸一化處理,採用Min-Max方法進行數據正則化。進行數據集分類,實現5分類,類別包括Normal、DoS、Probe、U2R、R2L。數據集劃分,測試集與訓練集分割。隨後引入模型,採用DT(決策樹)和RF(隨機森林)進行測試。此為基本的ML實驗過程,有疑問可自行查看代碼調試,以加深理解。