【编程小Tips】第一章·利用numpy高效产生随机分配数据集以及改进版“one-hot”转换程序

本文介绍了如何使用numpy在Python中高效地生成一个满足特定条件的随机分配数据集,以及实现改进版的多热编码(multi-hot coding)。通过随机打乱座位并分配乘客,以及用numpy实现多热编码,避免了使用for循环,提高了效率。
摘要由CSDN通过智能技术生成

目录

问题背景

随机分配问题

one-hot 转换问题

完整函数


问题背景

思考这么一个问题背景,假设有15辆车,每辆车最多承载8个人,总共有100个人。现在为了生成机器学习数据集,你必须随机把乘客塞进车里面,同时不超出capacity,并且结果以(15*100)的binary矩阵返回。

在python中,for循环的效率是相当低的,那没有没有办法利用numpy在批量计算时的性能呢?

不管他,先import再说

import numpy as np

num_cars = 15 # 车的数量
cap = 8 # 车的容量
num_psgr = 100 # 乘客的数量

# 保证 num_cars*cap >= num_psgr

我们先把问题分成两部分,首先是随机分配,然后是一个类似于one-hot coding的程序,这里我姑且叫他multi-hot coding

随机分配问题

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值