西瓜书(机器学习_周志华)课后题答案

本文探讨了机器学习中交叉验证的方法,如10折交叉验证与留一法,并详细解释了真正例率、假正例率、查全率与查准率等评估指标的概念及其相互关系。

我自己瞎做的、多多交流

 答案:

 

 答案:

采用10折交叉验证,因为取样是随机的,所以获得的结果是50%

如果采用留一法,不管最后留下来是正例还是反例,都会和预测结果不一致,(如果留下正例,预测集中反例占多数,预测结果为反例,反之亦然),所以对错误率进行评估的结果是100%

 答案:

 

 答案:

真正例率:正例中被预测为正例的比例   TP/(TP+FN)

假正例率:假例中被预测为正例的比例  EP/(EP+TN)

查全率(R/召回率):TP/(TP+FN) 也是正例中被预测为正例的比例

查准率(P/):TP/(TP+FP)  正例占所有被预测为正例的比例

真正例率在数值上等于查全率

`百度百科:`查全率与查准率为互逆相关性,查全率一般为60%~70%,查准率约为40%~50%,当查全率超过70%时,若想再提高查全率就必然降低查准率。

先不写了,改天有时间再接着写

 

### 周志华机器学习》第二章课后答案 #### 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值做出结论。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值