📈 30天学习进度总览

总体完成
0%
阶段一 · S+A级 (Day 1-12)
0%
阶段二 · B+C+理论 (Day 13-20)
0%
阶段三 · 模拟训练 (Day 21-27)
0%
阶段四 · 考前冲刺 (Day 28-30)
0%
📅 30天每日打卡
天数 学习内容 得分/备注
🎯 考试全景与得分策略

操作技能考试 120分钟 / 100分 · 理论知识考试另计

优先级 题目 名称 时间 分值 题型
S 1.1.1 智能医疗数据处理 30min 25分 纯代码
A 2.2.1 Logistic回归信用评分 20min 20分 代码+文档
A 3.2.1 图像识别ONNX推理 20min 20分 代码+文档
B 2.1.1 燃油效率数据清洗 20min 15分 代码+文档
B 3.1.1 智能音箱分析优化 20min 15分 纯文档
C 4.2.1 零售数据采集指导 10min 5分 纯文档
💡 得分策略:S+A级 = 65分,拿满即稳过。B级锦上添花,C级背模板即可。
S 1.1.1 智能医疗数据处理 25分

Day 1 — 跑通代码

  • 安装环境:pip install -r requirements.txt
  • 运行 practices/1.1.1_.../example.ipynb,逐Cell理解输出
  • 掌握 np.where 条件判断、pd.cut 区间划分(right=False)、groupby+apply

Day 2 — 背诵得分点

  • 读CSV(1分) → np.where创建RiskLevel(3分) → value_counts(2分) → 占比(2分)
  • BMI区间 bins=[0,18.5,24,28,inf] labels=['偏瘦','正常','超重','肥胖'](4分) → 比例(2分) → 计数(1分)
  • 年龄区间 bins=[0,26,36,46,56,66,inf](4分) → 比例(2分) → 计数(1分)
  • 关闭所有参考,独立默写完整代码

Day 3 — 变体强化

  • 用 上网素材/1.1.1/1.1.1.ipynb 独立练习
  • 打开 考试平台模拟界面/1.1.1.html 熟悉考试UI
  • 做 上网素材/1.1.2/(sensor_data) 和 1.1.3/(credit_data) 变体
A 2.2.1 Logistic回归信用评分 20分

Day 4 — 跑通完整流程

  • 运行 practices/2.2.1_.../example.ipynb
  • 理解完整链条:加载→drop→split→LogisticRegression(max_iter=1000)→fit→predict→pickle.dump→classification_report→SMOTE→重训练

Day 5 — 评估指标与错误分析模板

  • 背诵 precision / recall / f1-score 含义
  • 掌握错误分析模板:类别0(准确率0.95+召回率0.99) / 类别1(准确率0.57+召回率0.14)
  • 改进建议:① SMOTE ② 特征选择优化 ③ 特征构造(交互项)

Day 6 — 文件输出练习

  • 独立完成输出:2.2.1_model.pkl / results.txt / report.txt / results_xg.txt
  • 编写测试报告 2.2.1.docx:模型性能 → 错误分析 → 改进建议

Day 7 — 变体强化

  • 做 上网素材/2.2.1/(含docx模板) + 上网素材/2.2.2/ 变体
  • 打开 考试平台模拟界面/2.2.1.html 熟悉UI
A 3.2.1 图像识别ONNX推理 20分

⚠️ practices/3.2.1 中代码全部被注释,需从第6部分参考答案学习

Day 8 — 理解代码框架

  • 阅读第6部分3.2.1参考代码(完整版)
  • 理解 preprocess_image: resize(256)→center_crop(224)→/255→normalize→HWC→CHW→reshape
  • 理解推理链: InferenceSession→session.run→softmax→argsort Top5

Day 9 — 默写代码

  • 记忆并默写 preprocess_image 函数(6参数5步处理)
  • 默写推理链 session.run([output_name], {input_name: processed_image})[0]

Day 10 — 文档写作

  • 编写人机交互最优方式 3.2.1.docx(11要点:界面→预加载→上传→识别→展示→反馈→帮助→优化→安全→多语言→可访问)

Day 11 — 变体强化

  • 做 上网素材/3.2.1/ ~ 3.2.3/ 变体
  • 打开 考试平台模拟界面/3.2.1.html 熟悉UI
