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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

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

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

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

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

旅游推薦系統(tǒng)更新版本_#Amark的博客-CSDN博客

整個推薦模型的設(shè)計(jì)和實(shí)現(xiàn)的大體結(jié)構(gòu)如下:

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

目錄

了解基于django的web開發(fā)

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

開始接觸算法的應(yīng)用和創(chuàng)新,在畢設(shè)設(shè)計(jì)到了TF-IDF算法、樸素貝葉斯分類、蟻群算法

學(xué)會了網(wǎng)絡(luò)爬蟲,本次畢設(shè)使用的是beautifulsoup4v?

接觸了數(shù)據(jù)挖掘、基于內(nèi)容的推薦


現(xiàn)在目錄上的章節(jié)如果有時間會進(jìn)行詳細(xì)的文章編寫,目前暫時只完成了網(wǎng)絡(luò)爬蟲部分。

了解基于django的web開發(fā)

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

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

    自從使用了python以后,才發(fā)現(xiàn)python是真的很好用哈,基本可以使用python進(jìn)行編程了。

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

  • 我使用TF-IDF是進(jìn)行的關(guān)鍵詞提取
  • 使用樸素貝葉斯來進(jìn)行景點(diǎn)分類
  • 使用蟻群算法用來進(jìn)行景點(diǎn)的路徑規(guī)劃
  • 這些算法還是真的神奇,佩服數(shù)學(xué)的神奇!

    學(xué)會了網(wǎng)絡(luò)爬蟲,本次畢設(shè)使用的是beautifulsoup4

    第一次爬蟲額,成功的爬取到了攜程網(wǎng)的酒店、景點(diǎn)、美食信息。

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

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

    # -*- coding: utf-8 -*- import requests import io from bs4 import BeautifulSoup as BS import time import re"""從網(wǎng)上爬取數(shù)據(jù)"""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)): #爬取對應(yīng)的特色菜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]}); #對應(yīng)的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("正在打印的條數(shù):",j)try:#獲取子網(wǎng)頁鏈接地址href=vs[j].find(name="a",attrs={"target":"_blank"}).attrs["href"];#print("href",href)# 再次請求子網(wǎng)頁,獲取景點(diǎn)詳細(xì)信息res = requests.get(base2+href, headers=headers)print("當(dāng)前訪問的網(wǎng)址:",base2+href)with open("3.html","w",encoding="utf-8") as f:f.write(res.text)soupi = BS(res.text,"html.parser") #該網(wǎng)頁的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()#關(guān)閉瀏覽器 # 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

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

    接觸了數(shù)據(jù)挖掘、基于內(nèi)容的推薦

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

  • 數(shù)據(jù)挖掘的主要是最有用信息的一個提取,而我此次做的我覺得跟和機(jī)器學(xué)習(xí)相關(guān)聯(lián),因?yàn)槭且粋€自動學(xué)習(xí)的過程。
  • 然后基于內(nèi)容的推薦,跟需要的自身含有的數(shù)據(jù)量,數(shù)據(jù)越多可能得到的結(jié)果會跟好,但是過多過少都會影響結(jié)果的正確性,過少的話會導(dǎo)致信息的特征少,過多的話會導(dǎo)致特征太過于負(fù)責(zé),并且基于內(nèi)容的推薦是不能挖掘用戶的潛在信息的。
  • 總結(jié)

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

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。