{
  "schemaVersion": 1,
  "id": "2.2.2",
  "title": "智慧交通中燃油效率随机森林模型开发与测试",
  "durationMinutes": 20,
  "category": "模型开发与测试",
  "scenario": "在现代交通中，燃油效率（MPG）是衡量汽车性能和交通系统优化的重要指标之一。高效的燃油利用不仅能够降低车辆运营成本，还能减少碳排放，促进环保。开发一个用于预测汽车燃油效率的模型可以帮助智慧交通系统优化路线规划和车辆调度，从而提升整体交通效率和减少能源消耗。此外，这样的模型还可以帮助消费者做出更明智的购车决策，并帮助厂商优化汽车设计。\n\n现要求根据提供的汽车燃油效率数据集，补全2.2.2.ipynb代码。选择合适的特征，开发一个燃油效率预测模型。利用测试工具对模型进行测试，并对测试结果进行分析，完成测试报告，并运用工具对错误原因进行纠正。\n\n（1）正确加载数据集，显示前五行的数据。\n\n（2）使用线性回归模型进行模型训练，要求设定自变量和因变量，并根据自变量特征进行模型训练，最终将训练好的模型以“2.2.2_model.pkl”命名保存到考生文件夹，结果文件以“2.2.2_results.txt”命名保存到考生文件夹。\n\n（3）使用测试工具对模型进行测试，并记录测试结果，以“2.2.2_report.txt”命名保存到考生文件夹。\n\n（4）运用工具分析算法中错误案例产生的原因并进行纠正，重新进行模型训练，并以“2.2.2_results_rf.txt”命名保存到考生文件夹。\n\n（5）对测试结果进行详细分析，并编写测试报告，包括模型性能评估、错误分析及改进建议，将答案以“2.2.2.docx”命名写到答题卷文件中，并保存到考生文件夹。\n\n（6）将以上代码以及运行结果，以html格式保存并命名为2.2.2.html，保存到考生文件夹，考生文件夹命名为“准考证号+身份证后6位”。\n\n数据集说明：\n\nmpg : 燃油效率，每加仑油可以行驶的英里数。\n\ncylinders: 发动机气缸的数量。\n\ndisplacement: 这是指发动机所有气缸的总容积。\n\nhorsepower: 发动机的马力。\n\nweight: 车辆的重量。\n\nacceleration: 加速。\n\nmodel year: 车辆的生产年份。\n\norigin: 指的是车辆的制造地或品牌所属国家。\n\ncar name: 每辆车的具体名称或型号。",
  "skillRequirements": "(1) 能够维护日常训练集与测试集。\n\n(2) 能使用工具对算法进行训练。\n\n(3) 能够使用测试工具对人工智能产品的使用进行测试。\n\n(4) 能够对测试结果进行分析，编写测试报告。\n\n(5) 能够运用工具，分析算法中错误案例产生的原因并进行纠正。",
  "qualityIndicators": "(1) 深入理解业务，训练符合业务需求的模型。\n\n(2) 数据预处理步骤完整，方法选择合理。\n\n(3) 代码实现正确，结果符合预期。\n\n(4) 测试结果分析全面，报告详细。",
  "tasks": [
    {
      "id": "code-fill",
      "type": "code-fill",
      "title": "补全代码任务",
      "instructions": "依据公开题面和附件补全代码空位；仅检查完成度与提交格式，不公开标准内容。",
      "codeBlocks": [
        "import pandas as pd\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.linear_model import LinearRegression\nfrom sklearn.preprocessing import StandardScaler\nfrom sklearn.pipeline import Pipeline\nimport pickle\nfrom sklearn.ensemble import RandomForestRegressor\n\n# 加载数据集\ndf = __________\n\n# 显示前五行数据\nprint(__________)\n\n# 处理缺失值\n# 将 'horsepower' 列中的所有值转换为数值类型\ndf['horsepower'] = __________(__________, errors='coerce')\n# 删除包含缺失值的行\ndf = __________\n\n# 选择相关特征进行建模（定义自变量（返回一个DataFrame）和因变量）\nX = __________\ny = __________\n\n# 将数据集划分为训练集和测试集（测试集占比20%）\nX_train, X_test, y_train, y_test = __________(__________, random_state=42)\n\n# 创建包含标准化和线性回归的管道\npipeline = __________([('scaler', __________),('linreg', __________)])\n\n# 训练模型\n__________\n\n# 保存训练好的模型\nwith open('2.2.2_model.pkl', 'wb') as model_file:\n    pickle.__________\n\n# 预测并保存结果\ny_pred = __________\nresults_df = pd.DataFrame(y_pred, columns=['预测结果'])\n__________('2.2.2_results.txt', index=False)\n\n# 测试模型\nwith open('2.2.2_report.txt', 'w') as results_file:\n    results_file.write(f'训练集得分: {pipeline.score(X_train, y_train)}\\n')\n    results_file.write(f'测试集得分: {pipeline.score(X_test, y_test)}\\n')\n\n# 创建随机森林回归模型实例（创建的决策树的数量为100）\nrf_model = __________(__________, random_state=42)\n# 训练随机森林回归模型\n__________\n\n# 使用随机森林模型进行预测\ny_pred_rf = __________\n\n# 保存新的结果\nresults_rf_df = pd.DataFrame(y_pred_rf, columns=['预测结果'])\n__________('2.2.2_results_rf.txt', index=False)\n\n# 测试模型并保存得分\nwith open('2.2.2_report_rf.txt', 'w') as results_rf_file:\n    results_rf_file.write(f'训练集得分: {rf_model.score(X_train, y_train)}\\n')\n    results_rf_file.write(f'测试集得分: {rf_model.score(X_test, y_test)}\\n')\n",
        "",
        ""
      ],
      "blanks": [
        {
          "id": "blank-1",
          "block": 1,
          "placeholder": "__________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-2",
          "block": 1,
          "placeholder": "__________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-3",
          "block": 1,
          "placeholder": "__________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-4",
          "block": 1,
          "placeholder": "__________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-5",
          "block": 1,
          "placeholder": "__________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-6",
          "block": 1,
          "placeholder": "__________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-7",
          "block": 1,
          "placeholder": "__________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-8",
          "block": 1,
          "placeholder": "__________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-9",
          "block": 1,
          "placeholder": "__________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-10",
          "block": 1,
          "placeholder": "__________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-11",
          "block": 1,
          "placeholder": "__________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-12",
          "block": 1,
          "placeholder": "__________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-13",
          "block": 1,
          "placeholder": "__________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-14",
          "block": 1,
          "placeholder": "__________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-15",
          "block": 1,
          "placeholder": "__________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-16",
          "block": 1,
          "placeholder": "__________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-17",
          "block": 1,
          "placeholder": "__________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-18",
          "block": 1,
          "placeholder": "__________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-19",
          "block": 1,
          "placeholder": "__________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-20",
          "block": 1,
          "placeholder": "__________",
          "gradingMode": "completion-and-format-only"
        },
        {
          "id": "blank-21",
          "block": 1,
          "placeholder": "__________",
          "gradingMode": "completion-and-format-only"
        }
      ]
    },
    {
      "id": "2-2-response",
      "type": "rubric-response",
      "title": "模型开发与测试报告",
      "instructions": "说明模型开发、测试和结果评价过程。",
      "sections": [
        {
          "id": "response",
          "label": "作答内容"
        }
      ],
      "rubric": [
        {
          "id": "criterion-1",
          "label": "数据划分与特征处理合理",
          "weight": 25
        },
        {
          "id": "criterion-2",
          "label": "模型选择和训练过程清晰",
          "weight": 25
        },
        {
          "id": "criterion-3",
          "label": "测试指标与题目目标匹配",
          "weight": 25
        },
        {
          "id": "criterion-4",
          "label": "包含误差分析、复现和改进建议",
          "weight": 25
        }
      ]
    },
    {
      "id": "artifact-submission",
      "type": "artifact-submission",
      "title": "选择结果文件",
      "instructions": "文件仅在本机选择并校验，不上传，也不持久化文件内容。",
      "items": [
        {
          "id": "artifact-1",
          "label": "提交文件：2.2.2_model.pkl",
          "filename": "2.2.2_model.pkl",
          "extensions": [
            ".pkl"
          ],
          "minCount": 1,
          "maxCount": 1,
          "maxSize": 104857600
        },
        {
          "id": "artifact-2",
          "label": "提交文件：2.2.2_results.txt",
          "filename": "2.2.2_results.txt",
          "extensions": [
            ".txt"
          ],
          "minCount": 1,
          "maxCount": 1,
          "maxSize": 104857600
        },
        {
          "id": "artifact-3",
          "label": "提交文件：2.2.2_report.txt",
          "filename": "2.2.2_report.txt",
          "extensions": [
            ".txt"
          ],
          "minCount": 1,
          "maxCount": 1,
          "maxSize": 104857600
        },
        {
          "id": "artifact-4",
          "label": "提交文件：2.2.2_results_rf.txt",
          "filename": "2.2.2_results_rf.txt",
          "extensions": [
            ".txt"
          ],
          "minCount": 1,
          "maxCount": 1,
          "maxSize": 104857600
        },
        {
          "id": "artifact-5",
          "label": "提交文件：2.2.2.docx",
          "filename": "2.2.2.docx",
          "extensions": [
            ".docx"
          ],
          "minCount": 1,
          "maxCount": 1,
          "maxSize": 104857600
        },
        {
          "id": "artifact-6",
          "label": "提交文件：2.2.2.html",
          "filename": "2.2.2.html",
          "extensions": [
            ".html"
          ],
          "minCount": 1,
          "maxCount": 1,
          "maxSize": 104857600
        }
      ]
    }
  ],
  "attachments": [
    {
      "name": "2.2.2.docx",
      "url": "assets/2.2.2/2.2.2.docx",
      "size": 14891,
      "sha256": "cda432620506d38fe9183378f83e2bbdeb8cb393456615b333e7ee03b397064f",
      "mime": "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
    },
    {
      "name": "2.2.2.ipynb",
      "url": "assets/2.2.2/2.2.2.ipynb",
      "size": 3490,
      "sha256": "c4b6609a3acaba7416afa14f8986ecfbb7703ec6c622dea7078c6389c19b705a",
      "mime": "application/x-ipynb+json"
    },
    {
      "name": "2.2.2.md",
      "url": "assets/2.2.2/2.2.2.md",
      "size": 3173,
      "sha256": "ebe87491636b89eb298e74d2fe89609bf813c4dfa772c49affe140fb700581e7",
      "mime": "text/markdown"
    },
    {
      "name": "auto-mpg.csv",
      "url": "assets/2.2.2/auto-mpg.csv",
      "size": 18131,
      "sha256": "09a282cf12c7ab4ffb517b496b0dd1a8bac6e95977178cc7832c32044c32c3f6",
      "mime": "text/csv"
    }
  ],
  "grading": {
    "mode": "completion-and-format-only"
  },
  "review": {
    "status": "approved",
    "notice": "由公开题面通用生成，未使用答案树。",
    "conflicts": []
  },
  "contentVersion": "5cce857fa49b961d"
}
