机器学习--scikit-learn(3)--交叉验证

这篇文章记录的是如何对模型进行交叉验证。

首先要简单了解一下,什么是交叉验证,对一个模型好与坏的检测指标有哪些?

1.什么是交叉验证?

交叉验证就是不单单把数据集分成测试集和训练集,而是把数据集分成n组,每一组中都有训练集和测试集,每一组都会得到一个score,这个score可以是准确性(accuracy),也可以是MSE(标准均方误差)等。

例子回到第一篇文章中讲到的花的分类,最简单的是利用train_test_split将数据集分成了测试集与训练集。

现在我们要对此例子进行进阶,讨论当knn中的参数n_neighbors为多少时此分类模型的准确率最高。当然k折交叉验证(将数据划分为多少个集合就是k折)只是验证方式中的一种,还有其他的后续学习时再提。

from sklearn import datasets
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import cross_val_score
import matplotlib.pyplot as plt

#加载数据
iris = datasets.load_iris()
iris_x = iris.data
iris_y = iris.target

#将参数k范围规定在1-30
k_range = range(1,30)
k_scores = []
for k in k_range:
    knn =KNeighborsClassifier(n_neighbors=k)
    scores &#
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值