Day 12:S+A级综合限时模拟

限时70分钟模拟

  • 1.1.1 (30min) 独立完成
  • 2.2.1 (20min) 独立完成
  • 3.2.1 (20min) 独立完成
  • 对照第6部分评分标准自评打分
  • 记录失分点和超时环节

✅ 阶段一检查点

  • 1.1.1 能独立默写全部代码(目标25分满分)
  • 2.2.1 能独立完成代码+文档(目标20分满分)
  • 3.2.1 能默写推理代码+预处理函数+交互文档
B 2.1.1 数据清洗与标注 15分

Day 13 — 代码部分

  • 运行 practices/2.1.1_.../example.ipynb
  • 掌握流程:read_csv→head→dtypes→isnull→dropna→to_numeric(errors='coerce')→dropna(subset)→StandardScaler→train_test_split→to_csv
  • 注意标准化只对 ['displacement','horsepower','weight','acceleration']

Day 14 — 文档+变体

  • 背诵清洗规范(答对2点):①数据加载 ②检查缺失值 ③转换异常值 ④标准化 ⑤保存
  • 背诵标注规范(答对3点):①数据来源 ②数据描述 ③特征选择 ④目标变量 ⑤数据划分 ⑥保存记录
  • 做 上网素材/2.1.1/(含docx) + 上网素材/2.1.2/(大学生低碳生活)
B 3.1.1 智能音箱分析与优化 15分

⚠️ 数据文件实际为 smart_speaker_data.csv(非xlsx)

Day 15 — 数据分析

  • 运行 practices/3.1.1_.../example.ipynb
  • 分析三要素:使用习惯(最常用) → 使用频率(最多/最少) → 响应时间(长/中/短)

Day 16 — 文档写作+变体

  • 编写分析报告 3.1.1-1.docx + 优化方案 3.1.1-2.docx
  • 背诵5个优化方向(选3):①网络优化 ②检索效率 ③本地处理 ④闹钟提醒 ⑤语音识别
  • 做 上网素材/3.1.2/ ~ 3.1.3/ 变体
C 4.2.1 智能零售数据采集 5分

Day 17 — 背模板(5分钟搞定)

  • 阅读 practices/4.2.1_.../example.ipynb
  • 背诵6段方案:①数据源(POS/会员/库存/反馈/外部) ②采集方法(API/传感器/问卷) ③预处理(清洗/标准化/整合) ④安全合规(加密/访问控制/匿名化) ⑤存储(云/备份) ⑥分析(建模/可视化/报告)
  • 限时5分钟默写完整方案
📖 理论知识第一轮

Day 18-20

  • Day 18:系统学习 第3部分_理论知识复习题.docx(上半部分),标记错题
  • Day 19:完成理论复习题(下半部分),标记错题
  • Day 20:限时做 第5部分_理论知识模拟试卷.docx
  • 统计正确率,重点:职业定义、监督/非监督学习、数据预处理、评估指标

✅ 阶段二检查点

  • 2.1.1 代码+清洗标注规范能独立完成
  • 3.1.1 分析报告+优化方案模板熟练
  • 4.2.1 方案模板能5分钟默写
  • 理论第一轮完成,正确率已统计
🔥 阶段三:全真模拟与交叉训练 (Day 21-27)

Day 21 — 全真模拟1

  • 严格120分钟,6题连做,不参考资料
  • 做题顺序:4.2.1→1.1.1→2.1.1→2.2.1→3.1.1→3.2.1
  • 对照第6部分答案逐条评分,记录每题得分、用时、失分原因

Day 22-23 — 薄弱环节+变体训练

  • 针对模拟1失分情况专项练习
  • 变体训练:上网素材/1.1.4/ 1.1.5/
  • 变体训练:上网素材/2.1.3/ 2.1.4/
  • 变体训练:上网素材/2.2.3/ 2.2.4/ 3.1.4/ 3.1.5/ 3.2.4/ 3.2.5/

Day 24 — 全真模拟2

  • 严格120分钟,争取100分钟完成
  • 重点检查:文件命名正确?输出文件齐全?截图保存?
  • 与模拟1对比进步

