时间:2025-07-19 作者:游乐小编
由于网络环境的复杂性和数据的海量性,多数安全产品都面临着误报率较高的问题,这些不可避免的误报不仅会消耗一定的资源和时间进行处理,还会降低安全分析人员对告警的铭感度,分散其处理真正安全威胁的精力。
由于网络环境的复杂性和数据的海量性,多数安全产品都面临着误报率较高的问题,这些不可避免的误报不仅会消耗一定的资源和时间进行处理,还会降低安全分析人员对告警的铭感度,分散其处理真正安全威胁的精力
本项目意在优化IDS入侵检测系统的算法,使其降低误报率,现提供如下标准化IDS日志数据,其中参有人工标注报错,通过对数据的挖掘训练找到其中最优的解决算法
!pip install catboost ##下载catboost算法模块登录后复制
对于非字符字段我们使用one-hot编码
In [ ]##categorical_features_indices = np.where(X_train.dtypes != np.float)[0] #预处理登录后复制
# -*- coding: utf-8 -*-import pandas as pdimport numpy as npimport csvimport joblibfrom catboost import CatBoostClassifierfrom sklearn.model_selection import train_test_splitdef train_func(train_path):#请填写训练代码 #数据导入 data=pd.read_csv(train_path,encoding='utf-8') y_train = data.label data = data.fillna(0) X_train, X_validation, y_train, y_validation = train_test_split(data.iloc[:,:-1],data.iloc[:,-1], random_state=1234) #分割 categorical_features_indices = np.where(X_train.dtypes != np.float)[0] #预处理 #定义模型 model = CatBoostClassifier(iterations=807, depth = 6, cat_features = categorical_features_indices, loss_function = "Logloss", l2_leaf_reg = 4.0, learning_rate = 0.1501330270208967, border_count = 217, thread_count = 43, random_strength = 3.164261174069972) model.fit(X_train,y_train)#训练模型 #导出模型 joblib.dump(filename='my_model.kpl',value=model) joblib.dump(filename='..\predict_code\my_model.kpl',value=model) passif __name__ == '__main__': train_path = '/home/aistudio/data/train.csv' train_func(train_path)登录后复制
通过查看特征重要性我们发现单一数据对于结果的影响
模型验证:将训练集以0.75:0.25的比例划分为训练集和验证集,在验证集上的F1分数为:0.9925
# -*- coding: utf-8 -*-import numpy as npimport pandas as pdimport joblibdef test_func(test_path,save_path):# 请填写测试代码 test = pd.read_csv(test_path,encoding='utf-8') # 选手不得改变格式,测试代码跑不通分数以零算 test = test.fillna(0) model = joblib.load(filename="/home/aistudio/my_model.kpl") x=test t=model.predict(x) # #####选手填写测试集处理逻辑,在指定文件夹下生成可提交的csv文件 data_df = pd.DataFrame(t) submission = test[['eventId']] submission['label'] = data_df submission.to_csv(save_path + 'DKsec_ad_submission_1030.csv',index = False,encoding='utf-8') # demo#if __name__ == '__main__': test_path = '/home/aistudio/data/test_1.csv' sava_path = '/home/aistudio/result/' test_func(test_path,sava_path)登录后复制
2021-11-05 11:52
手游攻略2021-11-19 18:38
手游攻略2021-10-31 23:18
手游攻略2022-06-03 14:46
游戏资讯2025-06-28 12:37
单机攻略