用户画像

基于用户搜索关键词数据为用户打上标签(年龄,性别,学历)

整体流程

(一)数据预处理

  • 编码方式转换
  • 对数据搜索内容进行分词
  • 词性过滤
  • 数据检查

(二)特征选择

  • 建立word2vec词向量模型
  • 对所有搜索数据求平均向量

(三)建模预测

  • 利用逻辑回归模型对用户类别进行预测
    将原始数据转换成utf-8编码,防止后续出现各种编码问题
import csv

def code_coversion(filename):
    #原始数据存储路径
    data_path = 'F:\\data_load\\' + filename
    #生成数据路径
    csvfile = open(data_path + '.csv', 'w')
    writer = csv.writer(csvfile)
    writer.writerow(['ID', 'age', 'Gender', 'Education', 'QueryList'])
    #转换成utf-8编码的格式
    with open(data_path, 'r',encoding='gb18030',errors='ignore') as f:
        lines = f.readlines()
        for line in lines[0:-1]:
            try:
                line.strip()          
                data = line.split("\t")
                writedata = [data[0], data[1], data[2], data[3]]
                querystr = ''
                data[-1]=data[-1][:-1]
                for d in data[4:]:
                    try:
                        cur_str = d.encode('utf8')
                        cur_str = cur_str.decode('utf8')
                        querystr += cur_str + '\t'
                    except:
                        continue
                        #print (data[0][0:10])
                querystr = querystr[:-1]
                writedata.append(querystr)
                writer.writerow(writedata)
            except:
                #print (data[0][0:20])
                continue
    csvfile.close()
code_coversion('user_tag_query.10W.TRAIN')
code_coversion('user_tag_query.10W.TEST')

生成对应的数据表

import pandas as pd

#编码转换完成的数据
trainname = 'F:\\data_load\\user_tag_query_TRAIN.csv'
testname = 'F:\\data_load\\user_tag_query_TEST.csv'
data = pd.read_csv(trainname, encoding='gbk')
print(data.head())

#分别生成三种标签数据(性别、年龄、学历)
data.age.to_csv('F:\\data_load\\train_age.csv',index=F
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值