{
  "fetched_at": "2026-10-19T07:19:53Z",
  "source_url": "https://www.kaggle.com/competitions/ddosfldetection/data",
  "pages": [
    {
      "name": "data-description",
      "content": "# 数据说明\n1. 训练数据包含66个csv文件，位于train目录下。每一个csv文件代表一个client所含有的数据。\n2. 测试数据：testing-X.pkl两个文件。\n3. 提交样例：example_submission.csv文件。\n\n## 百度网盘下载\n链接: https://pan.baidu.com/s/1ptFwHvsUoE1Kzr2p6GsmzA \n提取码: xy36\n\n## 基准线代码 (MLP baseline)\n本基准线代码包含基于MLP的ensemble方法和数据standarization预处理。在preprocess.py里修改训练代码数据地址与测试数据的地址，并在model.py文件中修改训练超参数。运行`python model.py`以执行程序。\n\n更多信息可以参考[详细数据代码说明](https://1quadrant.com/competitions/competition/latest-news/detail/9/)。\n\n\n链接: https://pan.baidu.com/s/12KR9G6-ED0U-iprHbkm2YA \n提取码: i5ep\n",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Description",
      "content": "# 协作学习与网络安全比赛数据集\n\n## 训练数据：\n\n* 初赛与复赛所用到的训练数据均为若干个.csv文件，一个.csv文件代表一个client的数据。所有的.csv文件打包为train.zip文件。\n* 每个.csv文件包含85列，前7列舍弃不用。最后一列为标签列Label。每个特征的含义描述可以参考[官方网站](https://1quadrant.com/competitions/competition/detail/5/)。下面代码可以用来进行读取训练数:\n  \n```python\nimport pandas as pd\nimport numpy as np\n# 攻击类别标号，与测试标签相匹配。\nATTACK_TYPES = {'snmp': 0, 'syn': 2, 'dns': 3, 'ssdp': 4, 'mssql': 6, 'tftp': 7, 'ntp': 8, 'udplag': 9, 'ldap': 10, 'netbios': 11, 'udp': 12, 'benign': 13,}\n\n# Load train\nX_train_dict = {}\ny_train_dict = {}\nfor i, f in enumerate(os.listdir(\"./train/\")):\n    dftmp = pd.read_csv(\"./train/\" + f, skipinitialspace=True, low_memory=False)\n    dftmp['SimillarHTTP'] = 0.\n    X_train_dict[i] = dftmp.iloc[:, -80:-1].to_numpy()\n    y_train_dict[i] = np.array([ATTACK_TYPES[t.split('_')[-1].replace('-', '').lower()] for t in dftmp.iloc[:, -1]])\n```\n* 数据人为增加了特征与标签噪音，具体细节可见[说明](https://1quadrant.com/competitions/competition/latest-news/detail/9/)。\n  \n",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Evaluation",
      "content": "## 测试数据\n测试数据./testing-X.pkl，是一个key为X，value为np.array类型对象的字典。可通过以下代码读取:\n\n```python\nimport pickle\nX_test = pickle.load(open(\"./testing-X.pkl\", \"rb\"))['X'] # type: numpy array\n```\n\n预测结果通过csv的形式提交进行评测。csv文件分为Id列和Category列，其中Id为X_test的行号，Category为预测标签。\n可以通过如下代码输出可以提交的预测结果：\n\n```python\nimport pandas as pd\ny_pred = clf.predict(X_test) # get predictition, clf is the classifier\ndf_dict  = {'Id': np.arange(len(X_test)), 'Category': y_pred}\ntest_df = pd.DataFrame.from_dict(df_dict, dtype=str) # turn into a DataFrame object\ntest_df.to_csv(\"./submission.csv\", columns=['Id, 'Category'], index=False) # save as submission.csv under current directory.\n```\n",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "rules",
      "content": "This is a page where you can include rules that participants must accept before joining. You may wish to include rules like:\n\n - Don't cheat!\n - Apply yourself!\n - Have fun!",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    }
  ]
}