实例:Autoencoder与聚类结合在预测用户偏好中的应用
上篇博文我们用tensorflow实现了Autoencoder
用tensorflow构建一个两层的auto-encoder
本文具体数据集与源代码可从我的GitHub地址获取
https://github.com/liuzuoping/Deep_Learning_note
项目背景:
- 电商数据,包含30w条数据,一共150种商品品类,1w个会员。特征只有用户的购买记录
项目需求:
- 希望根据用户的偏好进行分群,便于以后推荐和预测。

项目步骤
数据预处理
- 将数据全部转换为一个30w*150维度的矩阵,变成特征矩阵(此处为部分数据做演示)
import pandas as pd
import numpy as np
import time
#加载数据文件(你可以加载自己的文件,文件格式如上所示)
x=pd.read_table('test.txt',sep = "\t")
#去除NULL值
x.dropna()
a1=list(x.iloc[:,0])
a2=list(x.iloc[:,1])
a3=list(x.iloc[:,2])
#A是商品类别
dicta=dict(zip(a2,zip(a1,a3)))
A=list(dicta.keys())
#B是用户id
B=list(set(a1))
#创建商品类别字典
a = np.arange(len(A))
lista = list(a)
dict_class = dict(zip(A,lista))
#print dict_class
f=open('class.txt','w')
for k ,v in dict_class.items():
f.write(str(k)+'\t'+str(v)+'\n')
f.close()
#计算运行时间
start=time.clock()
#创建大字典存储数据
dictall = {
}
for i in xrange(len(a1)):
if a1[i] in dictall.keys():
value = dictall[a1[i]]
j = dict_class[a2[i]]
value[j] = a3[i]
dictall[a1[i]]=value
else:
value = list(np.zeros(len(A)))
Autoencoder与聚类结合预测用户偏好

本文介绍如何使用Autoencoder进行数据降维,并结合聚类算法预测电商用户偏好,实现用户分群,便于推荐和预测。通过TensorFlow实现两层Autoencoder,对30万条电商数据进行处理。
最低0.47元/天 解锁文章
6574

被折叠的 条评论
为什么被折叠?