Day 25-26 — 理论知识强化

  • Day 25:重做第一轮错题 + 弱项知识点扩展
  • Day 26:限时做第5部分_模拟试卷第二遍,目标 >85%

Day 27 — 全真模拟3

  • 目标:100分钟内完成,总分 >85
  • 配合考试平台模拟界面HTML还原真实考试体验

✅ 阶段三检查点

  • 操作技能模拟得分 >85分
  • 操作技能能在100分钟内完成
  • 理论模拟题正确率 >85%
  • 每种题型至少做过3个变体
🏁 阶段四:考前冲刺 (Day 28-30)

Day 28 — 代码模板快速默写

  • 1.1.1 模板(8min):read_csv→np.where→value_counts→pd.cut(BMI)→groupby→pd.cut(年龄)→groupby
  • 2.1.1 模板(6min):read_csv→isnull→dropna→to_numeric→StandardScaler→train_test_split→to_csv
  • 2.2.1 模板(8min):read_csv→drop→split→LogisticRegression→fit→pickle.dump→predict→report→SMOTE→refit
  • 3.2.1 模板(6min):preprocess_image→InferenceSession→Image.open→preprocess→session.run→softmax→argsort

Day 29 — 文档模板默写+理论收尾

  • 2.1.1 清洗标注规范(5min):清洗5点 + 标注7点
  • 2.2.1 测试报告(5min):性能表 + 错误分析 + 改进建议
  • 3.1.1 分析+优化(8min):三维分析 + 3个优化方向
  • 3.2.1 人机交互(3min):11个要点
  • 4.2.1 采集方案(3min):6段模板
  • 理论错题最后一轮回顾

Day 30 — 考前最终准备

  • 考生文件夹命名确认:准考证号+身份证号后六位
  • 1.1.1 → 1.1.1-1.jpg / 1.1.1-2.jpg / 1.1.1-3.jpg
  • 2.1.1 → 2.1.1_cleaned_data.csv / 2.1.1.docx / 2.1.1.html
  • 2.2.1 → model.pkl / results.txt / report.txt / results_xg.txt / .docx / .html
  • 3.1.1 → 3.1.1-1.docx(分析) / 3.1.1-2.docx(优化)
  • 3.2.1 → 3.2.1-1.jpg(截图) / 3.2.1.docx(交互)
  • 4.2.1 → 4.2.1.docx
  • Python + 所有依赖包已安装 + Jupyter正常运行
  • 准考证、身份证准备好
  • 再看一遍HTML模拟页面熟悉考试界面
💻 考试代码速查

1.1.1 完整代码(25分)

import pandas as pd
import numpy as np

data = pd.read_csv('patient_data.csv')                                    # 1分
data['RiskLevel'] = np.where(data['DaysInHospital'] > 7, '高风险患者', '低风险患者')  # 3分
risk_counts = data['RiskLevel'].value_counts()                            # 2分
high_risk_ratio = risk_counts['高风险患者'] / len(data)                    # 1分
low_risk_ratio = risk_counts['低风险患者'] / len(data)                     # 1分

bmi_bins = [0, 18.5, 24, 28, np.inf]
bmi_labels = ['偏瘦', '正常', '超重', '肥胖']
data['BMIRange'] = pd.cut(data['BMI'], bins=bmi_bins, labels=bmi_labels, right=False)  # 4分
bmi_risk_rate = data.groupby('BMIRange')['RiskLevel'].apply(
    lambda x: (x == '高风险患者').mean())  # 2分
bmi_patient_count = data['BMIRange'].value_counts()                       # 1分

age_bins = [0, 26, 36, 46, 56, 66, np.inf]
age_labels = ['≤25岁', '26-35岁', '36-45岁', '46-55岁', '56-65岁', '>65岁']
data['AgeRange'] = pd.cut(data['Age'], bins=age_bins, labels=age_labels, right=False)  # 4分
age_risk_rate = data.groupby('AgeRange')['RiskLevel'].apply(
    lambda x: (x == '高风险患者').mean())  # 2分
age_patient_count = data['AgeRange'].value_counts()                       # 1分

2.2.1 完整代码(20分)

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
import pickle
from sklearn.metrics import classification_report
from imblearn.over_sampling import SMOTE

