日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

旅游推荐系统毕业设计总结(包含旅游信息爬取、算法应用和旅游推荐系统实现)

發布時間:2023/12/10 windows 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 旅游推荐系统毕业设计总结(包含旅游信息爬取、算法应用和旅游推荐系统实现) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

哇塞,大學本科四年的時光就這樣結束了,雖然做畢設的整個過程并不是特別煎熬,也沒有像別人一樣熬夜寫代碼,但是通過畢設我確實了解很多計算機相關知識,現在進行一個簡單的總結:

最近更新這個系統,具體頁面展示在這一片博客:

旅游推薦系統更新版本_#Amark的博客-CSDN博客

整個推薦模型的設計和實現的大體結構如下:

通過從數據庫或csv文件中獲取數據源,首先把數據進行數據清洗、數據集成、數據規約和模型鑒定,緊接著將數據與對應模式庫的規則進行模式匹配,從而選擇合適的算法進行模型訓練和學習,并進行算法評估和對新出現的數據進行存儲和學習,在上述過程中對所有操作進行日志管理和檢驗是否具備可操作權限,最后輸出用戶所期望的數據信息和內容。該模型能應用在景點分類、經費計算、路徑規劃、酒店推薦、特征提取、美食推薦。

目錄

了解基于django的web開發

學會了python的基本使用,包含其中的numpy、pandas、jieba、sqlite、re等各式各樣的庫

開始接觸算法的應用和創新,在畢設設計到了TF-IDF算法、樸素貝葉斯分類、蟻群算法

學會了網絡爬蟲,本次畢設使用的是beautifulsoup4v?

接觸了數據挖掘、基于內容的推薦


現在目錄上的章節如果有時間會進行詳細的文章編寫,目前暫時只完成了網絡爬蟲部分。

了解基于django的web開發

