python机器学习之基于内容的推荐算法(附源码)

简介: python机器学习之基于内容的推荐算法(附源码)

推荐算法相信大家都不陌生,日常生活的各种APP都会根据你的喜好和特征来给你推荐,接下来详细介绍一下其中的基于内容的推荐算法


基于内容的模式起源于信息检索领域,这种模式是以物品的内容为基础,推荐的原理是分析系统的历史数据,提取对象的内容特种和用户的兴趣偏好。


这里关键的环节是计算被推荐对象的内容特征和用户模型的兴趣特征二者之间的相似性。基于内容的推荐算法不需要大量的用户数据,广泛使用于大量文本信息的场合。


问题描述:你经常到一家店去吃麻辣香锅,老板开发了一个菜品推荐程序,老板先整理出店里各种菜品的口味记录到数据文件中,在你点菜时,程序分析出你的历史评价得知你喜欢的菜品,并据此推荐你可能喜欢的菜品


数据集请点赞关注收藏后私信博主要


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


数据如下

1666430253201.jpg

结果如下

1666430260646.jpg

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


源码如下

import pandas as pd
from numpy import *
from sklearn.feature_extraction.text import  TfidfVectorizer
food=pd.read_csv(r'hot-spicy pot.csv')
print(food.head())
print(food['taste'].head())
from sklearn.metrics.pairwise import  pairwise_distances
tfidf=TfidfVectorizer(stop_words='english')
tfidf_matrix=tfidf.fit_transform(food['taste'])
print(tfidf_matrix.shape)
cosine_sim=pairwise_distances(tfidf_matrix,metric='cosine')
def content_based_recommendation(name,cosine_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]
indices=pd.Series(food.index,index=food['name']).drop_duplicates()
result=content_based_recommendation("celery")
print("推荐菜品结果如下")
print(result)
相关文章
|
7月前
|
算法 搜索推荐 JavaScript
基于python智能推荐算法的全屋定制系统
本研究聚焦基于智能推荐算法的全屋定制平台网站设计,旨在解决消费者在个性化定制中面临的选择难题。通过整合Django、Vue、Python与MySQL等技术,构建集家装设计、材料推荐、家具搭配于一体的一站式智能服务平台,提升用户体验与行业数字化水平。
|
8月前
|
存储 算法 调度
【复现】【遗传算法】考虑储能和可再生能源消纳责任制的售电公司购售电策略(Python代码实现)
【复现】【遗传算法】考虑储能和可再生能源消纳责任制的售电公司购售电策略(Python代码实现)
402 26
|
7月前
|
存储 监控 算法
监控电脑屏幕的帧数据检索 Python 语言算法
针对监控电脑屏幕场景,本文提出基于哈希表的帧数据高效检索方案。利用时间戳作键,实现O(1)级查询与去重,结合链式地址法支持多条件检索,并通过Python实现插入、查询、删除操作。测试表明,相较传统列表,检索速度提升80%以上,存储减少15%,具备高实时性与可扩展性,适用于大规模屏幕监控系统。
219 5
|
8月前
|
人工智能 数据安全/隐私保护 异构计算
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
1284 8
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
|
8月前
|
机器学习/深度学习 编解码 算法
【机器人路径规划】基于迪杰斯特拉算法(Dijkstra)的机器人路径规划(Python代码实现)
【机器人路径规划】基于迪杰斯特拉算法(Dijkstra)的机器人路径规划(Python代码实现)
644 4
|
8月前
|
机器学习/深度学习 算法 机器人
【机器人路径规划】基于A*算法的机器人路径规划研究(Python代码实现)
【机器人路径规划】基于A*算法的机器人路径规划研究(Python代码实现)
1025 4
|
8月前
|
算法 机器人 定位技术
【机器人路径规划】基于流场寻路算法(Flow Field Pathfinding)的机器人路径规划(Python代码实现)
【机器人路径规划】基于流场寻路算法(Flow Field Pathfinding)的机器人路径规划(Python代码实现)
516 4
|
8月前
|
机器学习/深度学习 算法 机器人
【机器人路径规划】基于深度优先搜索(Depth-First-Search,DFS)算法的机器人路径规划(Python代码实现)
【机器人路径规划】基于深度优先搜索(Depth-First-Search,DFS)算法的机器人路径规划(Python代码实现)
388 3
|
8月前
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
8月前
|
机器学习/深度学习 算法 机器人
【机器人路径规划】基于D*算法的机器人路径规划(Python代码实现)
【机器人路径规划】基于D*算法的机器人路径规划(Python代码实现)
370 0

热门文章

最新文章

推荐镜像

更多