数据预处理 处理后评分数据 口味评分服务评分环境评分评价月份评价均分(数字)用户贡献值(数字) 口味4非常好)服务4非常好)环境3很好)04 口味4非常好)服务4(丰常好)环境3很好)04 口味4非常好)服务4(非常好)环墳4非常好)04 口味4非常好)服务4(非常好)环墳4非常好)045 口味4非常好)脶务4(非常好)环墳4非常好)04 4 口味4非常好)服务4(非常好)环境4非常好)04 口味3很好)服务3(很好)环墳3很好)04 口味4(非常好)脶务4(非常好)环墳3(很好)04 口味4非常好)服务4(非常好)环境4非常好)04 口味4非常好)服务4(非常好)环境4非常好)04 口味4非常好)服务4(非常好)环境4非常好)04 味4丰常好)服务4丰常好)环3很好)045
数据预处理 • 处理后评分数据
数据预处理 菜品内容原始数据 12-17草原上的趨滑牛肉鴨血柠檬水豆浆金针菇鲜血手切羊肉 06-29爱吃饭的F滑牛肉一根面海底捞笋片午餐肉鸭肠虾滑鱼片捞面 316-12-16 LY ZyTo鹈血虾滑嫩牛肉鱼片 416-12-12时光溅落鸭肠小料鲜毛肚 516-11-11小糊涂_姿一根面滑牛肉 滑牛肉海底捞牛肉 216100楼,转库虾弄生无更鱼共脸花 3910和12携斜片角毛海拜毛里H豌豆尖自助小科龙利鱼片海携血旺鸭舌头巴沙鱼 1016-0911挪若岩2豆浆豆皮手切羊肉鲜虾滑竹笋鸳盎锅青笋西式牛滑山药黑豆浆茼落鸭肠毛肚羊F 1116-09-10嗜血如兰 216-0907一帆杰作滑牛肉一根面海底捞牛肉海底捞笋片嫩牛肉虾滑 1316-09-07努力的向E滑牛肉一根面海底捞牛肉鸭血毛肚 1416-0904Jay小颖一根面嫩牛肉虾滑 -n-11飞飞扬的hs生肉t柚而只生肉濫牛肉t(忖轺好)
数据预处理 • 菜品内容原始数据
数据预处理 统计每种菜品出现的次数 #!/usr/bin/python #→ codingutf-8 获取推荐数较多的菜品 word lst=D with open( /meal. txt,)as wf, open("word. txt",w,)as wf2 word Ist append(word split()) for item2 in item if item2 not in word dict: word dict item2=1 word dict [item2 ] += I final dict=sorted(word dict items, key=lambda item: item[1], reverse=True) for x, y in final dict wf2 write(str(x)+"+ stry)+"n
数据预处理 • 统计每种菜品出现的次数 • 获取推荐数较多的菜品 #!/usr/bin/python # -*- coding:utf-8 -*- word_lst = [] word_dict = {} with open('./meal.txt') as wf, open("word.txt", 'w') as wf2: for word in wf: word_lst.append(word.split(' ')) for item in word_lst: for item2 in item: if item2 not in word_dict: word_dict[item2] = 1 else: word_dict[item2] += 1 final_dict = sorted(word_dict.items(), key=lambda item: item[1], reverse=True) for x,y in final_dict: wf2.write(str(x) + " " + str(y) + "\n")
数据预处理 选取推荐数大于10 的菜进行关联分析 #要输出的表格 将每一个菜名设 sheet I =workbook add sheet('sheetI', cell overwrite ok-true) 置为新的表格的列 #读取统计的词频 Fopen('/word.txt','r, encoding'UTF-8 名称 f close #添加第一行的菜品名 while num len( content) if int( mealCountp=10#选择数量大于10的菜品 ntent(num Content(num J Otem neet 1. write(0, write Num, content num mealTup-meaITup(contentnum),)
数据预处理 • 选取推荐数大于10 的菜进行关联分析 ,将每一个菜名设 置为新的表格的列 名称 import xlwt import xlrd #要输出的表格 workbook=xlwt.Workbook() sheet1 = workbook.add_sheet(‘sheet1’,cell_overwrite_ok=true) #读取统计的词频 f=open(‘./word.txt’,’r’,encoding=’UTF-8’) content=f.readlines() f.close() #添加第一行的菜品名 num=0 writeNum=0 while num < len(content) tem = content[num].find(‘’) mealCount=content[num][tem:-1]#商品数量 if int(mealCount)>=10:#选择数量大于10的菜品 content[num]=content[num][0:tem] sheet1.write(0,writeNum,content[num]) mealT up=mealTup+(content[num],) writeNum+=1 num+=1
数据预处理 读取抓取的“菜品 #读取抓取的数据 s”中的每一用 workbook1= xrd. open_workbook(/菜品xsx') 户的推荐菜,若列 worksheets=workbook1sheet_ names 名称中的菜出现在 worksheet1 workbook1. sheet _by_name(u'其余的评价 num rows=worksheet nrows 该用户的推荐菜中 for curr_row in range(num_rows) ,则将对应的单元 roW= worksheet1 row values( curr row)#每一行 mealFlag=0 格设为1,否则设为 while meal Flag<len(mealTup mealName=mealTup[meal] 0 row index(mealName) sheet1. write(curr_row+ 1, mealFlag, 1) except: sheet1. write(curr_row+ 1, meal Flag, 0) nealFlaq+=1 workbook save(meal×s’)
数据预处理 • 读取抓取的“菜品 .xlsx”中的每一用 户的推荐菜,若列 名称中的菜出现在 该用户的推荐菜中 ,则将对应的单元 格设为1,否则设为 0 #读取抓取的数据 workbook1=xlrd.open_workbook(‘./菜品.xlsx’) worksheets=workbook1.sheet_names() worksheet1=workbook1.sheet_by_name(u’其余的评价’) num_rows=worksheet1.nrows for curr_row in range(num_rows): row=worksheet1.row_values(curr_row)#每一行 mealFlag=0 while mealFlag<len(mealTup): mealName=mealTup[mealFlag] try: row.index(mealName) sheet1.write(curr_row+1,mealFlag,1) except: sheet1.write(curr_row+1,mealFlag,0) mealFlag+=1 workbook.save(‘meal.xls’)