黑马程序员技术交流社区

标题: 【上海校区】python机器学习----模型选择1(方法、指标) [打印本页]

作者: 不二晨    时间: 2018-8-6 09:55
标题: 【上海校区】python机器学习----模型选择1(方法、指标)
一、模型选择的方法及相关指标

1、损失函数通常有0-1损失,平方损失,绝对值损失和对数损失

2、通常用测试集对模型评估,评估的方法有留出法,交叉验证法,留一法,自助法

#留出法:直接将数据分为对立的三部分(也可以是两部分,此时训练集也是验证集),在训练集上训练模型,在验证集上选择模型,最后用测试集上的误差作为泛化误差的估计,数据集划分尽量保持数据分布一致,可以用分层采样来保持比例,通常采用多次随机划分,取平均值值作为留出法的评估结果

#交叉验证法:K折交叉验证将数据集分为个大小相同互不相交的子集,每次用其中一个子集作为测试集,求误差均值作为泛化误差的估计
# 留一法:是K=N时交叉验证集的一个特例,每次用一个样本测试,结果较准确,数据集大的时候计算量大
# 自助法:有放回的重复独立采样,总的数据集中约有63.2%的样本会出现在采样集中,数据集较小时使用合适

3、评估指标:
# 1.混淆矩阵
# 2.P-R曲线(查准率/精确率、查全率/召回率)以及precision和recall调和平均f1
# 3.ROC图(AUC值,真正率-假正率)AR=2AUC-1
# 4.准确率accuracy(类别不平衡时不适合使用此评估指标)
# 5.区分能力KS值等

二、slearn中模型选择的运用(一)损失函数、数据集划分(二)分类问题评估指标详解

#sklearn中提供了三种方式来评估模型的预测性能
# 1.学习器.score方法
# 2.model_selection(旧版本在cross_validation中)中模型评估工具如cross_val_score,上面已讲
# 3. metrics中各种评估指标
# 接下来演示metrics中提供的评估指标

1、分类问题评估指标主要有:

(1)accuracy(不适用于分类不平衡问题)

(2)精确率(查准率)precision

(3)召回率(查全率)recall

  (4) f1(precision和recall调和平均)

(5)fbeta:fbeta 比precision多出参数beta,beta=1时,fbeta=f1;beta趋近于0时,fbeta趋近于precision;beta趋近+∞,fbeta趋近于Recall

   2、分类问题评估指标综合输出或可视化

(1)classification_report :生成分类评估指标precison、recall、f1-score的总体报告

结果

(2)混淆矩阵confusion matrix

  (3)P_R图

(4)AUC



3、回归问题评估指标

主要有绝对误差(mean_absolute_error),均方误差mean_squared_erro




作者: 不二晨    时间: 2018-8-9 13:15
奈斯
作者: getMax    时间: 2018-11-12 18:29
长见识了,多谢分享




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2