一、简介 在机器学习中,评价方法和评价指标用于衡量模型在给定数据上的性能和预测能力。不同的任务和问题可能会选择不同的评价方法和评价指标。如准确率、召回率、均方误差、AUC等。 二、面经 1、请问模型常用的评估方法有哪些? 2、请问常用的评价指标有哪些? 3、你知道准确率(Accuracy)、精确率(Precision)、召回率(Recall)是怎么算的吗? 4、讲讲F1-score是怎么算的? 5、针对上面提到的一些指标,当训练集中类别不均衡,哪个最不准确? 6、ROC、AUC、PR曲线是什么关系? 7、AUC为什么比其他指标好? 8、AUC高是否一定说明auc高的模型排序能力更强?AUC对均匀正负样本采样不敏感? 9、AUC 值本身的理论上限是1吗? 10、AUC 与线上业务指标的宏观关系? 11、ROC曲线和PR曲线的区别?各自的适用场景? 三、面经参考回答 1、请问模型常用的评估方法有哪些? 参考回答:常用的评估方法包括以下几种: 训练集和测试集划分:将数据集划分为训练集和测试集,通常按照一定比例(如70%训练集,30%测试集)划分数据。训练集用于训练模型,测试集用于评估模型的性能和泛化能力。 交叉验证:K折交叉验证:将数据集划分为K个子集,依次选取其中一个子集作为验证集,剩余K-1个子集作为训练集,进行K次训练和测试,最后将K次评估结果取平均值。K折交叉验证可以更充分地利用数据集,得到更稳定的性能评估结果。留一交叉验证:特殊情况下,K折交叉验证中K等于数据集大小,即每次只留一个样本作为验证集。 自助法(Bootstrap):自助法是一种有放回的采样方法,从原始数据集中随机采样得到一个新的训练集,然后使用剩余样本作为测试集。由于自助法采样可能会产生多个相似的数据集,因此可以得到多个模型性能评估结果,通过取平均值来得到最终评估结果。 留出集法(Hold-out):将数据集划分为训练集、验证集和测试集三部分。训练集用于模型训练,验证集用于调参和模型选择,测试集用于评估模型在未知数据上的泛化能力。 时间序列交叉验证:对于时间序列数据,为了避免训练集包含未来的信息,常用的交叉验证方法有滚动交叉验证和时间序列分割交叉验证。 2、请问常用的评价指标有哪些? 参考回答:当评估机器学习模型的性能时,常用的评价指标根据任务类型可以分为以下几类: 分类任务评价指标: 准确率(Accuracy):分类正确的样本数占总样本数的比例。 精确度(Precision):真阳性样本数占所有被模型预测为正样本的样本数的比例。 召回率(Recall):真阳性样本数占所有真实正样本的样本数的比例。 F1分数(F1 Score):精确度和召回率的调和平均,用于综合考虑模型的准确性和召回性能。 ROC曲线和AUC:ROC曲线绘制了灵敏度(召回率)和特异度之间的关系,AUC用于度量ROC曲线的性能,越接近1表示模型性能越好。 回归任务评价指标: 均方误差(Mean Squared Error,MSE):预测值与真实值之间的平方差的均值。 平均绝对误差(Mean Absolute Error,MAE):预测值与真实值之间的绝对值差的均值。 R2分数(R-squared):模型预测值的方差占总方差的比例,越接近1表示模型拟合效果越好。 聚类任务评价指标: 轮廓系数(Silhouette Coefficient):衡量聚类的紧密性和分离性,越接近1表示聚类效果越好。 互信息(Mutual Information):衡量聚类结果与真实标签之间的信息量,越大表示聚类效果越好。 排序任务评价指标: 平均精确率(Mean Average Precision,MAP):对多个查询的平均精确率的平均值。 多标签分类任务评价指标: Hamming Loss:平均每个样本上错误的标签比例。 Jaccard Similarity Score:真实标签和预测标签的交集与并集之间的比例。 不同的评价指标适用于不同的任务和场景,根据具体的问题选择合适的评价指标是非常重要的。在实际应用中,通常需要综合考虑多个评价指标,并根据业务需求来选择最适合的评价指标。 3、你知道准确率(Accuracy)、精确率(Precision)、召回率(Recall)是怎么算的吗? 参考回答:先说一下含义:TP、FP、FN、TN分别为真阳性、假阳性和假阴性、真阴性。简单来说,就是: 真阳性(TP):标签为正类,预测为正类; 假阳性(FP):标签为负类,预测为正类; 真阴性(TN):标签为负类,预测为负类; 假阴性(FN):标签为正类,预测为负类; 准确率(Accuracy):T