python麻辣香锅菜品推荐

1.推荐算法概述

        推荐算法出现得很早,最早的推荐系统是卡耐基·梅隆大学推出的Web Watcher浏览器导航系统,可以根据当的搜索目标和用户信息,突出显示对用户有用的超链接。斯坦福大学则推出了个性化推荐系统LIRA.AT&T实验室于1997年提出基于协作过滤的个性化推荐系统,通过了解用户的喜好和需求,能更精确地呈现相关内容。
        在Facebook自2006年开始引领互联网社交新潮流之后,推荐系统真正与互联网产品相结合。加之亚马逊、淘宝等主营电商的互联网产品改变了网民的社交生活方式,推荐算法在社交、电商等产品中被运用得风生水起。
        根据亚马逊网站的数据统计,在已购买的网站用户中,原本就有明确购买意向的仅占6%。如果商家能够把满足客户模糊需求的商品主动推荐给客户,就有可能将客户的潜在需求转化为实际购买需求。因此,根据用户的兴趣、爱好、购买行为等特征进行商品推荐的推荐系统应运而生,并被广泛使用。
        目前,大型电子商务网站(如Amazon、淘宝)、音乐播放软件(如网易云音乐、虾米音乐)以及大型视频网站等都有内置的推荐系统。在购物网站上,当用户浏览或购买了某些物品后,经常会弹出新的物品供选择。如图7.2所示,一位客户刚在Amazon上浏览了乐高积木,马上看到系统推荐给他相关产品。顾客在淘宝网站收藏了一张实木书桌,平台会推荐一系列相关的设备。为什么电子商务平台那么了解你?你总是很容易看到感兴趣的新闻,听到符合自己风格的音乐呢?
        这背后就是推荐系统平台在工作。推荐系统首先收集、处理客户的数据,通过分析客户的特征,为客户推荐最合适的商品。
        推荐系统的核心工作是使用特定的信息分析技术,将项目推荐给可能感兴趣的用户。了解用户的兴趣爱好是推荐系统最重要的一个环节。如何把用户的行为进行量化,得到每个用户的特征偏好,也是一个难题。各商业模式下,用户偏好都是一个比较复杂的指我不同的企业有自己统计用户偏好的方法,计算也各不相同。

2.问题描述

小明经常到一家店去吃麻辣香锅,如图7.6所示。最近,这家店的老板开发了一个菜品推荐程序。老板先整理出店里各种菜的口味特点,如脆的、甜的、辣的等记
推荐他可能喜欢的其他菜品。    录到数据文件中,在小明点菜时,程序分析小明的历史评价得知小明喜欢的菜品,许据此推荐他可能喜欢的其他菜谱

3.问题分析

推荐算法使用的是各个菜品的口味特征(taste),为文本类型。可以考虑构建 taste特征的tidf矩阵,对文本信息向量化处理。然后使用距离度量方法,计算相似度,进行推荐。 

 4.python代码实现

import pandas as pd 
from numpy import *
from sklearn.feature_extraction.text import TfidfVectorizer
#1.读取数据
print('Stepl: read data...')
food=pd.read_csv('hot-spicy pot.csv') 
food.head(10)
#2.将菜品的描述构造成TF-IDF向量 print('Step2:make TD-IDF...')
tfidf=TfidfVectorizer(stop_words='english') 
tfidf_matrix=tfidf.fit_transform(food['taste']) 
tfidf_matrix.shape
#3.计算两个菜品的余弦相似度
print('Step3:compute similarity...')
from sklearn.metrics.pairwise import pairwise_distances
cosine_sim=pairwise_distances(tfidf_matrix,metric="cosine")
#推荐函数,输出与其最相似的10个菜品
def content_based_recommendation (name,consine_sim=cosine_sim):
    idx=indices[name]
    sim_scores=list(enumerate(cosine_sim[idx]))
    sim_scores=sorted(sim_scores,key=lambda x:x[1]) 
    sim_scores=sim_scores[1:11]
    food_indices=[i[0] for i in sim_scores]
    return food['name'].iloc[food_indices]
#4.根据菜名及特点进行推荐
print('step4:recommend by name...')
#5.建立索引,方便使用菜名进行数据访问
indices=pd.Series(food.index, index=food['name']).drop_duplicates()
result=content_based_recommendation("celery")
result

运行结果

可以看出,对于小明评分较高的“芹菜”,系统能够推荐出相似度较高的菜品。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/957245.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

利用大型语言模型在量化投资中实现自动化策略

“Automate Strategy Finding with LLM in Quant investment” 论文地址:https://arxiv.org/pdf/2409.06289 摘要 这个新提出的量化股票投资框架,利用大型语言模型(LLMs)与多智能体系统相结合的方法,通过LLMs从包括数…

JAVA:Spring Boot 实现责任链模式处理订单流程的技术指南

1、简述 在复杂的业务系统中,订单流程往往需要一系列的操作,比如验证订单、检查库存、处理支付、更新订单状态等。责任链模式(Chain of Responsibility)可以帮助我们将这些处理步骤分开,并且以链式方式处理每一个操作…

(开源)基于Django+Yolov8+Tensorflow的智能鸟类识别平台

1 项目简介(开源地址在文章结尾) 系统旨在为了帮助鸟类爱好者、学者、动物保护协会等群体更好的了解和保护鸟类动物。用户群体可以通过平台采集野外鸟类的保护动物照片和视频,甄别分类、实况分析鸟类保护动物,与全世界各地的用户&…

算法专题(三):二分查找

