版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
摘要論文首先詳細(xì)介紹了DOTA2以及統(tǒng)計機(jī)器學(xué)習(xí)的背景以及其的現(xiàn)狀,然后討論了用統(tǒng)計機(jī)器學(xué)習(xí)方法探索DOTA2最佳陣容的設(shè)計目標(biāo),\t"C:/Users/ASUS/Desktop/%E6%AF%95%E4%B8%9A%E8%AE%BA%E6%96%87/report2019-3-8-17-24-07/PaperPass-%E6%97%97%E8%88%B0%E7%89%88-%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/htmls/detail_report/right"項目要求和整體項目設(shè)計,以及展開項目的具體設(shè)計和開發(fā)的全面討論。本文項目功能基于Python的BeautifulSoup、Selenium、Matplotlib等庫,編寫對應(yīng)代碼而實現(xiàn)了一個DOTA2最佳陣容抉擇的項目。項目包括爬蟲、統(tǒng)計機(jī)器學(xué)習(xí)等重要功能。關(guān)鍵詞:Python、爬蟲、數(shù)據(jù)處理、統(tǒng)計機(jī)器學(xué)習(xí)AbstractThepaperfirstlyintroducesthebackgroundandcurrentsituationofDOTA2andstatisticalmachinelearningindetail,thendiscussesthedesignobjectives,projectrequirementsandoverallprojectdesignofDOTA2bestteambystatisticalmachinelearningmethod,aswellasacomprehensivediscussiononthespecificdesignanddevelopmentoftheproject.BasedonPython'sBeautifulSoup,Selenium,Matplotlibandotherlibraries,thisarticleimplementsabest-teamchoiceforDOTA2bywritingcorrespondingcode.Theprojectincludesimportantfunctionssuchascrawlerandstatisticalmachinelearning.Keywords:Python,crawler,dataprocessing,statisticalmachinelearning
目錄第一章緒論 緒論1.1課題背景及意義DOTA2作為一個擁有TheInternational(以下稱國際邀請賽)賽事的全球獎金最高的比賽,是一個舉世皆知的電子競技項目。至今,國際邀請賽已經(jīng)成功舉辦了9次,第1屆僅有1,600,000美金的總獎金,但到了第9屆,已經(jīng)達(dá)到33,394,860美金的總獎金,9年的總增長率為2087.17875%,可見國際邀請賽的影響力之廣、電子競技項目的生命力之強(qiáng)、該項目的成長性之迅速。在中國里,電子競技運(yùn)動(E-Sport)日漸成熟,從2003年被中國國家體育總局列為中國正式開展的第99個體育項目之后,中國有很多青年也投身于這個行業(yè)。在國際上,由于職業(yè)選手日漸變多,所以賽事體制也越來越完善。由于在比賽中要經(jīng)過BP環(huán)節(jié)和正式比賽環(huán)節(jié),需要很多即時的決斷與重大的團(tuán)隊決策,而且在大腦高速運(yùn)轉(zhuǎn)的情況下,反應(yīng)力也不能下降,因此其比賽強(qiáng)度得到很多傳統(tǒng)體育行業(yè)及其他行業(yè)的人的贊許和認(rèn)可,其中代表是NBA球星林書豪,其稱DOTA2為電子競技界的NBA。DOTA2是一個ARTS游戲(multiplayerActionRealtimeStrategyGame),中文翻譯是多人動作即時戰(zhàn)略類游戲,跟一般認(rèn)知的MOBA游戲(MultiplayerOnlineBattleArena),中文翻譯是多人在線戰(zhàn)術(shù)競技游戲,是完全不一樣的,DOTA2偏向戰(zhàn)略,所以游戲里面是有非常多的變數(shù),再加上這個游戲的流行度與獎金池之深,很值得我去運(yùn)用我所學(xué)過的知識去研究這個游戲。在DOTA2里面有一個非常著名的外國職業(yè)選手叫Notail,他拿了兩屆國際邀請賽的冠軍,可謂是“前無古人,后無來者”,但他接受采訪的時候,也很坦誠的表達(dá)出:“到現(xiàn)在還沒有人找到這個游戲的正確答案,因為這里面還有太多能發(fā)掘的東西,而我想成為第一個能找到這個游戲的正確答案的人。”有很多人就算目標(biāo)不是成為職業(yè)選手,也會受其影響力而參與進(jìn)DOTA2,就跟喜歡NBA的學(xué)生平時喜歡打籃球是一樣的,玩家基數(shù)多的情況下,自然就會產(chǎn)生大量的比賽數(shù)據(jù)。職業(yè)選手會通過經(jīng)驗去簡單分析當(dāng)前版本的趨勢,但更好的是要用到更好的方法去對數(shù)據(jù)進(jìn)行處理并分析。因為國內(nèi)大多數(shù)DOTA2玩家都暫不具備該能力,所以研究本課題的意義在于,我將所學(xué)過的大數(shù)據(jù)中的統(tǒng)計機(jī)器學(xué)習(xí)方法,去研究DOTA2陣容的最優(yōu)抉擇。1.2國內(nèi)外研究現(xiàn)狀Python在多年前成為卡耐基梅隆大學(xué)(CarnegieMellonUniversity)、加州大學(xué)伯克利分校(UniversityofCalifornia,Berkeley)、哈佛大學(xué)(HarvardUniversity)、麻省理工學(xué)院(MassachusettsInstituteofTechnology)等國外很多大學(xué)的計算機(jī)專業(yè)的程序設(shè)計入門語言。目前國內(nèi)也逐漸開設(shè)了Python程序設(shè)計課程,Python同時是一門免費而且開源的編程語言,擁有很多功能非常強(qiáng)大的標(biāo)準(zhǔn)庫和擴(kuò)展庫,而且這些庫都是只要安裝了之后,可以隨時調(diào)用出來使用的。而且Python是一門在國外非常熱門的編程編程語言,PYPL是通過谷歌上的搜索頻率來創(chuàng)建的流行的編程語言索引,只要該編程語言在谷歌上搜索越多,該編程語言就會被認(rèn)為流行語言,所以PYPL排行榜是非常的有參考性的。截止到2020年,4月份,在PYPL上,Python以30.61%位居榜首,與上一期的排行榜對比,增長率為3.9%。網(wǎng)絡(luò)爬蟲則是使用Python及其標(biāo)準(zhǔn)庫和擴(kuò)展庫、然后根據(jù)網(wǎng)頁的特性,編寫一系列程序的一種技術(shù)。使用爬蟲需要安裝所需要的標(biāo)準(zhǔn)庫和擴(kuò)展庫,而且還要學(xué)習(xí)一系列的網(wǎng)頁相關(guān)的知識,并根據(jù)網(wǎng)頁的特點,去編寫對應(yīng)的程序,例如要學(xué)習(xí)HTTP的基本原理、網(wǎng)頁的組成、網(wǎng)頁的結(jié)構(gòu)、節(jié)點樹及節(jié)點間的關(guān)系、UPI和URL、超文本、HTTP和HTTPS、HTTP的請求過程、網(wǎng)頁的請求和響應(yīng)、靜態(tài)網(wǎng)頁和動態(tài)網(wǎng)頁、代理的作用、爬蟲的代理、數(shù)據(jù)存儲、Ajax數(shù)據(jù)爬取、動態(tài)渲染頁面爬取、驗證碼的識別、模擬登陸等知識。而驗證碼的識別往往是最困難的,國外最新的深度學(xué)習(xí)中的PyTorch技術(shù)能識別滑動驗證碼的缺口,總的來說有兩種方法,第一種算法是:生成一系列目標(biāo)所在位置的候選框,然后再對這些框選出來的結(jié)果進(jìn)行樣本分類,這算法涉及到深度的卷積神經(jīng)網(wǎng)絡(luò)的算法架構(gòu),所以準(zhǔn)確率會非常搞。第二種算法是:不需要產(chǎn)生第一種算法里面的候選框,直接將目標(biāo)定位和分類的問題轉(zhuǎn)化為回歸問題,因為只需要用到回歸算法,所以架構(gòu)相比第一種方法簡單,但準(zhǔn)確率會比第一種方法低。這種最新的技術(shù)大體上需要以下幾步,首先準(zhǔn)備數(shù)據(jù),訓(xùn)練深度學(xué)習(xí)模型,訓(xùn)練模型并進(jìn)行缺口標(biāo)注,處理完數(shù)據(jù)之后就對數(shù)據(jù)進(jìn)行初始化,初始化完成就預(yù)載一些預(yù)訓(xùn)練模型,安裝必須的庫,如PyTorch、TensorBoard之類的擴(kuò)展庫,當(dāng)準(zhǔn)備好之后,就可以開始訓(xùn)練剛剛初始化之后的數(shù)據(jù)集,最后進(jìn)行測試,做到這個步驟,就可以識別滑動驗證碼的缺口了。統(tǒng)計機(jī)器學(xué)習(xí)是入門級別的數(shù)據(jù)處理的一種方法,但更側(cè)重于解釋變量之間的關(guān)系,機(jī)器學(xué)習(xí)側(cè)重于做出預(yù)測,但是大多數(shù)機(jī)器學(xué)習(xí)算法缺乏可解釋性,所以很難證明數(shù)據(jù)中存在的關(guān)系。機(jī)器學(xué)習(xí)是基于統(tǒng)計學(xué)的,機(jī)器學(xué)習(xí)用的是統(tǒng)計的框架,機(jī)器學(xué)習(xí)涉及到很大量的數(shù)據(jù),數(shù)據(jù)也必須要用到統(tǒng)計學(xué)的框架來進(jìn)行描述。所以學(xué)習(xí)機(jī)器學(xué)習(xí)的基礎(chǔ)是要掌握統(tǒng)計學(xué)習(xí)。統(tǒng)計機(jī)器學(xué)習(xí)的線性回歸跟統(tǒng)計學(xué)的線性回歸是非常相似的,但只有對統(tǒng)計學(xué)的概念有所了解,才能學(xué)習(xí)機(jī)器學(xué)習(xí)并進(jìn)行運(yùn)用,以避免模型的過擬合問題或者會得出一些看起來貌似合理但實際上是錯誤的理論。1.3課題研究內(nèi)容在DOTA2中,影響游戲走向的因素有非常多,版本的更新導(dǎo)致的英雄削弱與增強(qiáng)、英雄的技能特性、經(jīng)濟(jì)、線權(quán)、肉山盾的控制權(quán)、控符率、經(jīng)濟(jì)的差距,由于其中的經(jīng)濟(jì)、線權(quán)、肉山盾的控制權(quán)、控符率、團(tuán)隊競技屬于比賽中的實時變動的數(shù)據(jù),即為動態(tài)數(shù)據(jù),所以該課題不選擇對此進(jìn)行研究,本課題研究的是那些靜態(tài)的數(shù)據(jù),即比賽后結(jié)算出來的數(shù)據(jù)、英雄的技能特性該兩項數(shù)據(jù),而這兩項數(shù)據(jù)也會各自細(xì)分成很多類別的數(shù)據(jù),均為靜態(tài)的數(shù)據(jù),本課題主要是針對這些靜態(tài)的數(shù)據(jù),發(fā)掘其中的相關(guān)性,并做出對應(yīng)該數(shù)據(jù)的分析。因此,本課題研究內(nèi)容有:1、使用Python及其相關(guān)庫,利用爬蟲的知識、網(wǎng)頁的知識在數(shù)據(jù)網(wǎng)站上爬取第九屆國際邀請賽之后、第十屆國際邀請賽之前的所有DOTA2職業(yè)聯(lián)賽的數(shù)據(jù)。數(shù)據(jù)包含有比賽場數(shù)、勝率、KDA、殺、死、助、正反補(bǔ)總數(shù)、反補(bǔ)數(shù)量、金錢/分鐘、經(jīng)驗/分鐘、纏繞、眩暈、治療、減速、沉默、爆發(fā)傷害、持續(xù)傷害等該數(shù)據(jù)并進(jìn)行整理;2、根據(jù)其比賽場數(shù)、勝率、KDA、擊殺、死亡、助攻、正反補(bǔ)、反補(bǔ)數(shù)、金錢/分鐘、經(jīng)驗/分鐘進(jìn)行初步的分析,尋找合理的統(tǒng)計機(jī)器學(xué)習(xí)方法去進(jìn)行研究其中的關(guān)系,例如發(fā)掘勝率與擊殺數(shù)之間的內(nèi)在關(guān)系、死亡數(shù)與正反補(bǔ)數(shù)的關(guān)系等,得出并得出分析的結(jié)果;3、再結(jié)合每個英雄的特性,例如是否帶有纏繞、是否帶有眩暈、是否帶有治療、是否帶有減速、是否帶有沉默、是否帶有爆發(fā)傷害、是否帶有持續(xù)傷害,再將該數(shù)據(jù)與比賽場數(shù)、勝率、KDA、擊殺、死亡、助攻、正反補(bǔ)、反補(bǔ)數(shù)、金錢/分鐘、經(jīng)驗/分鐘結(jié)合一起進(jìn)行一個綜合的相關(guān)性分析;4、對上述兩點得出的一系列的相關(guān)性分析、統(tǒng)計機(jī)器學(xué)習(xí)分析做出相對應(yīng)的評價,解釋其中的關(guān)系;開發(fā)技術(shù)與工具2.1Python簡介Python作為一門解釋型、編譯性、交互式、面向?qū)ο蟮哪_本語言,其設(shè)計具有很強(qiáng)的可讀性,相比其他語言經(jīng)常會使用一些特別指定的關(guān)鍵字,指定的標(biāo)點符號之類的標(biāo)志,Python具有更加簡單、易懂、自由的語法結(jié)構(gòu)。因此,其具有以下優(yōu)點:編程語言里入門級別的簡單、容易學(xué)習(xí)、免費開源、高層次語言、具備可移植性、具備解釋性、面向?qū)ο?、具備可擴(kuò)展性、擁有龐大而豐富的庫、規(guī)范的代碼。編程語言里入門級別的簡單:相信大家都有考大學(xué)四六級英語證書的經(jīng)驗,而Python的程序閱讀起來就跟四六級英語的閱讀理解一樣的簡單,對比起其他語言,不會有很多特殊指定的關(guān)鍵字。就例如入門級別的,打印一行“HelloWorld”,只需要一行代碼就可以了,而另外的主流語言例如C++、Java,則需要3行以上的代碼。由于有Pandas這個庫的存在,Python對csv文件的操作也很方便。容易學(xué)習(xí):因為Python有相比較于其他語言,比較簡單的語法結(jié)構(gòu)。免費開源:Python是自由/開放源碼軟件之一,可以自由地閱讀源代碼并進(jìn)行改動,因此有很多業(yè)界的大牛會不斷增加其功能高層次語言:用Python編寫程序的時候,不需要去像C語言一樣,考慮到程序要使用的內(nèi)存這一類底層的細(xì)節(jié)。具備可移植性:Python程序可以在各種系統(tǒng)上運(yùn)行,其中最常用的就是在Windows和Linux上面使用。解釋性:在一臺電腦上編寫好的一個程序,要在第二臺電腦上用的時候,只需要在第二臺電腦上安裝所需要的庫和工具,就能正常使用。擁有龐大而豐富的庫:本文項目的內(nèi)容,研究有很多用到庫的時候,主要是用了BeautifulSoup、Selenim、Matplotlib這三個庫,下文會詳細(xì)地進(jìn)行介紹。規(guī)范的代碼:由于命名的規(guī)則沒有其他語言那么多限制,而且強(qiáng)制縮進(jìn)也使得本文的代碼很容易讀懂。2.2BeautifulSoup簡介BeautifulSoup根據(jù)網(wǎng)頁的結(jié)構(gòu)和屬性等特性解析網(wǎng)頁,是一個非常強(qiáng)大的解析工具,主要用來做爬蟲,以便提取網(wǎng)頁中的元素。本質(zhì)上來說,BeautifulSoup是Python的一個HTML、XML的解析庫,提供導(dǎo)航、搜索、修改分析樹等功能。使用的時候,只需要去分析網(wǎng)頁的JavaScript代碼,HTML代碼,分析CSS結(jié)構(gòu),就能編寫程序提取其中的元素。然后要注意編碼格式,BeautifulSoup提取出來的文本默認(rèn)是UTF-8格式,但本文項目主要是以csv的形式去進(jìn)行存儲,因此要將UTF-8轉(zhuǎn)換成ANSI格式。BeautifulSoup提取數(shù)據(jù)的流程主要有以下幾種方法:1、使用節(jié)點選擇器,直接調(diào)用節(jié)點的名稱就可以選擇節(jié)點元素,再調(diào)用String屬性就能得到節(jié)點內(nèi)的文本,用該方法提取的時候,有嵌套選擇、關(guān)聯(lián)選擇的進(jìn)階用法;2、使用方法選擇器,不根據(jù)屬性來選擇,而是調(diào)用BeautifulSoup的find()方法傳入屬性或文本,從而根據(jù)條件查找符合條件的元素;3、使用CSS選擇器,如果對Web開發(fā)比較熟悉的,用這個方法的效率是相對來說會高過前兩種方法的,調(diào)用select()方法,傳入相應(yīng)的CSS選擇器,就能提取我們想要的東西??梢郧短走x擇、獲取屬性進(jìn)行選擇、獲取文本進(jìn)行選擇。使用BeautifulSoup的時候需要注意的是:使用節(jié)點選擇器時,節(jié)點選擇速度快但是篩選功能弱;使用方法選擇器時,查詢匹配單個結(jié)果應(yīng)該使用find()方法,查詢多個結(jié)果的時候應(yīng)該使用find_all()方法;使用CSS選擇器時,對CSS選擇器熟悉的話,務(wù)必要用select()方法,因為效率會前兩種方法高;2.3Selenium簡介Selenium是一個自動化測試工具,利用它可以模擬鼠標(biāo)點擊、下拉等動作,只要是能看到的,都能用Selenium這個工具爬取下來。使用Selenium之前,需要安裝瀏覽器驅(qū)動,建議是Chrome瀏覽器,并安裝對應(yīng)版本的ChromeDriver這個驅(qū)動。Selenium功能強(qiáng)大之處有以下幾點:1、可以聲明瀏覽器的對象,除了Chrome,還支持Firefox、Edge等,手機(jī)端的瀏覽器有Android、BlackBerry等,同時也支持編寫自動化工具的時候,經(jīng)常會使用到的無界面瀏覽器PhantomJS;2、訪問頁面的時候只需要參數(shù)傳入鏈接URL,用get()方法去請求頁面;3、查找單個節(jié)點的時候,我們可以用find_element()去獲取,并進(jìn)行一些對應(yīng)該節(jié)點的模擬鼠標(biāo)點擊、鼠標(biāo)下拉、鍵盤輸入、填寫表單等操作。查找多個節(jié)點的時候,只需要把find_element()改為find_elements()即可;4、對節(jié)點進(jìn)行交互,即模擬鼠標(biāo)、鍵盤等操作,例如對文字進(jìn)行輸入、刪除的時候可以用send_keys()、clear()等方法,模擬點擊的時候用click()方法,獲取文本的時候用text()、提交表格的時候用submit()、獲取CSS屬性的值的時候用value_of_css_property(),這些都能在Selenium的節(jié)點交互API里面可以實現(xiàn)的操作;5、動作鏈,可以對節(jié)點進(jìn)行模擬鼠標(biāo)的拖拽操作,將某個節(jié)點從一處拖拽到另外一處;6、執(zhí)行JavaScript,例如可以用execute_scripu()方法將進(jìn)度條下拉到最底部;7、使用get()方法可以獲取節(jié)點的屬性、文本值、id、位置、標(biāo)簽名、大小等值;8、延時等待功能,例如我要模擬鼠標(biāo)懸停的時候,可以設(shè)置懸停的等待時間為0.2秒;除了這基礎(chǔ)的八點功能之外,還有更高階的功能,但本文只運(yùn)用到了該八點功能,因此不作進(jìn)階功能的介紹。2.4線性回歸方法簡介介紹線性回歸方法之前,首先要先介紹一下統(tǒng)計機(jī)器學(xué)習(xí),運(yùn)用模型對數(shù)據(jù)進(jìn)行預(yù)測與分析,基于數(shù)據(jù)構(gòu)建概率統(tǒng)計模型,這稱之為統(tǒng)計機(jī)器學(xué)習(xí)。統(tǒng)計機(jī)器學(xué)習(xí)的對象是數(shù)據(jù),提取數(shù)據(jù)特征,抽象數(shù)據(jù)模型,發(fā)掘數(shù)據(jù)中的知識,然后就能對數(shù)據(jù)作出分析與預(yù)測,但只能對那些有一定規(guī)律性的同類數(shù)據(jù)才有研究價值。統(tǒng)計學(xué)習(xí)的目的自始至終都是對數(shù)據(jù)進(jìn)行預(yù)測和分析,并且能根據(jù)對已知數(shù)據(jù)進(jìn)行預(yù)測和分析得出規(guī)律與研究,去預(yù)測未知的新數(shù)據(jù),通常建立的模型越精準(zhǔn),所預(yù)測的值就會越精準(zhǔn),學(xué)習(xí)效率會越高。統(tǒng)計機(jī)器學(xué)習(xí)主要分為監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)、強(qiáng)化學(xué)習(xí)三大類,主監(jiān)督學(xué)習(xí)、主動學(xué)習(xí)兩小類。統(tǒng)計機(jī)器學(xué)習(xí)主要特點是:1、建立在計算機(jī)及網(wǎng)絡(luò)上的;2、以數(shù)據(jù)為研究對象;3、對數(shù)據(jù)進(jìn)行預(yù)測與分析;4、以方法為中心,構(gòu)建合理的模型并應(yīng)用模型進(jìn)行預(yù)測和分析;5、涉及概率論、統(tǒng)計學(xué)、信息論、計算理論、計算機(jī)科學(xué)等多個領(lǐng)域;線性回歸是回歸分析中的一種在實際應(yīng)用中廣泛使用的類型,是學(xué)習(xí)更高級的方法之前的一個很好的入門方法,很多更高級的方法也可以視為線性回歸的延伸,主要是使用線性預(yù)測函數(shù)來建模,找到最佳擬合直線,并根據(jù)數(shù)值的分布,進(jìn)行數(shù)據(jù)的預(yù)測與分析,線性回歸的一般方法為以下六個步驟:收集數(shù)據(jù)、準(zhǔn)備數(shù)據(jù)、分析數(shù)據(jù)、訓(xùn)練算法、測試算法、使用算法。使用線性回歸的時候,會理解預(yù)估系數(shù)、平方誤差等概念,使用Matplotlib進(jìn)行畫圖,畫出散點圖,并畫出數(shù)據(jù)擬合線,判斷模型的準(zhǔn)確性后,便可以開始進(jìn)行具體的分析。2.5K-Means方法簡介研究該課題,最開始要先決定最合適的算法,統(tǒng)計機(jī)器學(xué)習(xí)基于訓(xùn)練數(shù)據(jù)集,根據(jù)學(xué)習(xí)的策略,從假設(shè)空間中選擇最優(yōu)解的模型,根據(jù)我所學(xué)過的方法來進(jìn)行對比,發(fā)現(xiàn)與“類”、“簇”有密切的關(guān)系的K-Means算法比較符合我這個課題,因為DOTA2英雄中的定位分為五大類:Carry(核心)、Mid-lane(中單)、Off-lane(劣單)、Support(輔助)、Hard-support(純輔助),有五大類,所以,選用的是一半用來劃分成“類”與“簇”兒進(jìn)行分析的K-Means算法。K-Means是屬于無監(jiān)督學(xué)習(xí),是一種聚類算法。聚類算法有層次聚類和K均值聚類,K均值聚類即為K-Means,本文選用的K-Means去進(jìn)行研究。聚類是針對樣本,根據(jù)特征的相似度,劃分成若干個“類”或者“簇”,一邊分析問題。聚類的目的是通過得到的類或者簇來發(fā)現(xiàn)數(shù)據(jù)的特點,并且對數(shù)據(jù)進(jìn)行處理,根據(jù)樣本的相似度或距離將其進(jìn)行歸類,并得到散點圖,并對數(shù)據(jù)進(jìn)行一系列的分析與預(yù)測,由于本課題研究的是DOTA2英雄陣容勝率的個中關(guān)系,因此選用的是K-Means算法,以便直觀地看出各個位置的優(yōu)劣性。K-Means是一個不斷進(jìn)行迭代的算法,一次迭代會分成兩個步驟。第一步先在坐標(biāo)系中選定好k個類的中心,然后將樣本數(shù)據(jù)里面的數(shù)據(jù),一個個插入到與其最近的中心的類附近,然后得到一個聚類的結(jié)果;第二步是更新每個類的樣本的平均值,然后把這個平均值作為類的新的中心,然后再把數(shù)據(jù)一個個插入到其中,循環(huán)以上步驟。K-Means算法有一個致命的缺點,就是那個預(yù)先指定的k值,會影響到收斂性、會影響到全局最優(yōu)、會對初始類應(yīng)如何選擇造成麻煩,而解決以上問題的方法是嘗試用不同的k值聚類,檢驗出每個k值所得出的聚類結(jié)果的質(zhì)量,推測出最優(yōu)的k值。不過,由于DOTA2這個游戲的特性,分為了五個位置,因此本課題運(yùn)用K-Means算法的時候,不需要去嘗試用不同的k值聚類,直接選取k值為5進(jìn)行后續(xù)的分析與預(yù)測。項目分析與設(shè)計3.1可行性分析從經(jīng)濟(jì)效益來看,根據(jù)Steam的熱度排行榜來看,DOTA2常年位于前三名,而在推特的搜索趨勢里面,熱度也是一直都保持著很高,這多虧于社區(qū)的努力、玩家的堅持,更重要的一點是,DOTA2擁有一個獎金最高的世界級的賽事——國際邀請賽,只要這個賽事不停辦,會一直有人投入該行業(yè),無論是以什么職業(yè)去投入,包括不限于職業(yè)選手、教練、心理健康師、營養(yǎng)師、數(shù)據(jù)分析師等。而且一年比一年高的獎金,更加更加值得去投身該行業(yè),但目前國內(nèi)該行業(yè)仍處于不完善的階段,尤其是缺乏專業(yè)的數(shù)據(jù)分析師,因此如果有人涉足這個領(lǐng)域,得到的收益遠(yuǎn)比想象中的要高。3.1.1技術(shù)可行性開發(fā)遇到的問題更多的是在配置開發(fā)環(huán)境需要電腦的支持,還有技術(shù)的支持,安裝某些庫的時候需要代理,著眼于開發(fā)人員的限制,由于是個人開發(fā),因此采用了比較保守的成熟的技術(shù),因為成熟技術(shù)除了能滿足系統(tǒng)開發(fā)需要,其精細(xì)程度、優(yōu)化程度遠(yuǎn)比新技術(shù)要好,而且機(jī)器學(xué)習(xí)涉及的知識過于深奧,因此只采用學(xué)校學(xué)過的知識,并加以深化去完成本課題的項目。利用我個人現(xiàn)有的技術(shù),性能目標(biāo)可以達(dá)到,開發(fā)人員數(shù)量和質(zhì)量要求能滿足,功能目標(biāo)能打到,開發(fā)能夠完成。3.2項目總體設(shè)計項目總體設(shè)計包含兩大類,分別是爬蟲與統(tǒng)計機(jī)器學(xué)習(xí),其中有六個部分,詳見圖3-1。圖3-1總體設(shè)計圖
項目實現(xiàn)4.1利用BeautifulSoup爬取DOTAMAX網(wǎng)站的數(shù)據(jù)首先是爬取DOTAMAX上的數(shù)據(jù),而發(fā)現(xiàn)DOTAMAX需要登錄賬號之后才能瀏覽其中的內(nèi)容,因此導(dǎo)入requests庫,然后編寫headers,向網(wǎng)頁發(fā)送請求報頭,這里使用了Cookie登錄帳號,注意,使用Cookie登錄的時候,需要先登錄一下自己的帳號,然后打開F12,找到帳號登錄的那一串Cookie,這里就有一個缺點,就是該網(wǎng)站的保持登錄狀態(tài)為7天,7天后,Cookie就會過期,到時就要更換一串新的Cookie,不然代碼就運(yùn)行不了了。然后在爬取之前,先導(dǎo)入BeautifulSoup這個庫,還有其他所需要的庫,例如pandas、numpy,這些都是對數(shù)據(jù)進(jìn)行整理的庫,把數(shù)據(jù)存儲到csv文件里面,方便之后的數(shù)據(jù)分析。然后使用XPath去獲取頁面對應(yīng)的元素,XPath是一門在XML文檔中查找信息的語言,可通過元素和屬性進(jìn)行導(dǎo)航,最重要的是,對于一般開發(fā)人員來說,可以用到Chrome瀏覽器自帶的游猴社區(qū),里面有一個XPathHelper的腳本,然后可以在上面嘗試XPath的位置,如輸入“//div”的話,他會找出所有div下的元素,然后再根據(jù)class,去找到我們需要的元素的位置,所以,使用XPath的話,獲取想要的元素相對來說會簡明易懂一點。當(dāng)然,查看網(wǎng)頁源代碼也是可以的,只不過沒有用XPathHelper那么地直觀。然后開始進(jìn)行爬取,發(fā)現(xiàn)英雄名稱是用<a>標(biāo)簽獨立出來的,因此爬取的策略是先對英雄名稱進(jìn)行爬取,再爬取在同一組里面的“比賽場數(shù)、勝率。KDA、殺、死、助、正反補(bǔ)、反補(bǔ)總數(shù)、金錢/分鐘、經(jīng)驗/分鐘”,分別保存到兩個csv文件里面,之后再對兩個csv文件進(jìn)行合并。然后爬取“比賽場數(shù)、勝率、KDA、殺、死、助、正反補(bǔ)、反補(bǔ)總數(shù)、金錢/分鐘、經(jīng)驗/分鐘”這組信息的時候,發(fā)現(xiàn)爬取下來的信息,會全部塞到同一個列表里面,因此需要numpy庫的劃分列表的方法,根據(jù)英雄的個數(shù)(英雄名稱的總數(shù))、該組數(shù)據(jù)的項數(shù)(分為10個項),因此按照英雄的個數(shù),對所有爬取下來的英雄數(shù)據(jù)進(jìn)行預(yù)劃分,爬取的時候,每10個換行,然后行數(shù)根據(jù)英雄的個數(shù)來定,該段代碼的主要邏輯詳見圖4-1。圖4-1使用BeautifulSoup庫進(jìn)行對網(wǎng)站的爬取然后爬取第九屆國際邀請賽之后,第十屆國際邀請賽之前的職業(yè)聯(lián)賽的數(shù)據(jù),總共爬取了20組數(shù)據(jù),下面會對這20組數(shù)據(jù)進(jìn)行分析。4.2利用Selenium模擬鼠標(biāo)懸停收集DOTA2官網(wǎng)的數(shù)據(jù)接下來是去DOTA2官網(wǎng)爬取我想要的英雄特性的數(shù)據(jù),發(fā)現(xiàn)DOTA2官網(wǎng)不需要登錄賬號也能直接進(jìn)行爬取,但遇到一個問題,就是一個頁面有120多個英雄,當(dāng)鼠標(biāo)移去英雄上面,然后有個地方會跟著你鼠標(biāo)停留的英雄,顯示該英雄的特性,因此該網(wǎng)站為動態(tài)渲染網(wǎng)站,不能使用BeautifulSoup去進(jìn)行爬取,但遇到這種情況的時候,能用到Selenium的自動化工具去進(jìn)行爬取。首先如上文所說的,要先安裝好Selenium庫及Chrome瀏覽器對應(yīng)版本的ChromeDriver,編寫代碼之前,先要導(dǎo)入Selenium庫,然后要模擬鼠標(biāo)移動與懸停,因此需要用到Selenium的動作鏈,因為懸停是需要有時間延遲的,所以還要導(dǎo)入time庫,設(shè)計一個懸停的時間。開始對DOTA2官網(wǎng)的英雄特性數(shù)據(jù)爬取,他每個英雄的標(biāo)簽都是“l(fā)ink_英雄名稱”,因此只要模擬鼠標(biāo)停留到每個英雄的標(biāo)簽上,就能進(jìn)一步獲取鼠標(biāo)在該標(biāo)簽停留的時候,網(wǎng)站所響應(yīng)的數(shù)據(jù),獲取所響應(yīng)的數(shù)據(jù)時,還是使用了XPath進(jìn)行元素的定位,因為XPath使用起來真的太方便了,而且很精準(zhǔn)地能獲取到我想要的元素。因為有120多個英雄,所以設(shè)置了一個循環(huán)遍歷,獲取數(shù)據(jù)時,也遇到不能存入列表的問題,這時候只要把元素強(qiáng)制轉(zhuǎn)換成text格式,就可以順利的存入到列表里面。改段代碼的主要邏輯見圖4-2。圖4-2使用Selenium模擬鼠標(biāo)懸停對網(wǎng)站進(jìn)行爬取到此,便完成了數(shù)據(jù)的爬取,由于官網(wǎng)的數(shù)據(jù)沒有我理想中的那么完善,因此用了人工的方法,去補(bǔ)充完整想要的數(shù)據(jù),例如添加了“沉默”、“纏繞”這兩個英雄特性,只是更精準(zhǔn)的分析,因此花了幾分鐘時間用人工進(jìn)行了補(bǔ)充。接下來開始對這堆數(shù)據(jù)進(jìn)行分析與預(yù)測。4.3對數(shù)據(jù)畫出相關(guān)性矩陣、散點圖并進(jìn)行分析 分析數(shù)據(jù)時,為了讓數(shù)據(jù)有時間的相關(guān)性,我添加了比賽時間這一項新的項,可以更加直觀的看出按照時間的推移,版本的更迭,挖掘英雄與數(shù)據(jù)的相關(guān)性。然后由于要保證數(shù)據(jù)的質(zhì)量,因此要進(jìn)行異常值的分析,這有利于最終得出的模型具有穩(wěn)定性,本次課題運(yùn)用的是簡單的統(tǒng)計量分析,我們對采集到的的數(shù)據(jù)做一個描述性的估計,由于DOTA2游戲的特點,版本熱門英雄的出場率是非常高的,但這非常高的出場率,可以認(rèn)為是特點,所以不需要把最大值給剔除,而只有那些出場率過低的英雄,會導(dǎo)致數(shù)據(jù)出現(xiàn)誤差,因為出場次數(shù)過低的英雄,有可能是一個非常厲害的選手玩的勝率很高,也有可能是不怎么樣的選手玩的勝率很低,所以剔除那些出場率的英雄,部分英雄的上場次數(shù)過低,而次數(shù)過低會導(dǎo)致有可能勝率會異常的高,或者勝率異常的低,這不足以能顯示出該英雄的特征,而且出場次數(shù)過低的英雄都可以視為版本弱勢英雄,均不參與到本次課題中的討論。因此,本次課題將出場次數(shù)低于10次的英雄都定義為異常值。首先對出場次數(shù)不足10次的英雄進(jìn)行剔除,并合并20個csv文件,剔除不足10次的英雄的代碼邏輯主要如下,見圖4-3。圖4-3刪除上場次數(shù)少于10次的英雄而合并多個文件的代碼邏輯,見圖4-4,主要因為要進(jìn)行的是行合并,因此index的值要定義為“False”。圖4-4合并csv文件做完這個步驟之后,就能得到一個整合了所有數(shù)據(jù)后的csv文件,注意:由于csv的默認(rèn)編碼是ANSI,而不是utf-8,因此需要將編碼強(qiáng)制改成ANSI。開始進(jìn)行簡單的數(shù)據(jù)分析,首先是導(dǎo)入所需要的庫,包括有:pandas、seaborn、matplotlib、sklearn、numpy這五個庫,然后畫出熱力圖,即為相關(guān)性矩陣,畫相關(guān)性矩陣的意義在于可以更加直觀地看出每個系數(shù)之間的關(guān)系,從而探索出每個數(shù)據(jù)之間到底有什么聯(lián)系,而不是依據(jù)經(jīng)驗來判斷,畢竟用數(shù)據(jù)來證明才是硬道理。但肯定也會出現(xiàn)一些相關(guān)性是符合我們以往的經(jīng)驗總結(jié)的,所以本課題是要發(fā)掘那些跟以往經(jīng)驗相違背的系數(shù)之間的關(guān)系,根據(jù)相關(guān)性矩陣,見圖4-5。圖4-5英雄數(shù)據(jù)的相關(guān)性矩陣該相關(guān)性矩陣的橫坐標(biāo)為“比賽場數(shù)、勝率、KDA、擊殺、死亡、助攻、補(bǔ)刀、反補(bǔ)、GPM/min、XPM/min,比賽日期”,縱坐標(biāo)為“比賽日期、XPM/min、GPM/min、反補(bǔ)、補(bǔ)刀、助攻、死亡、擊殺、KDA、勝率、比賽場數(shù)”。正相關(guān)的組合有:KDA與XPM/min、KDA與GPM/min、KDA與反補(bǔ)、KDA與補(bǔ)刀、擊殺與XPM/min、擊殺與GPM/min、擊殺與反補(bǔ)、擊殺與補(bǔ)刀、死亡與助攻、勝率與助攻,勝率與KDA。負(fù)相關(guān)的組合有:KDA與死亡、擊殺與死亡、擊殺與助攻、死亡與XPM/min、死亡與GPM/min、死亡與反補(bǔ)、死亡與補(bǔ)刀。其他的相關(guān)性不強(qiáng),沒有太多的聯(lián)系。但值得一提的是可以看出該相關(guān)性矩陣可以看出KDA除了跟死亡是成負(fù)相關(guān)性,這是肯定的,但讓我驚訝的是,跟助攻的相關(guān)性竟然接近于0,因為KDA的計算方式是(Kill+Assist/Death)的數(shù)值,所以跟助攻的負(fù)相關(guān)性,無限接近于0,而死亡跟助攻是正相關(guān)性。因為KDA跟助攻的是負(fù)相關(guān)性,死亡跟助攻是正相關(guān)性,結(jié)合該兩種相關(guān)性,這可以分析出來就是,這項數(shù)據(jù)應(yīng)該是輔助英雄對此產(chǎn)生了影響,一般輔助都是死亡次數(shù)比較多,而助攻也會非常多的,所以才會出現(xiàn)這種很奇怪的情況。補(bǔ)刀總數(shù)肯定是跟金錢/每分鐘、經(jīng)驗/每分鐘都是有很強(qiáng)的正相關(guān)性,這是毋庸置疑的,但值得注意的就是,反補(bǔ)跟金錢/每分鐘、經(jīng)驗/每分鐘的正相關(guān)性也是很高,因此可以用這個靜態(tài)數(shù)據(jù)推斷出唯一一個靜態(tài)數(shù)據(jù),就是線權(quán)。就是在職業(yè)比賽中,線權(quán)是非常關(guān)鍵的,線權(quán)除了選手個人能力,也要看陣容的強(qiáng)弱,因此本課題探討的是陣容的最優(yōu)抉擇,初步分析是要選擇那些強(qiáng)勢的英雄,而什么英雄會比較強(qiáng)勢,要跟相近出場次數(shù)的英雄相比,求出勝率較高的英雄,這是要等接下來的使用到線性回歸學(xué)習(xí)分析才能夠得出結(jié)論,因此本課題的目標(biāo)也是要找出那些在各個位置里面強(qiáng)勢的英雄。圖4-6勝率、比賽場數(shù)、補(bǔ)刀、KDA之間的關(guān)系該圖橫坐標(biāo)是勝率、比賽場數(shù)、補(bǔ)刀數(shù)、KDA的柱狀圖和散點圖,縱坐標(biāo)是KDA、補(bǔ)刀數(shù)。比賽場數(shù)、勝率的柱狀圖和散點圖。該交叉圖可進(jìn)行6種圖的交叉分析。再次驗證相關(guān)性矩陣的準(zhǔn)確性及其科學(xué)性。1、KDA與勝率,對應(yīng)圖4-6的第四行第一列,相關(guān)性不強(qiáng),這也是相關(guān)性矩陣那邊能得出的結(jié)論;2、勝率與補(bǔ)刀數(shù),對應(yīng)圖4-6的第三行第一列,相關(guān)性不強(qiáng),沒有很大的特點,也是在相關(guān)性矩陣那邊的出的結(jié)論;3、勝率與比賽場數(shù),對應(yīng)圖4-6的第二行第一列,相關(guān)性不強(qiáng),但給了我一個提醒,就是有些英雄盤數(shù)很少,勝率卻異常的高,或者異常的低,因此之后的線性回歸分析要去除出場次數(shù)10場以下的英雄。4、比賽場數(shù)與補(bǔ)刀數(shù),對應(yīng)圖4-6的第三行第二列,這幅圖能看出來,有些比賽場數(shù)多的英雄,補(bǔ)刀數(shù)是兩極分化的,但這并不是異常值,而是DOTA2的位置而導(dǎo)致的,核心和輔助,核心是要補(bǔ)刀的,輔助是不需要補(bǔ)刀的。5、比賽場數(shù)與KDA,對應(yīng)圖4-6的第四行第二列,這幅圖也是沒有多大的相關(guān)性。6、補(bǔ)刀數(shù)與KDA,對應(yīng)圖4-6的第四行第三列,這幅圖是有很強(qiáng)大的相關(guān)性,通常補(bǔ)刀數(shù)越高的,KDA就會越高,因為在DOTA2中,補(bǔ)刀多的通常都是核心位置,核心位置戰(zhàn)績會比輔助位置的戰(zhàn)績好很多。然后再對金錢/每分鐘和經(jīng)驗/每分鐘匹配其他數(shù)據(jù)去進(jìn)行分析,如下:圖4-7擊殺數(shù)、金錢/分鐘、經(jīng)驗/分鐘之間的關(guān)系圖4-7的橫坐標(biāo)是“擊殺數(shù)、金錢/分鐘、經(jīng)驗/分鐘”,縱坐標(biāo)是“經(jīng)驗/分鐘、金錢/分鐘、擊殺數(shù)”。能看出來擊殺數(shù)與該兩項數(shù)據(jù)的正相關(guān)性是非常強(qiáng)的,當(dāng)擊殺數(shù)變多的時候,該兩項數(shù)據(jù)也會隨著變多。由圖第二行第一列可以看出來,擊殺數(shù)越多的英雄,其金錢/分鐘也會隨著變高,這幅圖值的留意的是,有少數(shù)英雄的擊殺數(shù)很低,但他的金錢/分?jǐn)?shù)也很非常的高,因為這個游戲除了擊殺能獲得金錢以外,補(bǔ)刀也是有錢的,這些應(yīng)該就是那些策略以帶線為目標(biāo)而勝利的的英雄。第三行第一列能看出來,因為由于游戲的特性,擊殺會獲取經(jīng)驗值,因此擊殺數(shù)越高,經(jīng)驗值也會越高。而第三行第二列能看出來,一般金錢/分鐘越高的英雄,經(jīng)驗/分鐘也會越高,但值得注意的是,有一些金錢/分鐘很高的英雄,而他的經(jīng)驗/分鐘是沒有達(dá)到預(yù)期值的,所以這是那種以刷錢為目的英雄。圖4-8死亡數(shù)、金錢/分鐘、經(jīng)驗/分鐘之間的關(guān)系圖4-8的橫坐標(biāo)是“死亡數(shù)、金錢/分鐘、經(jīng)驗/分鐘”,縱坐標(biāo)是“經(jīng)驗/分鐘、金錢/分鐘、死亡數(shù)”。能看出來,死亡數(shù)與該兩項數(shù)據(jù)的負(fù)相關(guān)性是非常強(qiáng)的。從第二行第一列能看出來,死亡數(shù)越多的英雄,金錢/分鐘會月底,但值得注意的是,從橫坐標(biāo)為2.5~5.0之間,也是落差非常大的,有些死亡偏低的,由幾個英雄的金錢/分鐘是非常高的,因此可以選擇這些英雄作為首選,這樣會更好。從第二行第二列能看出來,死亡數(shù)越多的英雄,他的經(jīng)驗/分鐘是會越低的,因為經(jīng)驗的獲取是由擊殺小兵和擊殺英雄獲得的,因此死亡的時候,是不能獲取到經(jīng)驗的,因此死亡越多經(jīng)驗獲取的也越低。但從值得注意的是,死亡數(shù)為5的橫坐標(biāo),經(jīng)驗/分鐘的分布是不均勻的,有很高的也有很低的,這個問題的原因是核心和輔助,核心的占線時間會長,輔助的占線時間會短,因此會出現(xiàn)這種差別圖4-9助攻數(shù)、金錢/分鐘、經(jīng)驗/分鐘之間的關(guān)系這幅圖的橫坐標(biāo)是“助攻、金錢/分鐘、經(jīng)驗/分鐘”,縱坐標(biāo)是“經(jīng)驗/分鐘、金錢/分鐘、助攻”,能看出來助攻跟這兩項的數(shù)據(jù)的相關(guān)性不明顯,因為隨著助攻數(shù)的變多,該兩項數(shù)據(jù)沒有明顯的變化,而是分布的非常均勻,所以由此可以判定助攻數(shù)并不能作為一個標(biāo)準(zhǔn)去衡量一個英雄。圖4-10補(bǔ)刀數(shù)、金錢/分鐘、經(jīng)驗/分鐘之間的關(guān)系圖4-10的橫坐標(biāo)是“補(bǔ)刀數(shù)、金錢/分鐘、經(jīng)驗/分鐘”,縱坐標(biāo)是“經(jīng)驗/分鐘、金錢/分鐘、補(bǔ)刀數(shù)”。很明顯的能看出來,補(bǔ)刀數(shù)跟該兩項數(shù)據(jù)是有非常強(qiáng)的相關(guān)性,這也跟前面擊殺數(shù)與金錢/分鐘、經(jīng)驗/分鐘的結(jié)論是有對應(yīng)關(guān)系的。那幅圖有些英雄的擊殺數(shù)低,但金錢/分鐘卻異常的高,就是在本圖里面,那些補(bǔ)刀數(shù)高的英雄。但跟那幅圖對應(yīng)的,也有一些奇怪的例子,請看第二行第一列的圖,補(bǔ)刀數(shù)在400左右的地方,有5個是不符合預(yù)期的,他們的金錢/分鐘是異常的高,所以這些都是擊殺數(shù)多的英雄,導(dǎo)致金錢會多很多。所以結(jié)合兩種情況來分析,選擇陣容的時候,可以根據(jù)這些具有很突出的特點的英雄,決定選一些偏激進(jìn)的打法,還有就是偏策略勝利的打法。圖4-11反補(bǔ)數(shù)、金錢/分鐘、經(jīng)驗/分鐘之間的關(guān)系圖4-11的橫坐標(biāo)是“反補(bǔ)數(shù)、金錢/分鐘、經(jīng)驗/分鐘”,縱坐標(biāo)是“經(jīng)驗/分鐘、金錢/分鐘、反補(bǔ)數(shù)”。反補(bǔ)數(shù)是DOTA2的一種特殊的機(jī)制,可以反補(bǔ)自己的小兵,從而獲得該小兵的1/3的金錢,這要考驗職業(yè)選手的技術(shù)與線權(quán)的控制,在一般的認(rèn)知里面,反補(bǔ)并不是一項很重要的影響游戲的標(biāo)準(zhǔn)的,但是從分析來看,反補(bǔ)的影響僅次于補(bǔ)刀,因此強(qiáng)勢的英雄是很有必要的,本小節(jié)所要傳達(dá)的是,因為勝率、比賽場數(shù)與其他數(shù)據(jù)的相關(guān)性不強(qiáng),然后線權(quán)是很關(guān)鍵的,英雄的強(qiáng)弱決定這線權(quán),因此想要抉擇出好的陣容的話,需要進(jìn)行進(jìn)一步的機(jī)器學(xué)習(xí),因此要用到以下的線性回歸方法和聚類分析方法。4.4利用線性回歸預(yù)測國際邀請賽的強(qiáng)勢英雄線性回歸的詳細(xì)理論已在上文闡述,而完成本課題的項目時,本項目用到的線性回歸的幾個步驟如下,以橫坐標(biāo)為出場次數(shù),縱坐標(biāo)為勝率:1、獲取特征和目標(biāo)變量的值;2、創(chuàng)建一個線性模型的對象;3、訓(xùn)練模型;4、繪制點;5、繪制最佳擬合直線;具體的代碼如圖4-12。圖4-12線性回歸實現(xiàn)代碼圖4-13全部數(shù)據(jù)的線性回歸分析該圖的橫坐標(biāo)是比賽場數(shù),縱坐標(biāo)是勝率。然后首先是觀察所有第九屆國際邀請賽之后、第十屆國際邀請賽之前的全部數(shù)據(jù)的線性回歸圖,圖的重點是前面的部分,一般來說,出場率高的英雄也就是熱門英雄,所以出場率高的英雄不一定就是非常強(qiáng)勢的英雄。這也改正了很多人的誤區(qū),不一定熱門就是強(qiáng)勢,熱門的、出場率高的英雄,他的勝率有可能也會很難看。注:繪制該圖時,已刪除出場次數(shù)為10場以下的英雄。接著就是用最新的數(shù)據(jù)來預(yù)測第十屆國際邀請賽的熱門英雄,因為版本不會有再次大的改動了,而且第十屆國際邀請賽在往年的時候,哪個戰(zhàn)隊統(tǒng)治了四月份的版本,那么國際邀請賽已經(jīng)很大概率會由哪個戰(zhàn)隊拿冠軍,因此4月份的數(shù)據(jù)對于國際邀請賽來說是非常強(qiáng)力的,因此著重分析一下最新的這場CDA聯(lián)賽的數(shù)據(jù),見圖4-14。圖4-14最新一次比賽的線性回歸分析(未刪除出場次數(shù)10場以下的英雄)該圖的橫坐標(biāo)是比賽場數(shù),縱坐標(biāo)是勝率。這個CSV并沒有刪除出場次數(shù)10場以下的英雄,導(dǎo)致擬合直線到了勝率最高的一端已經(jīng)突破了60%,這在任何一個正常的游戲里面,都是不可能存在的,因為這暗示著游戲的不平衡,這也解釋了為什么我在繪制上一個線性回歸圖的時候,把出場次數(shù)在10場以下的英雄都刪除了,因為會讓模型失真。因此把符合條件的給刪除,再進(jìn)行一次線性回歸,見圖4-10。圖4-15圖4-15的橫坐標(biāo)是比賽場數(shù),縱坐標(biāo)是勝率。刪除了出場次數(shù)為10場以下的英雄之后,擬合直線就很正常了,由該圖可以看出,出場次數(shù)高的英雄并不代表他符合期望的勝率,例如出場次數(shù)為62次的瑪爾斯的勝率只有45%,出場次數(shù)為57次的半人馬戰(zhàn)行者的勝率只有47%,出場次數(shù)為55次的拉比克的勝率只有42%,出場次數(shù)為51次的灰燼之靈的勝率只有49%,而被眾多比賽解說所忽視的石鱗劍士的出場次數(shù)高達(dá)57次,勝率達(dá)到了68%,這是非??植赖?。因而可以著重在BP選擇階段,選擇擬合直線以上的英雄,進(jìn)行陣容的搭配,在無視英雄搭配的情況下,會讓勝率變高。所以外行看熱鬧,內(nèi)行看門道,所以也是本課題的目的之一,拋磚引玉,并不是紙上談兵,而是真真切切的用數(shù)據(jù)來說事。這樣才能讓這個電競的數(shù)據(jù)分析變得更加科學(xué)。4.5利用聚類分析判斷每個位置的英雄的優(yōu)劣性接下來利用無監(jiān)督學(xué)習(xí)的聚類分析來看看每個位置的強(qiáng)度,這樣可以能在比賽中,著重要打哪條路,幫助哪條路打出優(yōu)勢,而不是幫一些劣勢的路。有一句話在電競?cè)锩娣浅V模骸皫蛢?yōu)不幫劣”,其實電競跟生活的聯(lián)系是密切相關(guān)的,因此這句話是有社會的經(jīng)驗去證明的,就是“先富帶后富,實現(xiàn)共同富?!薄O葞椭⑿壅純?yōu)勢的線,掌握線權(quán)的同時,打出更大的優(yōu)勢,然后可以帶隊去跟對面的團(tuán)隊碰撞,這樣會讓游戲變得更加輕松,讓勝利來的更加容易。在上文所說的,DOTA2分為五大類:Carry(核心)、Mid-lane(中單)、Off-lane(劣單)、Support(輔助)、Hard-support(純輔助),因此聚類分析的k值選取5,具體的步驟為:1、聚成k類數(shù)據(jù),并發(fā)數(shù)設(shè)為4,最大循環(huán)設(shè)為500;2、因為k值取5,所以聚成5類數(shù)據(jù),統(tǒng)計每個聚類下的數(shù)據(jù)量,并且求出他們的中心;3、給每一條數(shù)據(jù)標(biāo)注上被分為哪一類4、進(jìn)行可視化并繪圖具體的代碼見圖4-16。圖4-16K-Means聚類分析代碼我將0類設(shè)置為紅色的圓點,1類設(shè)置為綠色的圓點,2類設(shè)置為藍(lán)色的“*”,3類設(shè)置為黃色的“^”,4類設(shè)置為紅色的“<”,詳細(xì)的數(shù)據(jù)見圖4-17。圖4-17K-Means聚類分析的數(shù)據(jù)按照步驟、按照設(shè)置好的顏色與符號繪制出K-Means聚類分析圖,圖見4-18。圖4-18K-Means聚類分析的圖表從聚類之后的數(shù)據(jù),根據(jù)DOTA2的位置分配來看,4類是Carry(核心)、2類是Mid-lane(中單)、0類是Off-lane(劣單)、1類是Support(輔助)、3類Hard-support(純輔助)。而剛剛的設(shè)置里面,0類為紅色圓點,1類為綠色圓點,2類為藍(lán)色“*”,3類為黃色的“^”,4類為紅色的“<”。因此,由圖可以發(fā)現(xiàn)出以下的規(guī)律:1、在傳統(tǒng)的認(rèn)知里面,中單是影響局勢的點。但是中單集中分布在第二、第三象限,因此從數(shù)據(jù)上來看,中單在現(xiàn)版本對局勢的影響不大,所以選取中單英雄的時候,應(yīng)該要選擇那些帶有功能性的中單。中單的選擇的重要性應(yīng)該在第二、三位;2、劣單位置的分布,聚集在第一象限和第二象限,因為劣單對陣的是核心位置,所以選擇英雄的時候,一定要選擇克制對面核心的位置,不然線權(quán)就會丟失從而導(dǎo)致局勢會變得一邊倒,但掌握線權(quán)之后,基本可以主導(dǎo)比賽的走向,因此劣單位置的重要性應(yīng)該在第一位;3、核心位置的分布,集中分布在x軸以上的第一象限與第二象限的交界處,可以看出只要選擇跟對面劣單位置的英雄能打的有來有回,就能夠接受,但再劣勢也不會出現(xiàn)崩盤,再優(yōu)勢也不能主導(dǎo)比賽的局勢,因此重要性應(yīng)該放在第四位;4、輔助的分布,由于該位置一般都是跟著劣單一起走的,所以該位置的分布也是一部分在第三象限,一部分在第四象限,排除異常值的話,一個好的輔助往往能綁劣單掌握線權(quán),因此重要性我認(rèn)為是在第二、三位;5、純輔助的分布,該位置分布在第四象限,由于該位置一般跟核心位一起走,但上面得出來的當(dāng)前版本的核心位置在掌握線權(quán)的情況下,不能打開優(yōu)勢,沒掌握線權(quán)的情況下,也不會導(dǎo)致劣勢,因此純輔助的重要性應(yīng)該是最低,我個人認(rèn)為是放在第五位;根據(jù)線性回歸的分析,能看出來劣單的分化實在是太嚴(yán)重了,出場次數(shù)最高的瑪爾斯和石鱗劍士同為劣單,但瑪爾斯的勝率遠(yuǎn)遠(yuǎn)低于期望值,石鱗劍士的勝率遠(yuǎn)遠(yuǎn)高于期望值,這個現(xiàn)象與聚類分析的結(jié)合,更能證實出劣單的重要性,在挑選陣容的時候,在當(dāng)前版本,一般要把精力放在劣單的身上,比賽進(jìn)行的時候,要圍繞著劣單去進(jìn)行展開。然而核心位置偏向于抗壓,中單位置偏向于英雄克制關(guān)系,純輔助缺乏影響局勢的能力,輔助要跟劣單有所配合才能幫助劣單打開局面,因此從選擇英雄階段的時候,必須得推翻以前的那套理論。因此,以本課題的研究來看,選擇DOTA2最佳陣容時,策略應(yīng)該是:先把純輔助和核心位選出來,然后再選中單或者輔助,之后就是選擇能克制對面核心的劣單,能打開局面的劣單,因為選擇一個正確的劣單,可以幫助團(tuán)隊獲得優(yōu)勢。并且根據(jù)線性回歸的擬合直線,選出各個位置的勝率都高于擬合直線的英雄。至此,本課題的討論結(jié)束。
項目測試5.1測試結(jié)果分析本基于Python開發(fā)的統(tǒng)計機(jī)器學(xué)習(xí)的項目借鑒了國內(nèi)外出版社的書籍的知識,確保能得出我所需要的結(jié)果而進(jìn)行開發(fā),該項目的主要特點和有點歸納如下:(1)本項目能在任何安裝了所需的庫的Python環(huán)境下均可運(yùn)行;(2)只要能讀懂代碼,因為代碼都是按照我自己的思路去做的,所以代碼相對于簡單易懂,該項目可以根據(jù)所需的目的去進(jìn)行修改其中一小部分的語句,并拿去分析天氣、城市等數(shù)據(jù)。經(jīng)過測試,本項目的運(yùn)行良好,功能達(dá)到開題時的需求。
總結(jié)與展望6.1總結(jié)該項目整體還只是學(xué)了一年半大數(shù)據(jù)的我,做出來的一個比較入門的大數(shù)據(jù)項目,但運(yùn)用的知識的的確確是我在大三、大四里面學(xué)透的知識,而不是去濫用一些我看都沒看懂的知識,雖然項目看起來會比較簡單,但確確實實是我這一年半所學(xué)的東西的集合,所以我也盡我所能地把我學(xué)習(xí)的成果在這里展現(xiàn)出來。6.1展望在上文也提及到,該項目作為一個拋磚引玉的項目,希望有更專業(yè)的人來一起完善該項目,或者發(fā)展到其他電競,例如英雄聯(lián)盟、王者榮耀,因為這種游戲都統(tǒng)稱為MOBA游戲,數(shù)據(jù)都是相似的,只要做出一個更完整、功能更強(qiáng)大的項目,就能修改個中代碼,并延伸到其他MOBA游戲中。參考文獻(xiàn)[1]李航,統(tǒng)計學(xué)習(xí)方法第2版,清華大學(xué)出版社,2019.[2]董付國,Python程序設(shè)計,清華大學(xué)出版社,2015.[3]崔慶才,網(wǎng)絡(luò)爬蟲開發(fā)實戰(zhàn),人民郵電出版社,2018.[4][美]RyanMitchell,Python網(wǎng)絡(luò)數(shù)據(jù)采集,人民郵電出版社,2016.[5][美]PeterHarrington,機(jī)器學(xué)習(xí)實戰(zhàn),人民郵電出版社,2013.[6]呂云翔,張揚(yáng),韓延剛,Python網(wǎng)絡(luò)爬蟲從入門到精通,機(jī)械工業(yè)出版社,2019.[7]凱瑟琳雅姆爾,用Python寫網(wǎng)絡(luò)爬蟲第2版,人民郵電出版社,2019.[8]零一,Python3爬蟲、數(shù)據(jù)清洗與可視化實戰(zhàn),電子工業(yè)出版社,2019.[9]平岡和幸,堀玄,程序員的數(shù)學(xué),人民郵電出版社,20195[10][美]EthanBrown,JavaScript學(xué)習(xí)指南,人民郵電出版社,2017.附錄附錄程序、代碼、算法、等需要附在后面做參考或引證的材料。
致謝首先,感謝任浩老師,在大四期間,指引我學(xué)習(xí)Python并進(jìn)一步幫我鞏固基礎(chǔ),讓我在畢業(yè)設(shè)計期間,給了我很多的幫助,能夠用個人能力完成課題,我要表示衷心的感謝。其次,我要感謝蘇康老師、葉常春老師、劉虹老師,是蘇康老師、葉常春老師的盡心盡職的教學(xué),在大三期間,培養(yǎng)了我對機(jī)器學(xué)習(xí)和大數(shù)據(jù)處理技術(shù)的興趣,劉虹老師不落下任何一個學(xué)生的態(tài)度,在大學(xué)期間給予我的幫助是非常的可貴。再次,感謝大一大二期間教過我的高群霞老師、徐婉珍老師,是她們幫我打好了在Web開發(fā)、數(shù)據(jù)庫開發(fā)方面的基礎(chǔ)。最后,我要向閱讀和審閱本文的所有老師表示衷心的感謝!
HYPERLINK如何給電腦重做系統(tǒng)給電腦重做系統(tǒng),自己學(xué)學(xué),可少花錢,哈哈[圖]
一、準(zhǔn)備工作:
如何重裝電腦系統(tǒng)
首先,在啟動電腦的時候按住DELETE鍵進(jìn)入BIOS,選擇AdvancedBIOSFeatures選項,按Enter鍵進(jìn)入設(shè)置程序。選擇FirstBootDevice選項,然后按鍵盤上的PageUp或PageDown鍵將該項設(shè)置為CD-ROM,這樣就可以把系統(tǒng)改為光盤啟動。
其次,退回到主菜單,保存BIOS設(shè)置。(保存方法是按下F10,然后再按Y鍵即可)
1.準(zhǔn)備好WindowsXPProfessional簡體中文版安裝光盤,并檢查光驅(qū)是否支持自啟動。
2.可能的情況下,在運(yùn)行安裝程序前用磁盤掃描程序掃描所有硬盤檢查硬盤錯誤并進(jìn)行修復(fù),否則安裝程序運(yùn)行時如檢查到有硬盤錯誤即會很麻煩。
3.用紙張記錄安裝文件的產(chǎn)品密匙(安裝序列號)。
4.可能的情況下,用驅(qū)動程序備份工具(如:驅(qū)動精靈2004V1.9Beta.exe)將原WindowsXP下的所有驅(qū)動程序備份到硬盤上(如∶F:Drive)。最好能記下主板、網(wǎng)卡、顯卡等主要硬件的型號及生產(chǎn)廠家,預(yù)先下載驅(qū)動程序備用。
5.如果你想在安裝過程中格式化C盤或D盤(建議安裝過程中格式化C盤),請備份C盤或D盤有用的數(shù)據(jù)。
二、用光盤啟動系統(tǒng):
(如果你已經(jīng)知道方法請轉(zhuǎn)到下一步),重新啟動系統(tǒng)并把光驅(qū)設(shè)為第一啟動盤,保存設(shè)置并重啟。將XP安裝光盤放入光驅(qū),重新啟動電腦。剛啟動時,當(dāng)出現(xiàn)如下圖所示時快速按下回車鍵,否則不能啟動XP系統(tǒng)光盤安裝。如果你不知道具體做法請參考與這相同的-->如何進(jìn)入純DOS系統(tǒng):
光盤自啟動后,如無意外即可見到安裝界面,將出現(xiàn)如下圖1所示
查看原圖
全中文提示,“要現(xiàn)在安裝WindowsXP,請按ENTER”,按回車鍵后,出現(xiàn)如下圖2所示
查看原圖
許可協(xié)議,這里沒有選擇的余地,按“F8”后如下圖3
HYPERLINK
查看原圖
這里用“向下或向上”方向鍵選擇安裝系統(tǒng)所用的分區(qū),如果你已格式化C盤請選擇C分區(qū),選擇好分區(qū)后按“Enter”鍵回車,出現(xiàn)下圖4所示
查看原圖
這里對所選分區(qū)可以進(jìn)行格式化,從而轉(zhuǎn)換文件系統(tǒng)格,或保存現(xiàn)有文件系統(tǒng),有多種選擇的余地,但要注意的是NTFS格式可節(jié)約磁盤空間提高安全性和減小磁盤碎片但同時存在很多問題MacOS和98/Me下看不到NTFS格式的分區(qū),在這里選“用FAT文件系統(tǒng)格式化磁盤分區(qū)(快),按“Enter”鍵回車,出現(xiàn)下圖5所示
查看原圖
格式化C盤的警告,按F鍵將準(zhǔn)備格式化c盤,出現(xiàn)下圖6所示
HYPERLINK
查看原圖
由于所選分區(qū)C的空間大于2048M(即2G),FAT文件系統(tǒng)不支持大于2048M的磁盤分區(qū),所以安裝程序會用FAT32文件系統(tǒng)格式對C盤進(jìn)行格式化,按“Enter”鍵回車,出現(xiàn)下圖7所示
查看原圖圖7中正在格式化C分區(qū);只有用光盤啟動或安裝啟動軟盤啟動XP安裝程序,才能在安裝過程中提供格式化分區(qū)選項;如果用MS-DOS啟動盤啟動進(jìn)入DOS下,運(yùn)行i386\winnt進(jìn)行安裝XP時,安裝XP時沒有格式化分區(qū)選項。格式化C分區(qū)完成后,出現(xiàn)下圖8所示
被過濾廣告
查看原圖
圖8中開始復(fù)制文件,文件復(fù)制完后,安裝程序開始初始化Windows配置。然后系統(tǒng)將會自動在15秒后重新啟動。重新啟動后,出現(xiàn)下圖9所示
HYPERLINK
查看原圖
9
查看原圖
過5分鐘后,當(dāng)提示還需33分鐘時將出現(xiàn)如下圖10
HYPERLINK
查看原圖
區(qū)域和語言設(shè)置選用默認(rèn)值就可以了,直接點“下一步”按鈕,出現(xiàn)如下圖11
查看原圖
這里輸入你想好的姓名和單位,這里的姓名是你以后注冊的用戶名,點“下一步”按鈕,出現(xiàn)如下圖12
HYPERLINK
查看原圖
如果你沒有預(yù)先記下產(chǎn)品密鑰(安裝序列號)就大件事啦!這里輸入安裝序列號,點“下一步”按鈕,出現(xiàn)如下圖13
HYPERLINK
查看原圖
安裝程序自動為你創(chuàng)建又長又難看的計算機(jī)名稱,自己可任意更改,輸入兩次系統(tǒng)管理員密碼,請記住這個密碼,Administrator系統(tǒng)管理員在系統(tǒng)中具有最高權(quán)限,平時登陸系統(tǒng)不需要這個帳號。接著點“下一步”出現(xiàn)如下圖14
查看原圖
日期和時間設(shè)置不用講,選北京時間,點“下一步”出現(xiàn)如下圖15
HYPERLINK
查看原圖
開始安裝,復(fù)制系統(tǒng)文件、安裝網(wǎng)絡(luò)系統(tǒng),很快出現(xiàn)如下圖16
查看原圖
讓你選擇網(wǎng)絡(luò)安裝所用的方式,選典型設(shè)置點“下一步”出現(xiàn)如下圖17
HYPERLINK
查看原圖
點“下一步”出現(xiàn)如下圖18
HYPERLINK
查看原圖
繼續(xù)安裝,到這里后就不用你參與了,安裝程序會自動完成全過程。安裝完成后自動重新啟動,出現(xiàn)啟動畫面,如下圖19
HYPERLINK
查看原圖
第一次啟動需要較長時間,請耐心等候,接下來是歡迎使用畫面,提示設(shè)置系統(tǒng),如下圖20
查看原圖
點擊右下角的“下一步”按鈕,出現(xiàn)設(shè)置上網(wǎng)連接畫面,如下圖21所示
HYPERLINK
查看原圖
點擊右下角的“下一步”按鈕,出現(xiàn)設(shè)置上網(wǎng)連接畫面,如下圖21所示
查看原圖
這里建立的寬帶撥號連接,不會在桌面上建立撥號連接快捷方式,且默認(rèn)的撥號連接名稱為“我的ISP”(自定義除外);進(jìn)入桌面后通過連接向?qū)Ы⒌膶拵芴栠B接,在桌面上會建立撥號連接快捷方式,且默認(rèn)的撥號連接名稱為“寬帶連接”(自定義除外)。如果你不想在這里建立寬帶撥號連接,請點擊“跳過”按鈕。
在這里我先創(chuàng)建一個寬帶連接,選第一項“數(shù)字用戶線(ADSL)或電纜調(diào)制解調(diào)器”,點擊“下一步”按鈕,如下圖22所示
HYPERLINK
查看原圖
目前使用的電信或聯(lián)通(ADSL)住宅用戶都有帳號和密碼的,所以我選“是,我使用用戶名和密碼連接”,點擊“下一步”按鈕,如下圖23所示
查看原圖
輸入電信或聯(lián)通提供的帳號和密碼,在“你的ISP的服務(wù)名”處輸入你喜歡的名稱,該名稱作為撥號連接快捷菜單的名稱,如果留空系統(tǒng)會自動創(chuàng)建名為“我的ISP”作為該連接的名稱,點擊“下一步”按鈕,如下圖24所示
查看原圖
已經(jīng)建立了撥號連接,微軟當(dāng)然想你現(xiàn)在就激活XP啦,不過即使不激活也有30天的試用期,又何必急呢?選擇“否,請等候幾天提醒我”,點擊“下一步”按鈕,如下圖25所示
HYPERLINK
查看原圖
輸入一個你平時用來登陸計算機(jī)的用戶名,點下一步出現(xiàn)如下圖26
HYPERLINK
查看原圖
點擊完成,就結(jié)束安裝。系統(tǒng)將注銷并重新以新用戶身份登陸。登陸桌面后如下圖27
HYPERLINK
查看原圖
六、找回常見的圖標(biāo)
在桌面上點開始-->連接到-->寬帶連接,如下圖32
查看原圖
左鍵點“寬帶連接”不放手,將其拖到桌面空白處,可見到桌面上多了一個“寬帶連接”快捷方式。結(jié)果如下圖33
HYPERLINK
查看原圖
然后,右鍵在桌面空白處點擊,在彈出的菜單中選“屬性”,即打開顯示“屬性窗口”如下圖34
查看原圖
在圖中單擊“桌面”選項卡,出現(xiàn)如下圖35
HYPERLINK
查看原圖
在圖中的左下部點擊“自定義桌面”按鈕,出現(xiàn)如下圖36
查看原圖
在圖中的上部,將“我的文檔”、“我的電腦”、“網(wǎng)上鄰居”和“InternetExplorer”四個項目前面的空格上打鉤,然后點“確定”,再“確定”,你將會看到桌面上多了你想要的圖標(biāo)。如下圖37
鍵盤上每個鍵作用!!!
F1幫助
F2改名
F3搜索
F4地址
F5刷新
F6切換
F10菜單
CTRL+A全選
CTRL+C復(fù)制
CTRL+X剪切
CTRL+V粘貼
CTRL+Z撤消
CTRL+O打開
SHIFT+DELETE永久刪除
DELETE刪除
ALT+ENTER屬性
ALT+F4關(guān)閉
CTRL+F4關(guān)閉
ALT+TAB切換
ALT+ESC切換
ALT+空格鍵窗口菜單
CTRL+ESC開始菜單
拖動某一項時按CTRL復(fù)制所選項目
拖動某一項時按CTRL+SHIFT創(chuàng)建快捷方式
將光盤插入到CD-ROM驅(qū)動器時按SHIFT鍵阻止光盤自動播放
Ctrl+1,2,3...切換到從左邊數(shù)起第1,2,3...個標(biāo)簽
Ctrl+A全部選中當(dāng)前頁面內(nèi)容
Ctrl+C復(fù)制當(dāng)前選中內(nèi)容
Ctrl+D打開“添加收藏”面版(把當(dāng)前頁面添加到收藏夾中)
Ctrl+E打開或關(guān)閉“搜索”側(cè)邊欄(各種搜索引擎可選)
Ctrl+F打開“查找”面版
Ctrl+G打開或關(guān)閉“簡易收集”面板
Ctrl+H打開“歷史”側(cè)邊欄
Ctrl+I打開“收藏夾”側(cè)邊欄/另:將所有垂直平鋪或水平平鋪或?qū)盈B的窗口恢復(fù)
Ctrl+K關(guān)閉除當(dāng)前和鎖定標(biāo)簽外的所有標(biāo)簽
Ctrl+L打開“打開”面版(可以在當(dāng)前頁面打開Iternet地址或其他文件...)
Ctrl+N新建一個空白窗口(可更改,Maxthon選項→標(biāo)簽→新建)
Ctrl+O打開“打開”面版(可以在當(dāng)前頁面打開Iternet地址或其他文件...)
Ctrl+P打開“打印”面板(可以打印網(wǎng)頁,圖片什么的...)
Ctrl+Q打開“添加到過濾列表”面板(將當(dāng)前頁面地址發(fā)送到過濾列表)
Ctrl+R刷新當(dāng)前頁面
Ctrl+S打開“保存網(wǎng)頁”面板(可以將當(dāng)前頁面所有內(nèi)容保存下來)
Ctrl+T垂直平鋪所有窗口
Ctrl+V粘貼當(dāng)前剪貼板內(nèi)的內(nèi)容
Ctrl+W關(guān)閉當(dāng)前標(biāo)簽(窗口)
Ctrl+X剪切當(dāng)前選中內(nèi)容(一般只用于文本操作)
Ctrl+Y重做剛才動作(一般只用于文本操作)
Ctrl+Z撤消剛才動作(一般只用于文本操作)
Ctrl+F4關(guān)閉當(dāng)前標(biāo)簽(窗口)
Ctrl+F5刷新當(dāng)前頁面
Ctrl+F6按頁面打開的先后時間順序向前切換標(biāo)簽(窗口)
Ctrl+F11隱藏或顯示菜單欄
Ctrl+Tab以小菜單方式向下切換標(biāo)簽(窗口)
Ctrl+Enter域名自動完成[url=].**.com[/url](內(nèi)容可更改,Maxthon選項→地址欄→常規(guī))/另:當(dāng)輸入焦點在搜索欄中時,為高亮關(guān)鍵字
Ctrl+拖曳保存該鏈接的地址或已選中的文本或指定的圖片到一個文件夾中(保存目錄可更改,Maxthon選項→保存)
Ctrl+小鍵盤'+'當(dāng)前頁面放大20%
Ctrl+小鍵盤'-'當(dāng)前頁面縮小20%
Ctrl+小鍵盤'*'恢復(fù)當(dāng)前頁面的縮放為原始大小
Ctrl+Alt+S自動保存當(dāng)前頁面所有內(nèi)容到指定文件夾(保存路徑可更改,Maxthon選項→保存)
Ctrl+Shift+小鍵盤'+'所有頁面放大20%
Ctrl+Shift+小鍵盤'-'所有頁面縮小20%
Ctrl+Shift+F輸入焦點移到搜索欄
Ctrl+Shift+G關(guān)閉“簡易收集”面板
Ctrl+Shift+H打開并激活到你設(shè)置的主頁
Ctrl+Shift+N在新窗口中打開剪貼板中的地址,如果剪貼板中為文字,則調(diào)用搜索引擎搜索該文字(搜索引擎可選擇,Maxthon選項→搜索)
Ctrl+Shift+S打開“保存網(wǎng)頁”面板(可以將當(dāng)前頁面所有內(nèi)容保存下來,等同于Ctrl+S)
Ctrl+Shift+W關(guān)閉除鎖定標(biāo)簽外的全部標(biāo)簽(窗口)
Ctrl+Shift+F6按頁面打開的先后時間順序向后切換標(biāo)簽(窗口)
Ctrl+Shift+Tab以小菜單方式向上切換標(biāo)簽(窗口)
Ctrl+Shift+Enter域名自動完成
Al
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年新媒體運(yùn)營策略內(nèi)容創(chuàng)意與營銷工具使用測試題
- 2026年機(jī)械設(shè)計基礎(chǔ)與原理練習(xí)題庫
- 2026年電子商務(wù)運(yùn)營技能認(rèn)證考試題集
- 2026年政府政策解讀與傳播技巧模擬題目
- 2026年職業(yè)規(guī)劃師個人職業(yè)發(fā)展路徑指導(dǎo)試題
- 眩暈癥狀的評估與處理習(xí)題及答案
- 下肢深靜脈血栓形成介入治療護(hù)理實踐指南測試題及答案
- 2025年福建省普通高校招生編導(dǎo)統(tǒng)考及參考答案
- 重大危險源培訓(xùn)考試及答案
- 本科《社會保障學(xué)》簡答題案例分析題題庫及答案
- 機(jī)加工風(fēng)險辨識評估報告
- 述職演講報告模板
- 直腸給藥護(hù)理
- GB/T 25085.1-2024道路車輛汽車電纜第1部分:術(shù)語和設(shè)計指南
- 循環(huán)流化床鍋爐配電袋復(fù)合除塵器技術(shù)方案
- DZ∕T 0221-2006 崩塌、滑坡、泥石流監(jiān)測規(guī)范(正式版)
- 電機(jī)與拖動(高職)全套教學(xué)課件
- 二十四節(jié)氣和農(nóng)業(yè)生產(chǎn)的關(guān)系
- 鑄牢中華民族共同體意識課件
- 屋頂光伏安全專項施工方案
- 法院證據(jù)目錄(訴訟)
評論
0/150
提交評論