文章目录

  • 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()函数用法解析及示例 划分训练集和测试集 以鸢尾数据为例 入门级讲解相关推荐

  1. sklearn.model_selection.train_test_split随机划分训练集和测试集

    1 函数用途 train_test_split()是交叉验证中常用的函数,功能是将数组或矩阵按比例随机划分为训练集和测试集,使用方法为: X_train,X_test, y_train, y_test ...

  2. python划分训练集和测试集_杨涛的Python机器学习3:单特征与多特征、训练集与测试集,杨桃...

    本人CSDN博客专栏:https://blog.csdn.net/yty_7 Github地址:https://github.com/yot777/ 单特征与多特征 在上一节标签和特征的示例中,我们使 ...

  3. train_test_split(),随机划分训练集和测试集的函数

    sklearn.model_selection.train_test_split() from sklearn.model_selection import train_test_split x_tr ...

  4. python按设定比例划分训练集和测试集代码

    # *_*coding: utf-8 *_* # Author --LiMing--import os import random import shutil import timedef copyF ...

  5. [机器学习笔记] 将数据拆分成训练集和测试集的几种方法

    问题描述: 一般情况下, 我们习惯将原始数据中的80% 作为训练集, 20% 作为测试集(当数据量足够大的时候,也可以将10% 作为测试集. 数据量较小时,如果每次都是随机划分训练集,执行多次训练后, ...

  6. Scikit-learn API:train_test_split函数 将数据分割为训练集和测试集

    函数原型 sklearn.model_selection.train_test_split(*arrays, **options) 函数功能 将数组或矩阵随机的分割成训练集和测试集,注意这里是随机的. ...

  7. 训练集 测试集 验证集_Python机器学习实战:划分训练集和检验集

    机器学习实战:这里没有艰深晦涩的数学理论,我们将用简单的案例和大量的示例代码,向大家介绍机器学习的核心概念.我们的目标是教会大家用Python构建机器学习模型,解决现实世界的难题. 本文来自<数 ...

  8. python划分数据集用pandas_用pandas划分数据集实现训练集和测试集

    1.使用model_select子模块中的train_test_split函数进行划分 数据:使用kaggle上Titanic数据集 划分方法:随机划分 # 导入pandas模块,sklearn中mo ...

  9. oxford5k和paris6k数据集介绍_sklearn函数:KFold(分割训练集和测试集)

    上一篇介绍了train_test_split函数: 橘猫吃不胖:sklearn函数:train_test_split(分割训练集和测试集)​zhuanlan.zhihu.com 主要场景是,我们想要将 ...

最新文章

  1. wps定位对话框快捷键_F1~F12快捷键,高效办公的12个方法
  2. 树剖+线段树||树链剖分||BZOJ1984||Luogu4315||月下“毛景树”
  3. 淘淘商城项目mysql服务器_SpringMVC+Spring+Mybatis+Mysql+Maven+Svn[ 淘淘商城项目环境搭建 ]...
  4. 从中师到博士,我的22年...
  5. CocoaPods升级安装三方库报错
  6. MATLAB画图函数plot简单用法
  7. Unity Editor 画地面贴图工具
  8. 华为p4支持鸿蒙功能吗_华为鸿蒙系统支持哪些手机 鸿蒙系统支持以前的华为手机吗...
  9. 【MySQL】MySQL的四种事务隔离级别
  10. 中国在线直播行业用户规模达6.35亿人,约97.3%的主播年收入在3万元以下 | 美通社头条...
  11. Some weights of the model checkpoint at bert_pretrain were not used when initializing BertModel
  12. 图片去除下间隙(图片3像素)的方法
  13. 读《深度思考 让所有事情都能正确入手》
  14. 【直击DTCC】自然语言技术在文智趋势分析产品的应用
  15. 实用教程|快速搭建自动导航机器人(一)
  16. 20. [Python GUI] PyQt5中的模型与视图框架-实现一个简单的文件浏览器的例子
  17. 强基计划 数学相关书籍 推荐
  18. Xplorasia(畅怀旅游)选择云呐资产管理为企业降本增效
  19. 赛意SMOM和金蝶云星空单据接口对接
  20. 相关-21. 卷积的示意图(普通卷积,多通道卷积等)及Featur Map可视化

热门文章

  1. PostgreSQL索引介绍
  2. 校办研修之计算机培训简报,校本教研培训简报_
  3. Rust学习入门(2):Rust通用的编程概念
  4. dns电脑服务器发生故障怎么修复,电脑dns服务器发生故障怎么解决
  5. Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
  6. matlab惠普星14,从Yoga14s 2021出发,谈谈笔电选购时Intel版本与Ryzen版本的选择
  7. [建立服务器系列] 其它配件的琐事(by cuishui)
  8. 使用CD74HC4067制作16颗的流水灯
  9. 推荐用“硕鼠”下载在线高清影视
  10. amd显卡导致matlab崩溃,AMD的Radeon显卡黑屏和崩溃解决了大部分