机器学习-周志华-课后习题-第2章 模型评估与选择

本文通过具体案例介绍了机器学习评估中的留出法、交叉验证法及各项评价指标的计算方法,包括F1值、BEP值、真正例率、假正例率、查准率与查全率等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2.1 数据集包含1000个样本,其中500个正例、500个反例,将其划分为包含70%样本的训练集和30%样本的测试集用于留出法评估,试估算共有多少种划分方法。
解:考虑到数据分布的一致性,训练集应包含350个正例和350个反例;
因此,划分方法有 C_500^350∙C_500^350 种。

2.2 数据集包含100个样本,其中正、反例各一半,假定学习算法所产生的模型是将新样本预测为训练样本数较多的类别(训练样本数相同时进行随机猜测),试给出用10折交叉验证法和留一法分别对错误率进行评估所得的结果。
解:(1)10折交叉验证法
由于正反例数目相同,错误率为50%
(2)留一法
假定留下的是正例,那么训练集中正例为50,负例为49,判断最后一个为正例的概率为50/99,即错误率为50/99.

2.3 若学习器A的F1值比学习器B高,试析A的BEP值是否也比B高。
解:BEP是查准率P与查全率R相等时的取值,F1则为P与R的调和平均。
根据1/F1 =1/2∙(1/P+1/R),且F1>F2,显然BEPA>BEPB。

2.4 试述真正例率(TPR)、假正例率(FPR)与查准率(P)、查全率(R)之间的联系。
解:真正例率是所有真实正例中真正例的比例;
假正例率是所有真实反例中假正例的比例;
查准率是所有预测正例中真正例的比例;
查全率是所有真实正例中真正例的比例;
所以查全率与真正例率相等 , R=TPR

2.5

### 周志华机器学习》第二课后习题答案 #### 2.10 Friedman检验中使用式(2.34) 和 (2.35) 的区别 Friedman检验是一种非参数统计方法,适用于多组相关样本之间的差异分析。当处理多个模型在同一测试集上的性能评估时尤为有用。 - **式(2.34)** 主要用于计算各算法排名的平均及其方差,从而构建出一个衡量不同算法之间相对表现的标准。具体来说,该公式帮助量化每种算法在整个实验中的总体表现位置[^3]。 - **式(2.35)** 则进一步利用上述得到的信息来决定是否存在显著性的差别。通过引入临界的概念,可以据此判断所观察到的表现差距是否超出了随机波动所能解释的程度之外。如果实际计算所得的结果超过了设定好的阈,则说明至少有两个被比较的对象间确实存在明显不同的效果。 为了更直观理解这两个公式的应用过程以及它们各自的作用: ```python import numpy as np from scipy.stats import friedmanchisquare # 示例数据:假设有三个分类器A、B、C分别在五个数据集上进行了测试 data = [ [87, 92, 85], # 数据集1上的准确率 [89, 90, 88], [91, 93, 86], [88, 91, 87], [90, 94, 89] ] chi_statistic, p_value = friedmanchisquare(*np.array(data).T) print(f"Chi-square statistic: {chi_statistic}") print(f"P-value: {p_value}") if p_value < 0.05: print("At least two classifiers have significantly different performances.") else: print("No significant difference among classifier performances.") ``` 这段Python代码展示了如何运用SciPy库执行Friedman检验,并依据返回的卡方统计量和P做出结论。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值