日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

基于Python和Surprise庫,新手也能動手搭建推薦系統

來源: 責編: 時間:2023-12-08 09:14:58 231觀看
導讀1、簡介在數據時代,推薦系統是提升用戶體驗的重要工具。今天介紹如何使用亞馬遜的電影評分數據集創建電影推薦系統。2、數據加載與探索首先,通過加載和探索數據集開啟數據分析過程。首先導入Pandas和Numpy,這是進行數據

1、簡介

在數據時代,推薦系統是提升用戶體驗的重要工具。今天介紹如何使用亞馬遜的電影評分數據集創建電影推薦系統。pC828資訊網——每日最新資訊28at.com

2、數據加載與探索

首先,通過加載和探索數據集開啟數據分析過程。首先導入Pandas和Numpy,這是進行數據處理的基礎庫。通過檢查數據集的前幾行、形狀、大小和統計摘要進行探索。.head()方法可以讓我們一窺數據集的全貌,而.shape方法則展示了數據集的大小。pC828資訊網——每日最新資訊28at.com

import pandas as pdimport numpy as np amazon = pd. read_csv (" path_to / Amazon . csv")print ( amazon . head ()print (" Dataset ? shape :", amazon . shape )

3、數據清洗和預處理

為了確保分析的完整性,必須替換缺失值并完善DataFrame。fillna方法可用于處理缺失值,這對于保持數據完整性至關重要。刪除不相關的列(如'user_id')可以使分析集中在電影評分上。pC828資訊網——每日最新資訊28at.com

Amazon_filtered = amazon . fillna ( value =0)Amazon_filtered1 = Amazon_filtered . drop ( columns =’user_id ’)

4、深入分析瀏覽量和評分

通過分析瀏覽量,分析電影的受歡迎程度,這涉及對評分進行求和并找到最大值。按電影對評分進行求和可以得到一個受歡迎度指標。argmax()函數可以識別出觀看次數最多的電影。pC828資訊網——每日最新資訊28at.com

Amazon_max_views = Amazon_filtered1 .sum ()max_views_index = Amazon_max_views . argmax ()print (" Most_viewed _movie _index :", max_views_index )

5、計算平均評分

通過計算電影的平均評分,可以了解觀眾的總體滿意度。pC828資訊網——每日最新資訊28at.com

average_ratings = Amazon_max_views . mean ()print (" Average_rating :", average_ratings )

6、建立推薦模型:SVD算法

  • 格式化數據供Surprise使用:通過準備數據以供Surprise庫使用來為推薦做好準備。
from surprise import Reader , Datasetreader = Reader ( rating_scale =(-1, 10))data = Dataset . load_from_df ( melt_df . fillna (0) , reader )
  • 模型訓練與評估:該系統的開發目的是根據用戶的偏好來推薦電影,推薦系統的首選工具Surprise庫。
from surprise import SVDfrom surprise.model_selection import train_test_split ,cross_validatetrainset , testset = train_test_split (data , test_size =0.25)algo = SVD ()algo . fit( trainset )predictions = algo . test ( testset )cross_validate (algo , data , measures =[ ’RMSE ’, ’MAE ’], cv =3,verbose = True )
  • 進行預測:現在,使用SVD算法進行預測,該算法是進行矩陣因式分解的強大工具,用于預測用戶對電影的評分。
user_id = ’ A1CV1WROP5KTTW ’movie = ’Movie6 ’rating = 5algo . predict ( user_id , movie , r_ui = rating )

結果如下所示:pC828資訊網——每日最新資訊28at.com

圖片圖片pC828資訊網——每日最新資訊28at.com

7、結論(模型應用)

這個腳本不僅揭示了亞馬遜電影評分數據的復雜性,還提供了一個多功能的分析工具包。這里的方法也可以適用于各種數據場景。例如,在教育領域,類似的推薦系統可以推薦個性化的學習材料、課程甚至課外活動,從而提高學生的參與度和學習效果。pC828資訊網——每日最新資訊28at.com

8、教育示例

利用Surprise庫,根據學生的偏好推薦教育資源。pC828資訊網——每日最新資訊28at.com

  • 數據集:
import pandas as pd# 假設'education_data.csv'包含列'student_id'、'resource_id'和'rating'education_data = pd. read_csv (" path_to / education_data . csv")print ( education_data . head ()
  • 分析資源受歡迎程度:

找出最受歡迎或評分最高的教育資源。pC828資訊網——每日最新資訊28at.com

resource_popularity = education_filtered . groupby’resource_id ’). sum ()most_popular_resource =resource_popularity [’rating ’]. idxmax ()print (" Most_popular_resource :{ most_popular_resource }")
  • 建立教育推薦模型:

利用Surprise庫,根據用戶偏好推薦教育資源。pC828資訊網——每日最新資訊28at.com

resource_popularity =education_filtered . groupby (’ resource_id ’). sum ()most_popular_resource =resource_popularity [’rating ’]. idxmax ()print (" Most _popular _resource :{ most_popular_resource }")
  • 推薦教育資源:

針對特定學生和教育資源預測評分,展示該模型在教育環境中的適用性。pC828資訊網——每日最新資訊28at.com

Student_id = ’student123 ’resource = ’course456 ’predicted_rating = algo . predict ( Student_id , resource ). estprint (" Predicted_rating_for_resource{ resource }_by_user_{ user_id }:{ predicted_rating }")

可以在Github上查看源代碼和數據集。pC828資訊網——每日最新資訊28at.com

【Github】:https://github.com/chukolate007/amazon-user-based-recommendation-systempC828資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-39517-0.html基于Python和Surprise庫,新手也能動手搭建推薦系統

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 用 print 太慢了!強烈推薦這款 Python Debug 工具

下一篇: 使用RabbitMQ和Spring Cloud Stream實現異步通信

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 长乐市| 衡山县| 海丰县| 衡阳市| 濉溪县| 章丘市| 边坝县| 仪陇县| 修水县| 阜平县| 广州市| 涟水县| 昭觉县| 盘山县| 田东县| 车险| 嘉鱼县| 佛坪县| 南汇区| 濮阳市| 城口县| 姚安县| 广安市| 遂平县| 双流县| 利辛县| 上蔡县| 遵义市| 禹城市| 临城县| 成安县| 宜城市| 萝北县| 京山县| 游戏| 昌乐县| 象山县| 左贡县| 高碑店市| 渭源县| 宜丰县|