美文网首页
训练集与测试集切分

训练集与测试集切分

作者: skullfang | 来源:发表于2018-01-19 15:19 被阅读0次

前言

为了 更好的训练数据并且更好测试模型,一般做机器学习之前都会进行训练集和测试集的切分。

train_test_split实现

其实我们可以先把数据的输入X和输出向量y进行一个水平拼接,然后随机之后拆开,但是过程比较麻烦。在sklearn中shuffle的并不是训练集,而是训练集长度大小的随机索引

产生随机索引值

shuffle_indexes=np.random.permutation(len(X)) #X为数据的输入
shuffle_indexes

np.random.permutation( x )这个函数可以产生x和随机数,并且随机数的范围是0~x

shuffle_indexes=np.random.permutation(3)
shuffle_indexes

array([2, 0, 1])

设置切分的比例

test_ratio=0.2
test_size=int(len(X) * test_ratio)

求出切分索引

test_indexes=shuffle_indexes[:test_size]
train_indexes=shuffle_indexes[test_size:]

获得数据

X_train=X[train_indexes]
y_train=y[train_indexes]

X_test=X[test_indexes]
y_test=y[test_indexes]

sklearn中的划分

有了之前的知识就能更好的理解sklearn中的切分函数的每个参数的意思。

导入包

from sklearn.model_selection import train_test_split

调用

X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.2, 
random_state=0)

参数意义:
X,数据集的输入
y, 数据集的输出
test_size 默认参数,这个测试集所占百分比。
radom_state 默认参数,随机数种子,一般调试的时候希望每次切分要是一样的,就给这个种子一个固定的值就好了。

相关文章

  • Pandas:打乱数据并切分

    描述 在机器学习中,拿到一堆训练数据一般会需要将数据切分成训练集和测试集,或者切分成训练集、交叉验证集和测试集,为...

  • 训练集与测试集切分

    前言 为了 更好的训练数据并且更好测试模型,一般做机器学习之前都会进行训练集和测试集的切分。 train_test...

  • 通过分析鸢尾花数据学习K-近邻算法

    一、算法整体思路 按照比例切分测试集和训练集 选取特征值,对训练集建模 对于任一测试数据样本,通过计算该样本到每个...

  • 2021-01-28

    1、将60个商品级问法切分训练集与测试集,将训练集中的数据(问题和对应的问法)导入ES知识库库中作为商品问法库。并...

  • pytorch subset & dataframe

    记录学习pytorch中出现的一点问题:在读代码时,发现有用subset切分数据集为训练集和测试集的情况。 sub...

  • 数据集拆分:训练集、验证集、测试集

    1、数据集拆分 首先最基本的是将数据集分为训练集(Training)与测试集(Test)两部分。在测试集用于训练、...

  • 划分训练、测试集和数据观察

    训练集与测试集 一般在进行模型的测试时,我们会将数据分为训练集和测试集。在给定的样本空间中,拿出大部分样本作为训练...

  • k-means 算法

    训练集和测试集:就和考试一样 训练集:在联系过的测试集

  • 吴恩达深度学习笔记(63)-如何进行训练/开发/测试集划分

    训练/开发/测试集划分(Train/dev/test distributions) 设立训练集,开发集和测试集的方...

  • 数据集分割方法

    在机器学习建模过程中,通行的做法通常是将数据集分为训练集和测试集。测试集是与训练独立的数据,完全不参与训练,用于最...

网友评论

      本文标题:训练集与测试集切分

      本文链接:https://www.haomeiwen.com/subject/myfhoxtx.html