Predictive Modeling
预测建模使用历史数据训练模型,以估计未知或未来的结果。涵盖工作流程、模型类型、评估、应用和代码。
预测建模是指利用历史数据构建统计模型或机器学习模型,以估计未知或尚未发生的结果,例如客户是否会取消服务、商店下周能卖出多少商品,或者扫描结果是否显示疾病。模型会从过去的示例中学习输入特征与已知结果之间的关系,这属于监督学习的一种形式;随后,模型将这种关系应用于新案例,通常会返回预测值以及概率或取值范围。预测分析是将这些模型用于营销、金融、运营和医疗保健决策的业务实践,介于总结已发生情况的描述性分析和建议应采取哪些行动的规范性分析之间。
预测建模工作流#
项目首先要定义目标和预测结果将影响的决策,然后收集历史示例,这些示例的输入必须是在当时做出预测时已知的。特征工程会将原始记录转换为模型输入,数据则会拆分为训练集、验证集和测试集。预测问题会按时间拆分数据,确保评估模型所用的时段晚于模型学习的时段;如果此时随机拆分,或者使用了任何编码答案的特征,就会导致数据泄漏和评分虚高。候选模型会与简单基线模型在留出数据上进行比较;部署后还要监控数据漂移,因为随着现实情况变化,模型学到的关系会逐渐减弱。
评估时要使用与决策相匹配的指标:分类器使用精确率、召回率和 ROC 曲线下面积,数值预测则使用平均绝对误差 (MAE) 或均方根误差。交叉验证通过对多个训练集-测试集划分的结果取平均,来估计模型在小型数据集上的性能。此示例使用 scikit-learn 根据患者的基线测量值预测其一年后的糖尿病病情进展,并将两个模型与始终预测平均值的基线进行比较:
from sklearn.datasets import load_diabetes
from sklearn.dummy import DummyRegressor
from sklearn.ensemble import HistGradientBoostingRegressor
from sklearn.linear_model import Ridge
from sklearn.model_selection import cross_val_score
# 442 patients: 10 baseline measurements and disease progression one year later
X, y = load_diabetes(return_X_y=True)
models = {
"Baseline (always predict the mean)": DummyRegressor(),
"Ridge regression": Ridge(alpha=0.1),
"Gradient-boosted trees": HistGradientBoostingRegressor(max_depth=3, random_state=0),
}
for name, model in models.items():
# Mean absolute error on held-out folds of 5-fold cross-validation
scores = cross_val_score(model, X, y, cv=5, scoring="neg_mean_absolute_error")
print(f"{name}: MAE {-scores.mean():.1f}")基线模型的预测平均偏差为 66.0 个进展评分点,岭回归为 44.6,梯度提升树为 46.5,因此两个模型都将误差降低了约三分之一;在这 442 名患者的数据上,较简单的线性模型准确率更高。
预测模型的类型#
预测模型根据所估计的结果有所不同。分类模型(例如逻辑回归和决策树)会预测类别,通常还会预测其概率。回归模型(例如线性回归)会预测数值。时间序列预测模型会根据序列本身的历史值、季节性和外部影响因素预测未来值;生存模型则会预测机器故障等事件发生前的时间,也会处理事件尚未发生的情况。对于表格数据,常用算法包括正则化线性模型和随机森林、XGBoost 等树集成模型;神经网络则在图像、音频和文本任务中占主导地位;表格基础模型则无需针对每个数据集单独训练模型,就能对新表格进行预测。
计算机视觉中的预测建模#
视觉模型是输入为像素的预测模型。YOLO26处于预测模式时,会为图像中的每个目标返回预测类别、置信度分数和边界框坐标;根据这些预测得到的目标数量通常会成为下游预测的输入特征,例如用于排班的每小时客流量。
应用场景#
- 预测性维护:根据振动、温度和运行时间数据训练的模型会估计部件何时发生故障,以便在故障发生前进行维修,而不是按照固定计划维修。
- 医疗保健:风险模型会根据患者记录估计再入院或败血症的概率;影像模型则会标记可能存在的病灶,供放射科医生优先查看。
- 信用和欺诈评分:银行会预测借款人违约或银行卡交易属于欺诈的概率,并在每笔银行卡交易获批时实时进行评分。
- 需求和库存规划:零售商根据历史数据、价格、促销活动和节假日预测每家门店每种商品的销量,以决定订购多少库存。










