国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

網站如何做前后端分離百度接單平臺

網站如何做前后端分離,百度接單平臺,到哪個網站做任務,asp網站自動識別手機加權推薦算法 文章目錄 加權推薦算法1.推薦算法的簡單介紹2.加權推薦算法詳細介紹3.代碼實現(xiàn)4.總結 1.推薦算法的簡單介紹 眾所周知,推薦算法有很多種,例如: 1.加權推薦:分為簡單的特征加權,以及復雜的混合加權。主要…

加權推薦算法

文章目錄

  • 加權推薦算法
    • 1.推薦算法的簡單介紹
    • 2.加權推薦算法詳細介紹
    • 3.代碼實現(xiàn)
    • 4.總結


1.推薦算法的簡單介紹

眾所周知,推薦算法有很多種,例如:

1.加權推薦:分為簡單的特征加權,以及復雜的混合加權。主要是將特征以權重進行計算總和,排序出前幾名的數(shù)據(jù),即最符合條件的數(shù)據(jù),推薦給用戶。

2.內容基推薦:這種方法基于物品的特征。系統(tǒng)會分析用戶過去喜歡的物品特征,然后找到具有類似特征的其他物品推薦給用戶。這種方法依賴于對物品內容的深入理解,比如文本、圖像或音頻特征。

比如我想買【華為手機】,但是系統(tǒng)中關于華為手機的商品很少,在用戶繼續(xù)瀏覽的過程中,就會根據(jù)華為手機屬于【手機】類的這個特征,推薦其他【手機】類型的商品。

3.協(xié)同過濾推薦:分為物品基協(xié)同過濾用戶基協(xié)同過濾。
簡單描述一下【用戶基協(xié)同過濾】。
如果一個用戶A喜歡某個物品,那么這個系統(tǒng)會找到與用戶A相似的其他用戶B,然后將B喜歡的、A還未接觸的物品推薦給A。

2.加權推薦算法詳細介紹

本次探討的就是簡單的特征加權,以留學申請為例簡單描述一下:
比如留學申請的過程中中有幾個重要特征參數(shù):所在國家、全球QS排名、專業(yè)。
那么當我想選擇:{英國,前10,計算機}這樣的數(shù)據(jù)時,一般會怎么查呢?是不是精確查詢了?在數(shù)據(jù)庫中找到英國+QS前10+計算機這樣的數(shù)據(jù)返回給用戶。
在這里插入圖片描述

但是在面對數(shù)據(jù)較少的時候,顯示給用戶的數(shù)據(jù)就太少了,比如我上面展示的,只有2條數(shù)據(jù)符合要求。
那如果我想每次用戶搜索完成后,最少都要展示10條數(shù)據(jù)呢?
這樣就需要在精確搜索進行改進了,改為【特征加權推薦】,以國家、專業(yè)、QS排名三個為特征,設置權重,對數(shù)據(jù)庫中的數(shù)據(jù)進行計算,獲取前10個得分最高的數(shù)據(jù)展示。

這樣就可以推薦出用戶也“可能”喜歡的院校了,比如就推薦出了美國高校的計算機專業(yè)。
在這里插入圖片描述

3.代碼實現(xiàn)

實現(xiàn)代碼示例如下:
加權推薦的算法部分
首先我們需要準備留學專業(yè)的java實體類。

package com.ride.system.domain;import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ride.system.common.core.domain.BaseEntity;/*** 留學專業(yè)信息對象 sys_study_abroad**/
public class SysStudyAbroad extends BaseEntity
{private static final long serialVersionUID = 1L;/** 主鍵 */private Long studyAbroadId;/** 國家 */private String country;/** 專業(yè) */private String major;/** QS排名 */private String qs;// 推薦加權得分private Double score;public Double getScore() {return score;}public void setScore(Double score) {this.score = score;}public String getQs() {return qs;}public void setQs(String qs) {this.qs = qs;}public String getCountry() {return country;}public void setCountry(String country) {this.country = country;}public SysMajor getMajor() {return major;}public void setMajor(SysMajor major) {this.major = major;}
}

接下來,編寫推薦算法的函數(shù)

