AI训练师三级实操 - 考试策略

考试时间:5/30 09:00 | 总分100分 | 6个模块随机抽题

战略判定
必拿满分(红):1.1 + 2.2 + 3.2 = 65分 1.1(25分)是最高分模块,考 pandas 基础操作,模式固定,练熟5个变体即可拿满。2.2(20分)模型训练流程高度标准化(读取→分割→训练→预测→保存),套路一致。3.2(20分)ONNX 推理也是固定模式,记住预处理和推理的代码模板即可。三个模块占总分65%,是及格的生命线。
重点准备(黄):2.1 = 15分 特征工程与1.1、2.2高度重叠(都有 read_csv、dropna、train_test_split、to_csv),学1.1和2.2时自然覆盖大部分知识点。额外需要掌握 StandardScaler、MinMaxScaler、LabelEncoder 的用法。
可轻松拿(灰):3.1 + 4.x = 20分 3.1(15分)是 Excel 操作,不写代码,熟悉 VLOOKUP 和数据透视表即可。4.x(5分)写教案/培训计划,考前背模板即可。都不需要 Python 编程,性价比高但不要花太多时间准备。
必拿满分 1.1 数据处理 25分
填空式 找Bug式 改错式
常见Bug陷阱: pd.cut(['BMI'], ...) 应为 pd.cut(data['BMI'], ...)data.['col'] 应为 data['col']value_counts 漏写括号; data.isnull.sum() 应为 data.isnull().sum()
5个变体数据集:
1.1.1 patient_data(患者风险分级)
1.1.2 sensor_data(传感器统计+异常值填充)
1.1.3 credit_data(信贷数据合理性审核+between验证)
1.1.4 user_behavior(数据采集+Z-score标准化)
1.1.5 vehicle_traffic(交通数据+多字段合理性审核)
必拿满分 2.2 模型训练 20分
填空式 完整代码
万能模型训练模板(背下来):
model = ModelClass(参数)
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
train_score = model.score(X_train, y_train)
test_score = model.score(X_test, y_test)
with open('model.pkl', 'wb') as f: pickle.dump(model, f)
5个变体的模型:
2.2.1 LogisticRegression + SMOTE(金融分类)
2.2.2 LinearRegression → Pipeline(StandardScaler+LR) → RandomForestRegressor(油耗回归)
2.2.3 RandomForestRegressor → XGBRegressor(健身数据回归)
2.2.4 LinearRegression → XGBRegressor(低碳生活回归)
2.2.5 DecisionTreeRegressor(步数回归)
注意:2.2.1 用 SMOTE 处理不平衡数据,需额外安装 imblearn;2.2.2 的 Pipeline 写法是 Pipeline([('scaler', StandardScaler()), ('lr', LinearRegression())]),注意 LinearRegression() 要加括号
必拿满分 3.2 图片识别(ONNX) 20分
填空式 找Bug式
ONNX 推理万能模板(背下来):
import onnxruntime as ort
session = ort.InferenceSession('model.onnx')
input_name = session.get_inputs()[0].name
output = session.run(None, {input_name: input_data})
pred = np.argmax(output[0])
三种归一化策略:
ImageNet: (img/255.0 - [0.485,0.456,0.406]) / [0.229,0.224,0.225]
MNIST: 直接 float32,不归一化
SSD检测: (img - np.array([127,127,127])) / 128
5个变体:
3.2.1 ResNet图像分类(完整参考答案,无填空)
3.2.2 MNIST数字识别(多拼写错误:expend_dims→expand_dimsort_seesion→ort_sessionget_input→get_inputs
3.2.3 情感识别FERPlus(灰度64×64,填空7处)
3.2.4 花卉分类(与3.2.1同结构,填空7处)
3.2.5 人脸检测SSD(OpenCV预处理,目标检测+画框)
拼写错误陷阱: expend_dimsexpand_dimsort_seesionort_sessionget_inputget_inputsort.sessionort_sessionInferenceSession缺少('model.onnx')
重点准备 2.1 特征工程 15分
填空式 找Bug式 完整代码
与1.1和2.2重叠度极高! read_csv、dropna、train_test_split、to_csv 在1.1和2.2已经练过。本模块额外需要掌握的是特征缩放(三种Scaler)和编码方法。
5个变体:
2.1.1 auto-mpg(StandardScaler,找Bug:isnull.sumisnull().sumdropmadropna
2.1.2 低碳生活Excel(pd.read_excel,全填空)
2.1.3 finance数据集(IQR+MinMaxScaler,全填空)
2.1.4 医疗数据(完整代码,含日期处理、改名、画图)
2.1.5 健康咨询(LabelEncoder,找Bug:drop_dumplicatesdrop_duplicatesdata.filleddata_filled
轻松拿分 3.1 Excel 操作 15分
不需要写代码! 考的是 Excel 操作。如果平时用 Excel 不多,考前花 1-2 小时练习 VLOOKUP 语法和数据透视表创建流程即可。15分性价比很高。
轻松拿分 4.x 培训指导 5分
只值5分,不要花超过30分钟准备。 背一个通用模板:培训名称→目标→内容→方法→时间→评估。按题目的场景套模板即可。
16小时复习计划
时段 模块 时长 任务
第1-3h 1.1 数据处理 3h 逐个运行5个notebook变体。重点练:pd.cutgroupbybetweenvalue_counts。每道题独立写完再对答案。
第3-5.5h 2.2 模型训练 2.5h 背万能模板,练习5个变体。重点:模型创建+训练+预测+保存。掌握 LogisticRegression、LinearRegression、RandomForest、DecisionTree 的写法。
第5.5-7.5h 3.2 图片识别 2h 背ONNX推理模板,练习5个变体。重点:InferenceSessionsession.runnp.expand_dims、图像预处理流程。特别注意拼写错误陷阱。
第7.5-9h 2.1 特征工程 1.5h 大部分知识已在1.1和2.2中覆盖。额外练:StandardScaler、MinMaxScaler、LabelEncoder、IQR异常值检测。
第9-10.5h 3.1 Excel 1.5h 打开5个Excel题目的docx文件,按要求练习 VLOOKUP 和数据透视表操作。
第10.5-11h 4.x 培训指导 0.5h 看2-3道4.x的docx题目,理解答题格式,记住模板结构。
第11-14h 模拟考试 3h 从每个模块随机挑1个变体,限时完成全部6个模块。模拟真实考试节奏,记录每个模块耗时。
第14-16h 查漏补缺 2h 根据模拟考暴露的薄弱点针对性练习。重点复习容易出错的拼写Bug和容易忘的参数(如 index=False、random_state=42)。
跨模块通用代码速查
数据读取:
pd.read_csv('file.csv')
pd.read_excel('file.xlsx')

数据清洗:
data.isnull().sum()   缺失值统计
data.duplicated().sum()   重复值统计
data.dropna()   删缺失行
data.drop_duplicates()   删重复行
data['col'].fillna(method='ffill')   前向填充
data['col'].astype(int)   类型转换
pd.to_numeric(data['col'], errors='coerce')

数据操作:
pd.cut(data['col'], bins=[...], labels=[...], right=False)
data['col'].value_counts()
data.groupby('col')['val'].mean()
data['col'].between(low, high)
np.where(condition, val_true, val_false)

特征缩放:
StandardScaler().fit_transform(data[cols])
MinMaxScaler().fit_transform(data[cols])
LabelEncoder().fit_transform(data['col'])

模型训练:
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
model.score(X_test, y_test)
with open('model.pkl','wb') as f: pickle.dump(model, f)

ONNX推理:
session = ort.InferenceSession('model.onnx')
input_name = session.get_inputs()[0].name
output = session.run(None, {input_name: data})
np.argmax(output[0])

保存:
data.to_csv('file.csv', index=False)
pd.DataFrame(y_pred, columns=['预测结果']).to_csv('results.txt', index=False)