当前位置:网站首页>cross_val_score的用法
cross_val_score的用法
2022-07-30 05:38:00 【向大厂出发】
from sklearn.model_selection import cross_val_scorecross_val_score(estimator, x, y=None, *, groups=None, scoring=None, cv=None, n_jobs=None, verbose=0, fit_params=None, pre_dispatch="2*n_jobs", error_score=np.nan)estimator:估计器,也就是模型
x, y:数据,标签值
soring:调用的方法
cv:交叉验证生成器或可迭代的次数
n_jobs:同时工作的cpu个数(-1代表全部)
verbose:日志冗长度,int:冗长度,0:不输出训练过程,1:偶尔输出,>1:对每个子模型都输出
fit_params:传递给估计器的拟合方法的参数
pre_dispatch:控制并行执行期间调度的作业数量。减少这个数量对于避免在CPU发送更多作业时CPU内存消耗的扩大是有用的。
pre_dispatch该参数可以是:
none,在这种情况下,所有的工作立即创建并产生。将其用于轻量级和快速运行的作业,以避免由于按需产生作业而导致延迟
一个int,给出所产生的总工作的确切数量
一个字符串,给出一个表达式作为n_jobs的函数,如'2 * n_jobs'常见的soring方法有
cv参数
当CV是整数时,cross_val_score默认使用KFold或StratifiedKFold策略,后者会在估计器派生ClassifierMixin时使用。
最后用一个例子调用交叉验证函数来进行模型的一个参数优化
from sklearn import datasets #自带数据集
from sklearn.model_selection import train_test_split,cross_val_score #划分数据 交叉验证
from sklearn.neighbors import KNeighborsClassifier #一个简单的模型,只有K一个参数,类似K-means
import matplotlib.pyplot as plt
iris = datasets.load_iris() #加载sklearn自带的数据集
X = iris.data #这是数据
y = iris.target #这是每个数据所对应的标签
train_X,test_X,train_y,test_y = train_test_split(X,y,test_size=1/3,random_state=3) #这里划分数据以1/3的来划分 训练集训练结果 测试集测试结果
k_range = range(1,31)
cv_scores = [] #用来放每个模型的结果值
for n in k_range:
knn = KNeighborsClassifier(n) #knn模型,这里一个超参数可以做预测,当多个超参数时需要使用另一种方法GridSearchCV
scores = cross_val_score(knn,train_X,train_y,cv=10,scoring='accuracy') #cv:选择每次测试折数 accuracy:评价指标是准确度,可以省略使用默认值,具体使用参考下面。
cv_scores.append(scores.mean())
plt.plot(k_range,cv_scores)
plt.xlabel('K')
plt.ylabel('Accuracy') #通过图像选择最好的参数
plt.show()
best_knn = KNeighborsClassifier(n_neighbors=3) # 选择最优的K=3传入模型
best_knn.fit(train_X,train_y) #训练模型
print(best_knn.score(test_X,test_y)) #看看评分边栏推荐
- My first understanding of MySql, and the basic syntax of DDL and DML and DQL in sql statements
- [Mysql] CONVERT function
- Error: npm ERR code EPERM
- JVM面试总结
- MySQL 数据库基础知识(系统化一篇入门)
- MySQL索引从入门到深入学习
- mysql 时间字段默认设置为当前时间
- mysql time field is set to current time by default
- 【小程序项目开发 -- 京东商城】uni-app 商品分类页面(下)
- 瑞吉外卖项目:新增菜品与菜品分页查询
猜你喜欢
随机推荐
Countdown (Source: Google Kickstart2020 Round C Problem A) (DAY 88)
分布式事务之 Atomikos 原理和使用(一)
Programmers make money and practice, teach you how to do paid courses, self-media, paid articles and paid technical courses to make money
mysql高阶语句(一)
[GLib] 什么是GType
[Image processing] Image skeleton extraction based on central axis transformation with matlab code
Docker-compose install mysql
使用DataEase开源工具制作一个高质量的数据大屏
MySql fuzzy query Daquan
留念 · 大学时代最后的系统设计图
navicat无法连接mysql超详细处理方法
[Other] DS5
4、nerf(pytorch)
微信小程序开发学习
idea设置自动带参数的方法注释(有效)
MySQL database basics (a systematic introduction)
My first understanding of MySql, and the basic syntax of DDL and DML and DQL in sql statements
期末作业C#实现学生宿舍管理系统
如何使用FirewallD限制网络访问
【飞控开发基础教程9】疯壳·开源编队无人机-PWM(电机控制)
![[GO语言基础] 一.为什么我要学习Golang以及GO语言入门普及](/img/ac/80ab67505f7df52d92a206bc3dd50e.png)