本篇还是像之前一样,以举例子的形式向大家讲解!每道题的题目均是传送门!点击跳转对应题! 目录 一、二分查找 1.1 题目 1.2 思路 1.3 代码实现 总结(模版) 朴素版: 二、在排序数组中查找…

C# OpenCvSharp 部署文档矫正,包括文档扭曲/模糊/阴影等情况

目录 说明 效果 模型 项目 代码 下载 参考 C# OpenCvSharp 部署文档矫正,包括文档扭曲/模糊/阴影等情况 说明 地址:https://github.com/RapidAI/RapidUnDistort 修正文档扭曲/模糊/阴影等情况,使用onnx模型简单轻量部署&#xff0c…

Excel 技巧15 - 在Excel中抠图头像,换背景色(★★)

本文讲了如何在Excel中抠图头像,换背景色。 1,如何在Excel中抠图头像,换背景色 大家都知道在PS中可以很容易抠图头像,换背景色,其实Excel中也可以抠简单的图,换背景色。 ※所用头像图片为百度搜索&#x…

吴恩达深度学习——神经网络介绍

文章内容来自BV11H4y1F7uH,仅为个人学习所用。 文章目录 什么是神经网络引入神经网络神经元激活函数ReLU隐藏单元 用神经网络进行监督学习监督学习与无监督学习举例 什么是神经网络 引入 已经有六个房子的数据集,横轴为房子大小,纵轴为房子…

xctf-comment(Intruder,git恢复,SQL注入,Hex解码)

这题是2018年网鼎杯真题,考察 Burp Suite 的 Intruder 模块去找用户密码,使用 githacker 恢复代码(githack不行),代码审计发现SQL二次注入,尝试SQL注入读取文件内容,读取的是/home/www/.bash_hi…

分布式系统通信解决方案:Netty 与 Protobuf 高效应用

分布式系统通信解决方案:Netty 与 Protobuf 高效应用 一、引言 在现代网络编程中,数据的编解码是系统设计的一个核心问题,特别是在高并发和低延迟的应用场景中,如何高效地序列化和传输数据对于系统的性能至关重要。随着分布式系…

C++《AVL树》

在之前的学习当中我们已经了解了二叉搜索树,并且我们知道二叉搜索树的查找效率是无法满足我们的要求,当二叉树为左或者右斜树查找的效率就很低下了,那么这本篇当中我们就要来学习对二叉搜索树进行优化的二叉树——AVL树。在此会先来了解AVL树…

ToDesk设置临时密码和安全密码都可以当做连接密码使用

ToDesk 在各领域办公都已经是非常常见了 为了安全 ToDesk 设置了连接密码,想连接 需要输入远程码和连接密码 我们刚打开 系统默认给我们用的是临时密码,安全性确实很强 和定时Tokey一样,固定时间切换。 但是 如果我们要经常连接这个电脑&a…

LLMs(大型语言模型)的多智能体:Auto-GPT

LLMs(大型语言模型)的多智能体:Auto-GPT 是指在一个系统中集成多个具有不同能力、角色和任务的智能体,这些智能体能够相互协作、沟通和交互,以共同完成复杂的任务或解决复杂的问题。每个智能体都可以被视为一个独立的实体,具有自己的策略、目标和知识库,通过相互之间的…

【Linux环境变量与命令行参数】常见环境变量 | 环境变量的全局属性 | 命令行参数

前言 本文中主要介绍PATH、HOME、SHELL、HISTSIZE这4个环境变量,其中详细介绍PATH。并理解环境变量的全局属性--环境变量可以被子进程继承,这里要注意和C中的继承进行区分。其次,介绍命令行参数--mian函数的参数。 1.环境变量的基本概念 在…

【Python】函数(二)

链式调用 # 判定是否是奇数 def isOdd(num):if num % 2 0:return Falseelse:return Trueresult isOdd(10) print(result)实际上也可以简化写作 print(isOdd(10))把一个函数的返回值, 作为另一个函数的参数, 这种操作称为 链式调用 嵌套调用 函数内部还可以调用其他的函数…

【Elasticsearch 】 聚合分析:桶聚合

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…

学习ASP.NET Core的身份认证(基于JwtBearer的身份认证7)

本文验证基于请求头中传递token信息的认证方式,webapi项目的控制器类中新建如下函数,仅通过验证的客户端能调用,需要客户端请求在Header中添加’Authorization’: Bearer token’的键值对且通过token验证后才能调用。 [Authorize] [HttpGet]…

游戏AI,让AI 玩游戏有什么作用?

让 AI 玩游戏这件事远比我们想象的要早得多。追溯到 1948 年,图灵和同事钱伯恩共同设计了国际象棋程序 Turochamp。之所以设计这么个程序,图灵是想说明,机器理论上能模拟人脑能做的任何事情,包括下棋这样复杂的智力活动。 可惜的是…

9. 神经网络(一.神经元模型)

首先,先看一个简化的生物神经元结构: 生物神经元有多种类型,内部也有复杂的结构,但是可以把单个神经元简化为3部分组成: 树突:一个神经元往往有多个树突,用于接收传入的信息。轴突:…

Docker可视化管理工具Portainer

Portainer简介 Portainer 是一个轻量级的、开源的容器管理工具,提供了一个直观的 Web 用户界面(UI),用于管理 Docker 和 Kubernetes 环境。它简化了容器的部署、监控和管理,特别适合不熟悉命令行操作的用户或团队。 …

maven helper插件使用

在intellij idea插件市场搜索maven help并安装安装好后会多一个Dependency Analyzer 场景1:排除某个依赖 点击完exclude pom文件会被修改 然后刷新下maven,相应的依赖就会被排除了。