题目
数据集包含100个样本,其中正、反例各一半,假定学习算法所产生的模型是将新样本预测为训练样本数较多的类别(训练样本数相同时进行随机猜测),试给出用10折交叉验证法和留一法分别对错误率进行评估所得的结果
数据集包含100个样本,其中正、反例各一半,假定学习算法所产生的模型是将新样本预测为训练样本数较多的类别(训练样本数相同时进行随机猜测),试给出用10折交叉验证法和留一法分别对错误率进行评估所得的结果
题目解答
答案
10折交叉验证法:
将数据集分成10份,每次选取其中的9份作为训练集,剩余的1份作为测试集。
在每次划分中,用训练集训练模型,并使用该模型对测试集进行预测。
统计预测错误的样本数,计算错误率。
最终的错误率为10次测试的错误率的平均值。
留一法:
将数据集中的每个样本作为测试样本,其余样本作为训练集。
在每次划分中,用训练集训练模型,并使用该模型对测试样本进行预测。
统计预测错误的样本数,计算错误率。
最终的错误率为错误样本数除以总样本数。
根据题目中给出的条件,模型将新样本预测为训练样本数较多的类别。由于正、反例各一半,所以模型将所有新样本都预测为正例。因此,错误率为反例样本数除以总样本数。
根据题目给出的数据集有100个样本,正、反例各一半,所以正例和反例各有50个样本。错误率为反例样本数除以总样本数,即50/100=0.5。
所以,用10折交叉验证法和留一法分别对错误率进行评估所得的结果都是0.5。
解析
步骤 1:理解数据集和模型
数据集包含100个样本,其中正例和反例各占一半,即各有50个样本。模型将新样本预测为训练样本数较多的类别,如果训练样本数相等,则进行随机猜测。
步骤 2:10折交叉验证法
10折交叉验证法将数据集分成10份,每次选取其中的9份作为训练集,剩余的1份作为测试集。由于正、反例各占一半,每次训练集和测试集的正、反例比例也大致相同。因此,模型将所有新样本都预测为正例,错误率为反例样本数除以总样本数。由于每次测试集的样本数为10,其中正、反例各5个,所以每次测试的错误率为5/10=0.5。最终的错误率为10次测试的错误率的平均值,即0.5。
步骤 3:留一法
留一法将数据集中的每个样本作为测试样本,其余样本作为训练集。由于正、反例各占一半,每次训练集和测试集的正、反例比例也大致相同。因此,模型将所有新样本都预测为正例,错误率为反例样本数除以总样本数。由于每次测试样本数为1,其中正、反例各占一半,所以每次测试的错误率为0.5。最终的错误率为错误样本数除以总样本数,即50/100=0.5。
数据集包含100个样本,其中正例和反例各占一半,即各有50个样本。模型将新样本预测为训练样本数较多的类别,如果训练样本数相等,则进行随机猜测。
步骤 2:10折交叉验证法
10折交叉验证法将数据集分成10份,每次选取其中的9份作为训练集,剩余的1份作为测试集。由于正、反例各占一半,每次训练集和测试集的正、反例比例也大致相同。因此,模型将所有新样本都预测为正例,错误率为反例样本数除以总样本数。由于每次测试集的样本数为10,其中正、反例各5个,所以每次测试的错误率为5/10=0.5。最终的错误率为10次测试的错误率的平均值,即0.5。
步骤 3:留一法
留一法将数据集中的每个样本作为测试样本,其余样本作为训练集。由于正、反例各占一半,每次训练集和测试集的正、反例比例也大致相同。因此,模型将所有新样本都预测为正例,错误率为反例样本数除以总样本数。由于每次测试样本数为1,其中正、反例各占一半,所以每次测试的错误率为0.5。最终的错误率为错误样本数除以总样本数,即50/100=0.5。