利用Python代码生成测试数据
最近一直着手在做的推荐系统项目几近结题。对于学生而言,刚接手这个项目的时候确实迷茫。班导师刚联系我的时候,顿时素质三连:推荐系统是啥?这有啥用?我做这个东西干啥?
以上三个问题,后期寒假会补上。
这篇文章更多的是介绍如何利用python语言,便利的生成一些测试数据。
这里有人可能会发问:测试数据用公测数据集不就行了?确实,当熟练掌握了推荐算法和推荐系统原理过后,直接使用一些公测数据集是完全ok且省时的。但是对于学生,尤其是我们这些初学者而言,测试数据越复杂,越会造成自己知识的混淆。所以不如按自己的想法,生成符合自己现阶段知识储备的数据。
下面附上源代码和说明,如果代码阅读存在问题就跑一下。
import random
file=open("/Users/a/Desktop/1.txt",'w')#这里需要在桌面建立一个txt文件,用来储存生成日志。
year={"2017","2018","2019"}#存放年份,这里用list和set都行,用set防止元素重复
month={"01","03","04","05",'06','07','08','09','10','11','12'}#同样的数据结构,存放月份
day={'01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28'}#存放日
tags={'great','upset','I dont like it','nohelp','useless','nice'}#这里是标签,可以视作评论
for num in range(0,2000):
uid=random.randrange(1,48)
mid=random.randrange(1,330)
s="".join(random.sample(tags,1))#join方法,从tags集合中随机选择一个元素
y="".join(random.sample(year,1))
m="".join(random.sample(month,1))
d="".join(random.sample(day,1))
final=str(uid)+","+str(mid)+','+s+','+y+m+d+"\r\n"
print(final)
file.write(final)
file.close()#注意这里的关闭实际上是释放资源,操作系统知识