由于本次在研究中需要對模型的應用進行一個更好的可視化展示效果,我做了兩個簡單的開發界面,第一個是旅游界面的推薦,第二個是推薦后得到的結果。其具體Django教程在:快速入門Django開發教程(旅游推薦系統實現教程)

  • 在做界面的時候主要是體驗了一下循環渲染吧。{% %}
  • 使用了json做了一下前后端數據的傳輸
  • 使用ajax做了異步傳輸
  • 還有如何快速獲取網頁的代碼,當然這個只適用于日常的學習和研究。
  • 模型的實現和應用
  • 學會了python的基本使用,包含其中的numpy、pandas、jieba、sqlite、re等各式各樣的庫

    自從使用了python以后,才發現python是真的很好用哈,基本可以使用python進行編程了。

  • 了解到python中的字典、元組的使用并不局限于一維的方法,并能結合字典和元組一起使用。
  • 在django開發中理解了class的使用和函數的定義和引用
  • jieba用來處理的分詞效果是真的很好哦
  • numpy用來數據和矩陣的處理,真的很方便,基本上和pandans、matplotlib一起使用了
  • 接觸了一種新的數據庫sqlite,了解了基本的增刪改查。
  • 接觸到正則表達式,主要用了信息提取和信息刪除
  • 還有如何創建csv文件、遍歷文件
  • 接觸到一種新的庫管理工具homebrew
  • 開始接觸算法的應用和創新,在畢設設計到了TF-IDF算法、樸素貝葉斯分類、蟻群算法

  • 我使用TF-IDF是進行的關鍵詞提取
  • 使用樸素貝葉斯來進行景點分類
  • 使用蟻群算法用來進行景點的路徑規劃
  • 這些算法還是真的神奇,佩服數學的神奇!

    學會了網絡爬蟲,本次畢設使用的是beautifulsoup4

    第一次爬蟲額,成功的爬取到了攜程網的酒店、景點、美食信息。

    其中本次爬蟲的主要思想是:首先是找到攜程網url的編寫規律,然后根據規律使用beautifulsoup4對所需的html語言中的信息提取,最后就是封裝處理。

    如下是我爬取美食的代碼,貌似景點和酒店已經我寫的代碼已經爬不了了。其具體代碼在使用python爬取攜程網旅游信息(包含景點、酒店、美食)

    # -*- coding: utf-8 -*- import requests import io from bs4 import BeautifulSoup as BS import time import re"""從網上爬取數據"""headers = { "Origin": "https://piao.ctrip.com", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36", } places=["beijing1","shanghai2","changsha148","sanya61","chongqing158","hongkong38","chengdu104","haerbin151", "xian7","guangzhou152","hangzhou14"] placenames=["北京","上海","長沙","三亞","重慶","香港","成都","哈爾濱","西安","廣州","杭州"]places=["changsha148"] placenames=["長沙"]base="https://you.ctrip.com/fooditem/"; base2="https://you.ctrip.com"; requestlist=[]for j in range(len(places)): #爬取對應的特色菜requestlist.append({"url":base+places[j]+".html","place":placenames[j]})for i in range(2,2):tmp=base+places[j]+"/s0-p"+str(i)+".html"requestlist.append({"url":tmp,"place":placenames[j]}); #對應的url地址和所查詢的位置 print(requestlist) l=[] count=1; for i in range(len(requestlist)):response = requests.get(requestlist[i]["url"], headers=headers)#print(response)html=response.text#print(html)soup=BS(html,'html.parser')vs=soup.find_all(name="div",attrs={"class":"rdetailbox"})print("len(vs)",len(vs))for j in range(len(vs)):print("正在打印的條數:",j)try:#獲取子網頁鏈接地址href=vs[j].find(name="a",attrs={"target":"_blank"}).attrs["href"];#print("href",href)# 再次請求子網頁,獲取景點詳細信息res = requests.get(base2+href, headers=headers)print("當前訪問的網址:",base2+href)with open("3.html","w",encoding="utf-8") as f:f.write(res.text)soupi = BS(res.text,"html.parser") #該網頁的html代碼#print(soupi)vis = soupi.find_all(name="li",attrs={"class":"infotext"}); #獲取此時的dom文件位置所在#print(vis)introduce=[]for i in range(len(vis)):introduce.append(vis[i].get_text())imgs=[];imglinks=soupi.find_all(name="a",attrs={"href":"javascript:void(0)"})#print(imte)# print(imglinks)# print(type(imglinks))#for img in imte:#imgs.append(img.attrs["src"])tmp={};tmp["id"]=count;tmp["name"]=vs[j].find(name="a",attrs={"target":"_blank"}).string;tmp["name"]=tmp["name"].replace(" ","").replace("\n","");tmp["introduce"]=introducetmp["img"]=imglinkstmp["city"]=requestlist[i]["place"]count=count+1;l.append(tmp);time.sleep(1);except Exception as e:print(e)pass#print ("打印tmp",tmp)# with open("datap/"+tmp["name"]+".pk",'wb') as f:# pickle.dump(tmp,f);with io.open("/Users/hujinhong/PycharmProjects/untitled5/food/changsha/"+tmp["name"]+".txt",'w',encoding="utf-8") as f:f.write(str(tmp)) #print(l) for i in l:print((i)) # # browser.close()#關閉瀏覽器 # with open("data2.txt",'w',encoding='utf-8') as f: # f.write(str(l)) # with open("data2.pk","w",encoding="utf-8") as f: # pickle.dump(l,f); #https://hotels.ctrip.com/hotel/qingdao7/star2/k1%E4%BA%94%E5%9B%9B%E5%B9%BF%E5%9C%BA#ctm_ref=ctr_hp_sb_lst

    所以爬蟲還是挺有意思的。

    接觸了數據挖掘、基于內容的推薦

    這兩個話題雖然比較大,但是我還是想簡單說一下自己的理解

  • 數據挖掘的主要是最有用信息的一個提取,而我此次做的我覺得跟和機器學習相關聯,因為是一個自動學習的過程。
  • 然后基于內容的推薦,跟需要的自身含有的數據量,數據越多可能得到的結果會跟好,但是過多過少都會影響結果的正確性,過少的話會導致信息的特征少,過多的話會導致特征太過于負責,并且基于內容的推薦是不能挖掘用戶的潛在信息的。
  • 總結

    以上是生活随笔為你收集整理的旅游推荐系统毕业设计总结(包含旅游信息爬取、算法应用和旅游推荐系统实现)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。