python机器学习 train_test_split()函数用法解析及示例 划分训练集和测试集 以鸢尾数据为例 入门级讲解
文章目录
- train_test_split()用法
- 获取数据
- 划分训练集和测试集
- 完整代码脚手架
train_test_split()用法
python机器学习中常用 train_test_split()函数划分训练集和测试集,其用法语法如下:
- X_train, X_test, y_train, y_test = train_test_split(train_data, train_target, test_size, random_state, shuffle)
变量 | 描述 |
---|---|
X_train | 划分的训练集数据 |
X_test | 划分的测试集数据 |
y_train | 划分的训练集标签 |
y_test | 划分的测试集标签 |
参数 | 描述 |
---|---|
train_data | 还未划分的数据集 |
train_target | 还未划分的标签 |
test_size | 分割比例,默认为0.25,即测试集占完整数据集的比例 |
random_state | 随机数种子,应用于分割前对数据的洗牌。可以是int,RandomState实例或None,默认值=None。设成定值意味着,对于同一个数据集,只有第一次运行是随机的,随后多次分割只要rondom_state相同,则划分结果也相同。 |
shuffle | 是否在分割前对完整数据进行洗牌(打乱),默认为True,打乱 |
以sklearn库内置的iris数据集(鸢尾数据集)为例,首先获取数据:
获取数据
from sklearn.model_selection import train_test_split
# 以sklearn库内置的iris数据集(鸢尾数据集)为例
dataset = load_iris()
这里的dataset数据是sklearn.utils.Bunch类型的数据,比较像字典
将其打印出~
print(dataset)
如下所示
从中取出其data属性和target属性,X是特征数组(也称数据集),y表示类别数组(也称标签)
X = dataset.data
y = dataset.target
此例中,有四个特征(即data的4列表示4个特征),分别是鸢尾植物的萼片的长,萼片的宽,花瓣的长,花瓣的宽。
X中共150行,即150个样本,类别数据总共有150个数据(对应150个样本的类别)。
print(y)
y的150个数据如上图,其中,有0,1,2三个取值,表示三种花:
0 | 1 | 2 |
---|---|---|
Iris Setosa(山鸢尾) | Iris Versicolour(变色鸢尾) | Iris Virginica(维吉尼亚鸢尾) |
使用最简单的离散化算法,以均值为阈值,使大于阈值的特征值为1,小于阈值的特征值为0.
attribute_means = X.mean(axis=0)
X_d = np.array(X >= attribute_means, dtype='int') # bool转换
print(X_d)
运行结果(成功将X的数据转换为bool类型):
划分训练集和测试集
然后就是使用train_test_split()函数将数据划分训练集和测试集了。
random_state = 10
# 以默认的0.25作为分割比例进行分割(训练集:测试集=3:1)
X_train, X_test, y_train, y_test = train_test_split(X_d, y, random_state=random_state)
print("There are {} training samples".format(y_train.shape[0]))
print("There are {} testing samples".format(y_test.shape[0]))
如图得到的数据中112/38接近3:1。分割成功!
完整代码脚手架
(将上述分步的代码写在一块儿方便复制使用):
from sklearn.model_selection import train_test_split
dataset = load_iris()X = dataset.data
y = dataset.targetattribute_means = X.mean(axis=0)
X_d = np.array(X >= attribute_means, dtype='int')random_state = 10
X_train, X_test, y_train, y_test = train_test_split(X_d, y, random_state=random_state)
python机器学习 train_test_split()函数用法解析及示例 划分训练集和测试集 以鸢尾数据为例 入门级讲解相关推荐
- sklearn.model_selection.train_test_split随机划分训练集和测试集
1 函数用途 train_test_split()是交叉验证中常用的函数,功能是将数组或矩阵按比例随机划分为训练集和测试集,使用方法为: X_train,X_test, y_train, y_test ...
- python划分训练集和测试集_杨涛的Python机器学习3:单特征与多特征、训练集与测试集,杨桃...
本人CSDN博客专栏:https://blog.csdn.net/yty_7 Github地址:https://github.com/yot777/ 单特征与多特征 在上一节标签和特征的示例中,我们使 ...
- train_test_split(),随机划分训练集和测试集的函数
sklearn.model_selection.train_test_split() from sklearn.model_selection import train_test_split x_tr ...
- python按设定比例划分训练集和测试集代码
# *_*coding: utf-8 *_* # Author --LiMing--import os import random import shutil import timedef copyF ...
- [机器学习笔记] 将数据拆分成训练集和测试集的几种方法
问题描述: 一般情况下, 我们习惯将原始数据中的80% 作为训练集, 20% 作为测试集(当数据量足够大的时候,也可以将10% 作为测试集. 数据量较小时,如果每次都是随机划分训练集,执行多次训练后, ...
- Scikit-learn API:train_test_split函数 将数据分割为训练集和测试集
函数原型 sklearn.model_selection.train_test_split(*arrays, **options) 函数功能 将数组或矩阵随机的分割成训练集和测试集,注意这里是随机的. ...
- 训练集 测试集 验证集_Python机器学习实战:划分训练集和检验集
机器学习实战:这里没有艰深晦涩的数学理论,我们将用简单的案例和大量的示例代码,向大家介绍机器学习的核心概念.我们的目标是教会大家用Python构建机器学习模型,解决现实世界的难题. 本文来自<数 ...
- python划分数据集用pandas_用pandas划分数据集实现训练集和测试集
1.使用model_select子模块中的train_test_split函数进行划分 数据:使用kaggle上Titanic数据集 划分方法:随机划分 # 导入pandas模块,sklearn中mo ...
- oxford5k和paris6k数据集介绍_sklearn函数:KFold(分割训练集和测试集)
上一篇介绍了train_test_split函数: 橘猫吃不胖:sklearn函数:train_test_split(分割训练集和测试集)zhuanlan.zhihu.com 主要场景是,我们想要将 ...
最新文章
- wps定位对话框快捷键_F1~F12快捷键,高效办公的12个方法
- 树剖+线段树||树链剖分||BZOJ1984||Luogu4315||月下“毛景树”
- 淘淘商城项目mysql服务器_SpringMVC+Spring+Mybatis+Mysql+Maven+Svn[ 淘淘商城项目环境搭建 ]...
- 从中师到博士,我的22年...
- CocoaPods升级安装三方库报错
- MATLAB画图函数plot简单用法
- Unity Editor 画地面贴图工具
- 华为p4支持鸿蒙功能吗_华为鸿蒙系统支持哪些手机 鸿蒙系统支持以前的华为手机吗...
- 【MySQL】MySQL的四种事务隔离级别
- 中国在线直播行业用户规模达6.35亿人,约97.3%的主播年收入在3万元以下 | 美通社头条...
- Some weights of the model checkpoint at bert_pretrain were not used when initializing BertModel
- 图片去除下间隙(图片3像素)的方法
- 读《深度思考 让所有事情都能正确入手》
- 【直击DTCC】自然语言技术在文智趋势分析产品的应用
- 实用教程|快速搭建自动导航机器人(一)
- 20. [Python GUI] PyQt5中的模型与视图框架-实现一个简单的文件浏览器的例子
- 强基计划 数学相关书籍 推荐
- Xplorasia(畅怀旅游)选择云呐资产管理为企业降本增效
- 赛意SMOM和金蝶云星空单据接口对接
- 相关-21. 卷积的示意图(普通卷积,多通道卷积等)及Featur Map可视化
热门文章
- PostgreSQL索引介绍
- 校办研修之计算机培训简报,校本教研培训简报_
- Rust学习入门(2):Rust通用的编程概念
- dns电脑服务器发生故障怎么修复,电脑dns服务器发生故障怎么解决
- Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
- matlab惠普星14,从Yoga14s 2021出发,谈谈笔电选购时Intel版本与Ryzen版本的选择
- [建立服务器系列] 其它配件的琐事(by cuishui)
- 使用CD74HC4067制作16颗的流水灯
- 推荐用“硕鼠”下载在线高清影视
- amd显卡导致matlab崩溃,AMD的Radeon显卡黑屏和崩溃解决了大部分