廖志平
(湖南環(huán)境生物職業(yè)技術(shù)學(xué)院,湖南 衡陽 421005)
大數(shù)據(jù)技術(shù)的發(fā)展使互聯(lián)網(wǎng)的應(yīng)用范圍不斷擴(kuò)大,論文重查、物流配送、電商平臺以及喜好推薦等許多傳統(tǒng)行業(yè)都在利用大數(shù)據(jù)工具和技術(shù)開辟新市場。在大數(shù)據(jù)技術(shù)的幫助下,商家們可以更好地進(jìn)行消費(fèi)決策,同時也可以準(zhǔn)確地預(yù)測出商品的銷售量和銷路,進(jìn)而使整個行業(yè)的供求關(guān)系得到改善。
SpringBoot不能徹底取代Spring,而是將Spring的框架整合到一起,使它成為一個對開發(fā)者來說更方便的開發(fā)工具。該軟件已經(jīng)集成了很多第三方的資源庫,在使用時只要簡單地進(jìn)行引入,無須經(jīng)常進(jìn)行其他的整合。
Ajax在Web服務(wù)器和Browser間進(jìn)行異步的數(shù)據(jù)傳送,而Web頁面則需要從服務(wù)器方獲取本地資料,這樣可以讓W(xué)eb軟件變得更小巧、更友好。Ajax也可以作為一個跨領(lǐng)域的鏈接,用于調(diào)整后端的前頁。
MyBatis是一個基于Java的很好的持久的架構(gòu),它可以在以后的應(yīng)用中存儲和調(diào)用。MyBatis架構(gòu)也可以在自定義數(shù)據(jù)庫、存儲等問題上做出出色的安排,基于MyBatis的實(shí)際應(yīng)用和其本身的特性,通常將其分為3層:API接口層、數(shù)據(jù)處理層和底層支持層。
該數(shù)據(jù)的采集過程包括數(shù)據(jù)爬取、數(shù)據(jù)清洗、數(shù)據(jù)分析和數(shù)據(jù)展示。數(shù)據(jù)挖掘技術(shù)是通過scrapy從一個特定的頁面中得到一個完整的頁面,再通過BS4的框架提取出該頁面的主題和標(biāo)記;數(shù)據(jù)清理就是對所采集到的數(shù)據(jù)進(jìn)行初步加工、整理,剔除不合格的數(shù)據(jù);數(shù)據(jù)處理是利用已有的Spark運(yùn)算符對已洗數(shù)據(jù)進(jìn)行求和、求平均等運(yùn)算,將獲得的最終結(jié)果存儲在一個數(shù)據(jù)庫中;數(shù)據(jù)顯示部分使用SpringBoot架構(gòu),通過控制層、服務(wù)層和數(shù)據(jù)層對數(shù)據(jù)進(jìn)行數(shù)據(jù)訪問,并對數(shù)據(jù)進(jìn)行可視性回饋。該體系的數(shù)據(jù)流圖如圖1所示。
圖1 數(shù)據(jù)流圖
系統(tǒng)架構(gòu)設(shè)計(jì)如圖2所示,該體系結(jié)構(gòu)由控制層、服務(wù)層和數(shù)據(jù)層構(gòu)成。
圖2 系統(tǒng)架構(gòu)設(shè)計(jì)圖
這3個層次的區(qū)分使整個體系的體系設(shè)計(jì)更清晰。服務(wù)級可以利用SQL語句來抽取數(shù)據(jù)庫中的數(shù)據(jù),將這些數(shù)據(jù)保存在可視化的Data領(lǐng)域,然后將這些數(shù)據(jù)傳輸?shù)絍IP層,再將其反饋到VIP級,可以幫助系統(tǒng)的發(fā)展。在整個體系結(jié)構(gòu)的框架下,可以進(jìn)行完善的大學(xué)級的體系結(jié)構(gòu)。整個體系結(jié)構(gòu)的完善程度直接關(guān)系到整個體系結(jié)構(gòu)的可變性和可擴(kuò)展性。
該平臺采用Python爬蟲,在“'./data/2020年9月大學(xué)英語六級成績.xls'”“'./data/2021年6月份英語六級成績數(shù)據(jù).xls'”等搜索英語成績信息,因此該系統(tǒng)的主要目的是為了獲得更多的信息。但是經(jīng)過檢測,由于頁面本身存在防扒的特性,如果頻繁地進(jìn)行大規(guī)模的爬行,很容易造成IP被封鎖,因此在進(jìn)行數(shù)據(jù)攀爬時,不能一次或多次地進(jìn)行海量的數(shù)據(jù)訪問。
隨機(jī)森林構(gòu)建思想解決了原先單決策樹存在的過擬合和非全局最優(yōu)解的缺陷,體現(xiàn)隨機(jī)性,該算法利用訓(xùn)練集和特征變量的隨機(jī)性進(jìn)行英語成績分析,N棵樹就有N個分類效果。每課決策樹之間不相關(guān)聯(lián),這樣在對英語成績處理時可根據(jù)成績特征區(qū)間進(jìn)行分布。
隨機(jī)森林算法由(),(),…,h()構(gòu)成。
邊際函數(shù)定義,如公式(1)所示。
邊際函數(shù)的概念是指如果分類結(jié)果的準(zhǔn)確率高于不正確的分類結(jié)果,則獲得的數(shù)量更多,則表明該方法有效性更高。
泛化誤差定義,如公式(2)所示。
式中:、為概率定義空間。
隨機(jī)森林邊緣函數(shù),如公式(3)、公式(4)所示。
由此可對隨機(jī)森林強(qiáng)度和相關(guān)性進(jìn)行分析。
隨機(jī)森林強(qiáng)度定義,如公式(5)所示。
將公式(4)代入公式(5)可得公式(6)。
隨機(jī)森林相關(guān)度定義,如公式(7)所示。
隨機(jī)森林的特性主要表現(xiàn)為收斂程度、強(qiáng)度以及相關(guān)程度。它的收斂性是由于所有的概率分布都是收斂的,并且都是有極限的,因此就意味著它對未知的東西有很強(qiáng)的適應(yīng)能力,而且不會產(chǎn)生太大的錯誤。
數(shù)據(jù)預(yù)處理,在數(shù)據(jù)預(yù)處理方面,采用“pandas+Matplot lib+seaborn+sklearn”等工具,該文采用了python的pandas庫與numpy庫進(jìn)行協(xié)同的過濾操作。從多個角度對大學(xué)本科院校四、六級的數(shù)據(jù)進(jìn)行了多個維度的統(tǒng)計(jì)和分析,揭示了目前大學(xué)英語的發(fā)展?fàn)顩r,為英語教學(xué)的改革做了細(xì)致的剖析。其操作如下。
df_202009_six = pd.read_excel('./data/2020年9月大學(xué)英語六級成績.xls')
df_202009_four = pd.read_excel('./data/2020年9月大學(xué)英語四級成績.xls')
df_202012_six = pd.read_excel('./data/2020年12月份六級成績.xls')
df_202012_four = pd.read_excel('./data/2020年12月 份四級成績.xls')
df_202106_six = pd.read_excel(w1'./data/2021年6月份英語六級成績數(shù)據(jù).xls')
df_202106_four = pd.read_excel('./data/2021年6月份英語四級成績數(shù)據(jù).xls')
在前端,需要處理數(shù)據(jù)進(jìn)行查詢和可視顯示,盡可能使顯示的接口更加直觀和漂亮。選擇SpringBoot進(jìn)行前端架構(gòu)的構(gòu)建,其總體架構(gòu)與SpringMVC相似,通過網(wǎng)頁啟動Ajax,通過逐層的訪問控制層、服務(wù)層和數(shù)據(jù)層來實(shí)現(xiàn)數(shù)據(jù)的可視性??梢暬难菔灸J絹碓从贓charts的正式的說明,它擁有更多的互動和互動。
而后端則負(fù)責(zé)處理數(shù)據(jù)的攀爬與存貯,是整個分析體系的關(guān)鍵所在。使用scrapy和bs4中的BeautifulSoup架構(gòu)進(jìn)行了爬行。這2種結(jié)構(gòu)都很方便,也很好地理解了常規(guī)規(guī)則和Xpath。然后編寫Spark算符,將Spark的RDD轉(zhuǎn)換為DataFrame,以便在SQL基礎(chǔ)上進(jìn)行數(shù)據(jù)格式的解析和運(yùn)算。將數(shù)據(jù)寫入MySQL數(shù)據(jù)庫,并將其存儲在數(shù)據(jù)表格中。作為一個數(shù)據(jù)解析的平臺,為了確保數(shù)據(jù)的準(zhǔn)確性,管理者必須定期對站點(diǎn)的結(jié)構(gòu)和信息進(jìn)行更新。
數(shù)據(jù)抓?。耗壳霸撐乃褂玫氖且环N爬行算法,其具體的算法是以Beautiful Soup為基礎(chǔ)。HTML/XML是一種用Python語言寫成的HTML/XML,它能處理不規(guī)則的標(biāo)簽,產(chǎn)生解析樹。并通過隨機(jī)森林算法進(jìn)行成績分類,可以方便地瀏覽、搜索和修改配置目錄。該方法無須編寫規(guī)則運(yùn)算即可輕松抽取網(wǎng)絡(luò)中的數(shù)據(jù),快速給使用者提供各種分析方法。
尋找數(shù)據(jù):確定好了數(shù)據(jù)區(qū)域是中間的部分,進(jìn)行數(shù)據(jù)爬取。
抓取數(shù)據(jù):抓取數(shù)據(jù)用到了urllib.request庫,解析html用到了BeautifulSoup庫。
應(yīng)用隨機(jī)森林算法對英語成績樣本進(jìn)行分析,并可以選擇對象的不同的特征將其劃分為多個子集合,這樣就可以對新的對象進(jìn)行屬性劃分。
從分析中可以看出外國語學(xué)院通過率高,這主要源于學(xué)習(xí)內(nèi)容與習(xí)慣,英語學(xué)習(xí)越多通過率越高,另外體育學(xué)院最低,主要原因在于平時學(xué)習(xí)較少,大多是體育訓(xùn)練,導(dǎo)致英語學(xué)習(xí)比重降低。
界面代碼設(shè)置如下。
可根據(jù)所獲取數(shù)據(jù)創(chuàng)建英語四級中閱讀、聽力、寫作與總分之間的線性回歸分析,大數(shù)據(jù)分析應(yīng)用在英語中可使使用者盡快了解成績以及學(xué)生詳情,能夠更好地幫助英語學(xué)習(xí)。在Hist表格上,系統(tǒng)會輸出相應(yīng)的數(shù)據(jù)讓使用者看到。在Python上運(yùn)行時,系統(tǒng)將會通過隨機(jī)森林算法進(jìn)行成績分類,并由系統(tǒng)處理生產(chǎn)線性回歸分析圖,由該圖可知,無論是總分、聽力、閱讀還是寫作,分?jǐn)?shù)集中位置都在中間,這與學(xué)生能力相關(guān)。
界面代碼設(shè)置如下。
該文主要從數(shù)據(jù)爬取、數(shù)據(jù)預(yù)處理、數(shù)據(jù)分析和可視化4個部分來研究“大數(shù)據(jù)在英語教學(xué)中的應(yīng)用”的設(shè)計(jì)和實(shí)施。該數(shù)據(jù)解析體系由SpringBoot框架與數(shù)據(jù)庫、爬蟲和Spark結(jié)合在一起實(shí)現(xiàn)。重點(diǎn)闡述了決策樹和隨機(jī)森林在英語成績分析中的應(yīng)用及其算法,并對它的特性和優(yōu)點(diǎn)進(jìn)行了詳細(xì)的論述。在系統(tǒng)的開發(fā)初期對系統(tǒng)的要求與可行性進(jìn)行了細(xì)致的研究,并根據(jù)實(shí)際情況分析了隨機(jī)森林算法在英語中的應(yīng)用、大數(shù)據(jù)處理以及數(shù)據(jù)分析的具體實(shí)現(xiàn),可為英語學(xué)習(xí)提供有效幫助。