


摘要:該文采用Python爬蟲技術獲取相關茶飲數據,這種數據獲取技術能夠多維度地及時了解到茶飲消費的現狀。目前實現的是爬取美團網上的茶飲數據,并存入CSV文件以供下一步的數據分析使用。在Python的相關庫,如pandas、numpy以及貝葉斯估計推薦算法的加持下,能科學地得出相關的茶飲店鋪推薦情況,從而給予消費者以及企業極大的參考價值。該文對從網頁端獲取到的茶飲數據,如茶飲店鋪名稱、店鋪詳情、店鋪評分、評價人數、人均消費等信息進行算法分析,研究了數據分析過程中的基本流程,以及貝葉斯估計推薦算法所蘊含的推薦原理.總結了從數據源頭的收集,到存儲直至分析應用,最終挖掘出數據價值的過程,整個分析結果為用戶及企業奠定了科學選擇的基礎。
關鍵詞:Python爬蟲;數據分析;貝葉斯估計;推薦算法
中圖分類號:TP315.69? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)17-0012-03
1引言
在相當長的一段時間里,人們都是通過傳統的線下交易來進行物品之間的買賣。而隨著互聯網的發展,再到移動支付的應運而生,用戶通過線上購物的消費方式已越發普遍。以茶飲產品為例,人們可以足不出戶地了解這些茶飲商品的信息,在線上進行購買,或是先在線上了解商品詳情,再到實體店進行體驗并消費,減少了資源浪費,對于企業以及用戶可謂是雙贏的局面.長此以往,線上消費便產生了大量的消費數據,將數據進行收集、管理、分析及應用將會發掘出數據背后所蘊藏的巨大價值[1]。以往傳統的茶飲銷售報表已經不能很好地滿足數據分析的需要,在數智時代使用先進的數據分析技術對數據進行有效利用已然成為了新時代的機遇與挑戰。對于茶飲行業而言,消費者如何從海量的數據中找到性價比較高的茶飲店鋪,企業如何根據茶飲市場的現狀做出抉擇,成為現如今需要思考的一個問題。
2數據獲取
目前針對國內的茶飲市場數據分析主要來自國家統計局以及智研咨詢,除了這兩者便是各大茶飲企業的銷售數據。但是其中存在著一些問題,對于國家統計局以及智研咨詢來說,雖然其數據規模較為龐大,能對中國茶飲行業的未來做出相應的預測,但對于消費者而言,更多關注的是時下茶飲店鋪的具體情況,因為他們需要了解的信息只有所處區域附近茶飲店鋪的價格情況、服務質量、口碑等[2]。而關于茶飲行業將來的發展走向,消費者可能不會過多關注。而對于這些茶飲企業而言,他們能借助現有宏觀數據對茶飲市場未來發展趨勢有一定的預見,但是這些數據都過于籠統,缺乏具體的影響因素。其次,茶飲市場中的品牌眾多,這導致某一品牌茶飲企業只有自己企業的茶飲數據,而不具備其他茶飲品牌的數據,無法找到和其他茶飲企業的異同。以上這些問題導致消費者在短時內無法找到適合自己的茶飲產品,而企業也很難發現其面臨的具體問題,這便給決策帶來了些許的障礙[3]。
2.1 新型數據獲取方式
本文中的茶飲數據獲取方式將采用Python爬蟲技術,所謂的互聯網爬蟲(網絡爬蟲),就是可以自主獲取網頁上內容的程序,又可以將它稱為網頁蜘蛛,或者是稱為網絡機器人[4]。它是一種腳本或者程序,依照特定好的規定,自主獲取網頁上的各種信息。在特定網頁分析算法的加持下,能將部分與目標鏈接無關的信息過濾,智能選擇抓取網頁URL,可見在現如今數據獲取方面,Python爬蟲技術相較于傳統的數據獲取方式更加具有價值和優勢[5]。
本文中茶飲數據的獲取采用的便是Python爬蟲技術,首先要確定茶飲數據來源的網站,然后利用Python的requests庫發起URL請求,導入CSV庫,將返回的茶飲數據保存至CSV文件以供下一步的分析使用。同時還需引入time庫,設置每3秒請求一次,從而緩解服務器的壓力[6]。
2.2 茶飲數據獲取
本文的茶飲數據來源于美團網,數據規模涵蓋了全國的各大城市:北京、上海、廣州、深圳、天津、西安、重慶、杭州、南京、武漢等幾乎所有茶飲店鋪數據,共計11000余條。實驗所需要用到的數據包含了茶飲店鋪名稱、店鋪詳情、店鋪評分、評價人數、人均消費等信息,數據獲取結果如圖1所示。
3 數據獲取
針對獲取到的茶飲數據,對這些數據進行分析時,先將數據進行清洗,再結合貝葉斯估計算,通過構建相應算法模型,能在數據分析的基礎上,對數據結果做出科學的推薦。
3.1 新型數據獲取方式
貝葉斯估計(Bayesian estimation)的基本思維基于的是貝葉斯定理,為了得到新的概率,要把先前的先驗概率與新的證據一并結合起來。當需要計算假設的概率時,就可以利用貝葉斯估計的方法。這個方法會用到之前假設的先驗概率,然后可以通過這些假設的先驗概率,從而觀測到數據本身,以及不同數據所對應的概率[7]。貝葉斯定理的表達式可以寫成以下公式:
其中,公式里面的H代表的是假說,其概率可能會遭到實驗所產生數據的影響。E為實驗所產生的數據,實驗數據對應的是新的數據,即未用于計算先驗概率的數據。先驗概率為P(H),在觀察到數據E以前,假說H的概率。P(H|E)為后驗概率,是在給定一個實驗研究數據E之后,假說H的概率。P(E|H)是假設H成立時發生E的概率。當H不變時,這是E的函數,也稱為似然函數,表示假設與給定假設的證據之間的相容程度[8]。似然函數為實驗過程中數據E的函數,而后驗概率則為假說H的函數。有的時候也會稱P(E)為邊緣似然率。這個系數對所有可能的假設都是常數,所以它不用來確定不同假設的相對概率。貝葉斯估計最關鍵的點是可以通過利用貝斯定理進行結合新的證據及以前的先驗概率,來得到新的概率[9]。貝葉斯估計能夠迭代使用:觀察到一些證據后得出的后驗概率可以作為先驗概率,而后按照新的證據得到新的后驗概率。所以,貝葉斯定理能夠應用于許多不同的證明,無論它們是否同時出現,這個過程稱為貝葉斯更新[10]。基于貝葉斯估計原理,結合前面獲取到的相關茶飲數據,便可以構建基于貝葉斯估計的推薦算法模型。
3.2 基于貝葉斯估計的推薦算法
構建基于貝葉斯估計的推薦算法,公式如下:
其中,V代表的是某一個茶飲店鋪參與評價的消費者數量。M則是篩選出來的消費者評價個數的閾值,即如果某家店鋪評價的個數低于該閾值,則該茶飲店鋪將被忽略。該店鋪的評分為R,所有茶飲店鋪評分的均值用C表示。M的取值能夠按照實驗的目標自由地選取,在本文的模型中,采用的是90分位值,也即是只選取評價人數為前10%的茶飲店鋪進行分析推薦。
3.3 基于貝葉斯估計的推薦算法結果
導入全國茶飲數據,根據基于貝葉斯估計的推薦算法模型從而科學地得出茶飲店鋪推薦Top10。推薦算法結果如圖2所示。
從模型的運算結果可以看出,通過基于貝葉斯估計的推薦算法,能根據茶飲數據重新計算出每一個茶飲店鋪的綜合得分,從而基于此得分對茶飲店鋪進行相關排序。本文中只取出排序Top10的茶飲店鋪,同時返回茶飲店鋪的基本信息。對于用戶而言,還可以點擊相應店鋪詳情鏈接進行深入地了解。
3.4 實驗結果數據準確性驗證
對于貝葉斯估計推薦算法給出的結果,是否科學合理,需要通過實驗數據的對比分析來進行相關驗證。基于貝葉斯估計推薦算法,上文中已將全國的茶飲店鋪數據一起導入到算法模型中,得出全國的茶飲店鋪推薦Top10。現在不妨將每個城市的茶飲店鋪數據分別導入到算法模型中,此時,便得到了每個城市其對應的茶飲店鋪推薦Top10。再將這些城市其對應的茶飲店鋪推薦Top10合并到一起,得到了一個新的數據集。在這個數據集中,每一個茶飲店鋪總會屬于某一個城市的茶飲店鋪推薦Top10。現在將這個包含了全國各自城市茶飲店鋪推薦Top10的數據集,再重新導入到算法模型中,得出了基于貝葉斯估計推薦算法新的推薦結果,如圖3所示。
為了比較這兩種基于同一算法模型,不同方式的推薦結果,現將全國茶飲店鋪推薦Top10結果和各個城市茶飲店鋪推薦Top10數據集推薦結果放在一起進行對比,如圖4所示。
從結果對比可以看出,同一算法模型下,兩種推薦方式的結果發生了變化,推薦結果中,Top10的茶飲店鋪里,50%的茶飲店鋪是一致的,那么能否說明算法缺乏準確性,答案是否定的。源于算法模型的邏輯,上文提到,采用的是90分位值,也即是只選取評價人數為前10%的茶飲店鋪進行分析推薦。第一種推薦方式,數據集為全國茶飲店鋪數據,數據規模龐大,而第二種推薦方式中,先是對各個城市的茶飲店鋪數據進行推薦,數據規模相對全國而言較小。受算法模型中分位值的影響,故推薦結果產生了些許偏差,為了進一步探究其推薦結果的可靠性,現進一步驗證。
3.5 實驗結果數據科學性驗證
對于上文中的第二種推薦方式,首先會得到包含了全國各個城市茶飲店鋪Top10的數據集,再導入到算法模型中,得出相應的推薦結果。由于這個數據集來源于全國各個城市的茶飲店鋪在算法模型推薦下的結果,產生了相應的茶飲店鋪綜合得分。于是,現在不將這個數據集導入到算法模型中,而是僅憑相應的茶飲店鋪綜合得分對數據集進行倒敘排列,挑選出Top10的茶飲店鋪數據,再將結果與全國茶飲店鋪推薦Top10進行對比,我們發現結果是完全一致的,這也驗證了上文中不同方式推薦結果偏差受到了算法模型中分位值的影響這一結論,如圖5所示。
然而,僅憑相應的茶飲店鋪綜合得分對數據集進行倒敘排列,挑選出Top10的茶飲店鋪進行推薦,結果是否一定科學,需再一次進行分析驗證,現將結果與在算法模型下的推薦結果進行對比分析,結果如圖6所示。
從對比的結果中可以看到,如圖6中的上表中,僅憑相應的茶飲店鋪綜合得分對數據集進行倒敘排列后,排在第一與第二的茶飲店鋪評分均為5.0,而排在第一的茶飲店鋪評價人數為5502,排在第二的茶飲店鋪評價人數為5716,很顯然,茶飲店鋪評分相同的情況下,評價人數相對較少的茶飲店鋪卻排在了第一,這顯然是不科學的。而在貝葉斯估計推薦算法模型的加持下,對數據進行宏觀把控,微觀分析,重新計算綜合得分,再進行相應推薦,將這樣不科學的結果糾正了過來,如圖6中的下表所示。至此,貝葉斯估計推薦算法模型的科學性得以驗證。
4結束語
基于規模較大的實驗數據以及反復的實驗對比分析,足以看出貝葉斯估計推薦算法邏輯嚴謹,在準確性與科學性方面表現較為出色,算法模型的可靠性能得到很大程度的保證。通過貝葉斯估計,構建相應的算法推薦模型,有利于對數據進行科學的分析,為用戶提供高質量的選擇。使得用戶可以在海量的茶飲店鋪中找到真正性價比高的茶飲店鋪進行消費,從而極大地提高了消費體驗。同時也為企業的決策指明了方向,可以一窺企業自身的不足,而依據推薦結果,取其精華,加以改進。
接下來的研究工作是對算法進行優化,或者重新構建相關算法模型,加入更多數據的影響因子,以便得出更加精準的推薦結果。既能提升算法執行的效率,又能確保推薦結果的準確性。同時,數據的獲取雖然可靠性能得到保障,但是更新數據卻需要定期自主更新,在效率上并不是很高。并且數據規模不是很龐大,難以在短時間內發掘更多的數據價值。后續可以在修改爬蟲代碼的基礎上,結合云服務器,從而讓這些數據能夠定時地實現自主更新。此外,結合機器學習中的相關理論模型,對相應茶飲數據進行擬合預測,也是一個極具價值的研究方向。
參考文獻:
[1] 韓文煜.基于python數據分析技術的數據整理與分析研究[J].科技創新與應用,2020(4):157-158.
[2] 蔣敏.新式茶飲行業發展現狀與未來展望[J].農業考古,2021(2):221-227.
[3] 俞沅沅.淺析中國新式茶飲產業[J].商場現代化,2021(23):23-25.
[4] 陳樂.基于Python的網絡爬蟲技術[J].電子世界,2018(16):163,165.
[5] 徐恒.社會化網絡數據獲取技術研究與實現[D].長春:吉林大學,2016.
[6] 于大海,張巖.淺談HTTP服務器的設計與實現[J].教育教學論壇,2012(S1):232-234.
[7] Guan Q,Tang Y C,Xu A C.Reference Bayesian analysis of inverse Gaussian degradation process[J].Applied Mathematical Modelling,2019,74:496-511.
[8] Bennun L.An “ad-hoc” modified likelihood function applied to optimization of data analysis in atomic spectroscopy[J].Measurement,2018,116:140-145.
[9] 鄧柙.基于先驗概率與隨機參數改進神經網絡模型及應用研究[D].成都:四川師范大學,2021.
[10] 魏煒,申金升.基于貝葉斯更新的供應鏈協同預測模型研究[J].預測,2010,29(5):68-73.
收稿日期:2022-03-16
作者簡介:周渝(1997—),男,四川巴中人,學士,主要研究方向為計算機科學與技術。