/*** 加權平均推薦算法* @param userInput 用戶輸入* @param majors 留學專業(yè)列表,即數(shù)據(jù)庫中全部專業(yè)數(shù)據(jù)* @param weights 權重規(guī)則* @return*/
public static List<SysStudyAbroad> weightedRecommendation(SysStudyAbroad userInput, List<SysStudyAbroad> majors, Map<String, Double> weights) {List<SysStudyAbroad> recommendations = new ArrayList<>();for (SysStudyAbroad major : majors) {double score = 0;// 計算每個權重的得分// 如果滿足一個要求,則得1分,否則0分。double countrySimilarity = userInput.getCountry().equals(major.getCountry()) ? 1 : 0;double majorSimilarity = userInput.getMajor().equals(major.getMajor()) ? 1 : 0;double qsRankSimilarity = Math.abs(Integer.parseInt(userInput.getQs()) - Integer.parseInt(major.getQs())) >= 0 ? 1: 0;// 加權得分綜合score += weights.get("country") * countrySimilarity;score += weights.get("major") * majorSimilarity;score += weights.get("qsRank") * qsRankSimilarity;major.setScore(score);recommendations.add(major);}// 根據(jù)加權的得分進行推薦排序recommendations.sort((c1, c2) -> Double.compare(c2.getScore(), c1.getScore()));return recommendations;
}

在需要調用的地方進行調用

/*** 推薦留學專業(yè)信息列表** @param sysStudyAbroad 留學專業(yè)信息* @return 留學專業(yè)信息*/
@Override
public List<SysStudyAbroad> recommend(SysStudyAbroad sysStudyAbroad)
{// 查詢數(shù)據(jù)庫專業(yè)數(shù)據(jù)List<SysStudyAbroad> majors = sysStudyAbroadMapper.selectSysStudyAbroadListAll();//設置權重值,國家為0.3,專業(yè)為0.5,qs排名為0.2Map<String, Double> weights = new HashMap<>();weights.put("country", 0.3);weights.put("major", 0.5);weights.put("qsRank", 0.2);List<SysStudyAbroad> recommendations = weightedRecommendation(sysStudyAbroad, majors, weights);recommendations = recommendations.subList(0, Math.min(20, recommendations.size()));for (SysStudyAbroad major : recommendations) {System.out.println("國家: " + major.getCountry() + ", 專業(yè): " + major.getMajorId() + ", QS排名: " + major.getQs() + ",權重: " + major.getScore());}return recommendations;
}

用戶輸入如下

在這里插入圖片描述

推薦結果如下

在這里插入圖片描述

4.總結

特征加權推薦算法適用于在用戶條件的基礎上推薦額外的內容,適用于有2個特征以上的數(shù)據(jù)結構。

如有問題,歡迎評論區(qū)批評指正!??

http://m.aloenet.com.cn/news/43976.html

相關文章:

  • 阿里云服務器搭網站同時做網盤網絡服務器多少錢一臺
  • 公司網頁設計圖青島seo排名公司
  • 做阿里巴巴網站應怎樣定位怎么找推廣渠道
  • 北京做網站制作的公司哪家好網上營銷
  • 靜態(tài)網站怎么做滾動文字國外最好的免費建站
  • 網站是生成靜態(tài)好還是動態(tài)好青檸影院免費觀看電視劇高清
  • 鄭州建站的站長收錄平臺
  • app對接網站登錄要怎么做優(yōu)化營商環(huán)境心得體會2023
  • 拔別人的網站做網站合法嗎百度搜索引擎關鍵詞
  • 徐州網站開發(fā)培訓網站關鍵詞上首頁
  • 如何將自己做的網站國內新聞今日頭條
  • wordpress會員系統(tǒng)seo收費標準
  • 深圳住房和城鄉(xiāng)建設局網站首頁亞馬遜免費的關鍵詞工具
  • 網站建設規(guī)劃書有哪些內容紹興seo排名收費
  • 江蘇新有建設集團有限公司官方網站中國站長網站
  • 溫州專業(yè)手機網站制作哪家便宜搜索引擎推廣是什么意思
  • 網站用Access做數(shù)據(jù)庫鏈接提取視頻的網站
  • wordpress 導入工具插件下載全國推廣優(yōu)化網站
  • 怎么做網站的內鏈高質量內容的重要性
  • 用js做自適應網站nba最新交易匯總實時更新
  • asp做的網站今日新聞國際最新消息
  • 墻繪做網站靠譜不中國有幾個搜索引擎
  • 專門做墓志銘的網站百度sem競價推廣電子書
  • wordpress備份和恢復seo公司賺錢嗎
  • 公共建設工程中心網站seo手機端排名軟件
  • 家政網站制作近期出現(xiàn)的病毒叫什么
  • 做視頻剪輯接私活的網站軟文擬發(fā)布的平臺與板塊
  • 網站建設入固定資產競彩足球最新比賽
  • b2b電子商務網站怎么做鄭州聚商網絡科技有限公司
  • 科技 響應式網站模板怎么搞自己的網站