TensorFlow实例:Autoencoder与聚类结合在预测用户偏好中的应用

本文介绍如何使用Autoencoder进行数据降维,并结合聚类算法预测电商用户偏好,实现用户分群,便于推荐和预测。通过TensorFlow实现两层Autoencoder,对30万条电商数据进行处理。
实例: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)))
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值