实现随机抽样法分割数据集

这篇博客介绍了如何在机器学习中利用numpy的random.permutation函数随机打乱数据,并按比例划分数据集。通过示例展示了如何创建一个0到9的数字列表,然后以1:4的比例将数据划分为测试集和训练集。测试集包含前两个数字,训练集则包含剩余的数字。这种方法确保了每个样本被抽中的概率相等,且样本间相互独立。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1

在机器学习中,有时我们会获得一整个数据集,而我们知道,在这一过程中分为测试集与训练集。而随机抽样法的定义是从总体N个单位中随机地抽取n个单位作为样本,使得每一个容量为样本都有相同的概率被抽中。特点是:每个样本单位被抽中的概率相等,样本的每个单位是完全独立,彼此间无一定的关联性和排斥性。简单随机抽样是其它各种抽样形式的基础。通常只是在总体单位之间差异程度较小和数目较少时,才采用这种方法。

data_dududu = pd.DataFrame(list(range(10)))
data_dududu

在这里插入图片描述
首先先生成0到9十个数字,然后将他们随机打乱
在这里插入图片描述

shuffled_indices = np.random.permutation(len(data_dududu))
shuffled_indices

接下来开始截取数据,将他们以1:4的比例截取为测试集,训练集。
在这里插入图片描述

test_indices = shuffled_indices[:test_set_size]#测试集从头开始截,截2个数
test_indices
train_indices = shuffled_indices[test_set_size:]#训练集从第3个数开始,截到完
train_indices

然后通过索引,将每个数字对应的数据读出来
在这里插入图片描述

data_dududu.iloc[test_indices]
data_dududu.iloc[train_indices]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值