data = pd.read_csv('finance数据集.csv')
X = data.drop(['SeriousDlqin2yrs', 'Unnamed: 0'], axis=1)
y = data['SeriousDlqin2yrs']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

model = LogisticRegression(max_iter=1000)
model.fit(X_train, y_train)
with open('2.2.1_model.pkl', 'wb') as file:
    pickle.dump(model, file)

y_pred = model.predict(X_test)
pd.DataFrame(y_pred, columns=['预测结果']).to_csv('2.2.1_results.txt', index=False)
report = classification_report(y_test, y_pred, zero_division=1)
with open('2.2.1_report.txt', 'w') as file:
    file.write(report)

# SMOTE 过采样纠正
smote = SMOTE(random_state=42)
X_resampled, y_resampled = smote.fit_resample(X_train, y_train)
model.fit(X_resampled, y_resampled)
y_pred_resampled = model.predict(X_test)
pd.DataFrame(y_pred_resampled, columns=['预测结果']).to_csv('2.2.1_results_xg.txt', index=False)

3.2.1 完整代码(20分)

import onnxruntime as ort
import numpy as np
import scipy.special
from PIL import Image

def preprocess_image(image, resize_size=256, crop_size=224,
                     mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]):
    image = image.resize((resize_size, resize_size), Image.BILINEAR)
    w, h = image.size
    left = (w - crop_size) / 2
    top = (h - crop_size) / 2
    image = image.crop((left, top, left + crop_size, top + crop_size))
    image = np.array(image).astype(np.float32)
    image = image / 255.0
    image = (image - mean) / std
    image = np.transpose(image, (2, 0, 1))
    image = image.reshape((1,) + image.shape)
    return image

session = ort.InferenceSession('resnet.onnx')                            # 2分
with open('labels.txt') as f:
    labels = [line.strip() for line in f.readlines()]
input_name = session.get_inputs()[0].name
output_name = session.get_outputs()[0].name
image = Image.open('img_test.jpg').convert('RGB')                         # 2分
processed_image = preprocess_image(image).astype(np.float32)              # 2分
output = session.run([output_name], {input_name: processed_image})[0]     # 2分
probabilities = scipy.special.softmax(output, axis=-1)                    # 2分
top5_idx = np.argsort(probabilities[0])[-5:][::-1]                        # 2分
top5_prob = probabilities[0][top5_idx]
for i in range(5):
    print(f"{i+1}: {labels[top5_idx[i]]} - Probability: {top5_prob[i]}")
📋 考试注意事项

建议做题顺序

顺序 题目 时间/分值 说明
1 4.2.1 10min/5分 纯文档,快速热手
2 1.1.1 30min/25分 分最高优先保
3 2.1.1 20min/15分 流程固定
4 2.2.1 20min/20分 步骤最多
5 3.1.1 20min/15分 背模板
6 3.2.1 20min/20分 需默写代码

文件输出清单

题目 必须提交的文件
1.1.1 1.1.1-1.jpg 1.1.1-2.jpg 1.1.1-3.jpg
2.1.1 2.1.1_cleaned_data.csv 2.1.1.docx 2.1.1.html
2.2.1 2.2.1_model.pkl results.txt report.txt results_xg.txt .docx .html
3.1.1 3.1.1-1.docx(分析) 3.1.1-2.docx(优化)
3.2.1 3.2.1-1.jpg(截图) 3.2.1.docx(交互)
4.2.1 4.2.1.docx

代码易错点

  • pd.cut 必须加 right=False(左闭右开)
  • LogisticRegression 必须加 max_iter=1000
  • classification_report 必须加 zero_division=1
  • preprocess_image 中 mean/std 是固定值,不要改
  • 保存结果用 pd.DataFrame(y_pred, columns=['预测结果']).to_csv()
技能掌握自评
技能点 题目 分值 掌握程度
np.where + pd.cut + groupby 1.1.1 25分
LogisticRegression + pickle + SMOTE 2.2.1 20分
ONNX推理 + 图像预处理 3.2.1 20分
数据清洗 + StandardScaler 2.1.1 15分
数据分析报告 + 优化方案 3.1.1 15分
数据采集方案文档 4.2.1 5分
classification_report解读 2.2.1
清洗/标注规范文档 2.1.1
理论知识(职业定义/ML/评估) 理论卷