sklearn 中 ShuffleSplit 函数 的详细使用方法 (机器学习)

简介: sklearn 中 ShuffleSplit 函数 的详细使用方法 (机器学习)

✌ ShuffleSplit函数的使用方法

1、✌ 原理

用于将样本集合随机“打散”后划分为训练集、测试集(可理解为验证集,下同)

类似于交叉验证

2、✌ 函数形式

ShuffleSplit(n_splits=10, test_size=’default’, train_size=None, random_state=None)

3、✌ 重要参数

n_splits:

划分数据集的份数,类似于KFlod的折数,默认为10份

test_size:

测试集所占总样本的比例,如test_size=0.2即将划分后的数据集中20%作为测试集

random_state:

随机数种子,使每次划分的数据集不变

4、✌ 代码示例

学习曲线就是通过画出不同训练集大小时训练集和交叉验证的准确率,可以看到模型在新数据上的表现,进而来判断模型是否方差偏高或偏差过高,以及增大训练集是否可以减小过拟合。

✌ 导库
from sklearn.datasets import load_digits # 导入手写数字集
from sklearn.model_selection import learning_curve # 导入学习曲线类
from sklearn.model_selection import learning_curve # 导入数据分割类
✌ 加载数据
fig,ax=plt.subplots(1,1,figsize=(6,6)) # 设置画布和子图
data=load_digits()
x,y=data.data,data.target # 加载特征矩阵和标签
✌ 画图
train_sizes,train_scores,test_scores=learning_curve(RandomForestClassifier(n_estimators=50),x,y,cv=ShuffleSplit(n_splits=50,test_size=0.2,random_state=0),n_jobs=4)
# 设置分类器为随机森林,x,y,cv为ShuffleSplit分割模式,cpu同时运算为4个
ax.set_ylim((0.7,1.1)) # 设置子图的纵坐标的范围为(0.7~1.1)
ax.set_xlabel("training examples") # 设置子图的x轴名称
ax.set_ylabel("score")
ax.grid() # 画出网图
ax.plot(train_sizes,np.mean(train_scores,axis=1),'o-',color='r',label='train score')
# 画训练集数据分数,横坐标为用作训练的样本数,纵坐标为不同折下的训练分数的均值
ax.plot(train_sizes,np.mean(test_scores,axis=1),'o-',color='g',label='test score')
ax.legend(loc='best') # 设置图例
plt.show()


目录
相关文章
|
5月前
|
机器学习/深度学习 算法 数据挖掘
机器学习之sklearn基础——一个小案例,sklearn初体验
机器学习之sklearn基础——一个小案例,sklearn初体验
115 6
|
26天前
|
机器学习/深度学习 算法 知识图谱
【机器学习】逻辑回归原理(极大似然估计,逻辑函数Sigmod函数模型详解!!!)
【机器学习】逻辑回归原理(极大似然估计,逻辑函数Sigmod函数模型详解!!!)
|
25天前
|
机器学习/深度学习 算法 PyTorch
【机器学习】揭开激活函数的神秘面纱
【机器学习】揭开激活函数的神秘面纱
|
25天前
|
机器学习/深度学习 算法 数据可视化
【机器学习】决策树------迅速了解其基本思想,Sklearn的决策树API及构建决策树的步骤!!!
【机器学习】决策树------迅速了解其基本思想,Sklearn的决策树API及构建决策树的步骤!!!
|
3月前
|
机器学习/深度学习 数据采集 算法
机器学习到底是什么?附sklearn代码
机器学习到底是什么?附sklearn代码
|
3月前
|
机器学习/深度学习
【机器学习】如何判断函数凸或非凸?(面试回答)
文章介绍了如何判断函数是凸函数还是非凸函数,包括凸函数的定义、几何意义、判定方法(一元函数通过二阶导数判断,多元函数通过Hessian矩阵的正定性判断),以及凸优化的概念和一些经典的凸优化问题。
140 1
【机器学习】如何判断函数凸或非凸?(面试回答)
|
3月前
|
机器学习/深度学习 人工智能 算法
"揭秘机器学习背后的魔法:函数的力量如何塑造智能预测的奇迹之旅"
【8月更文挑战第16天】机器学习是人工智能的关键分支,通过算法和统计模型使计算机能从数据中学习并预测。本文介绍核心函数的应用及实现:线性回归预测连续值;逻辑回归处理二分类问题;决策树依据简单规则分类或预测;支持向量机寻找最优边界分类。使用Python的`scikit-learn`库实现这些函数,帮助理解机器学习算法的工作原理及其应用场景。
60 1
|
3月前
|
机器学习/深度学习 数据采集 算法
如何使用机器学习神器sklearn做特征工程?
如何使用机器学习神器sklearn做特征工程?
|
4月前
|
机器学习/深度学习 数据采集 数据可视化
Sklearn入门指南:构建你的第一个机器学习模型
【7月更文第22天】在数据科学与机器学习领域,Scikit-learn(简称sklearn)是一个广泛使用的Python库,以其简洁的API和丰富的功能集而著称。本指南将引领你从安装到使用sklearn构建你的第一个机器学习模型,以一个简单的线性回归任务为例,逐步深入理解这个强大的工具。
89 2
|
5月前
|
机器学习/深度学习 数据采集 自然语言处理
机器学习之sklearn基础教程
机器学习之sklearn基础教程