python假分数约分后输出_交叉验证后的Scikitlearn分数数据集

下面是一个代码,它通过逐步解释它的工作原理来完成任务。在

首先,让我们导入必要的模块:In [204]: from sklearn.model_selection import cross_val_score, StratifiedKFold

In [205]: from sklearn import datasets

In [206]: from sklearn import svm

您应该确保已经安装了scikit learn 0.18,否则以下代码可能无法工作。请注意,我使用的是sklearn.model_selection,而不是{},因为后者在0.18版本中已被弃用。在

然后我们加载iris数据集,并分别使用特征和标签创建数组X和{}

^{2}$

在下一步中,我们将创建一个C-Support Vector Classification类的实例:In [209]: clf = svm.SVC(kernel='linear', C=1)

现在我们创建了一个分层的K-Folds验证器,它将数据集分成5个不相交的子集,即a、B、C、D和E。这五个折叠是分层的,这意味着a、B、C、D和E中每个类的样本比例与整个数据集中相同。在In [210]: skf = StratifiedKFold(n_splits=5, random_state=0)

最后,我们通过5次分类试验来估计泛化精度:In [211]: scores = cross_val_score(clf, X, y, cv=skf)

In [212]: scores

Out[212]: array([ 0.9667, 1. , 0.9667, 0.9667, 1. ])

In [213]: scores.mean()

Out[213]: 0.98000000000000009

5倍交叉验证总结如下:Classification No. Training Samples Test Samples Accuracy

1 A + B + C + D E 0.9667

2 A + B + C + E D 1.

3 A + B + D + E C 0.9667

4 A + C + D + E B 0.9667

5 B + C + D + E A 1.

从上表中可以清楚地看出,每个样本用于培训四次,并且只测试一次。在

对您的其他评论的答复:交叉验证的主要优点是所有样本都用于培训和测试,即交叉验证为您提供了最大的建模和测试能力,这在数据集很小时尤为重要。在

避免过度拟合的一种方法是使用不同的样本进行训练和测试。在

选择模型参数的一种常见方法是针对不同的参数集验证模型,并选择使分类精度最大化的值。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值