• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Python的Web數(shù)據(jù)挖掘應(yīng)用

      2019-08-30 06:18:48韋建國王建勇
      浙江水利水電學院學報 2019年4期
      關(guān)鍵詞:爬蟲數(shù)據(jù)源日志

      韋建國,王建勇

      (阜陽職業(yè)技術(shù)學院,安徽 阜陽 236000)

      近年來,大數(shù)據(jù)與云計算等技術(shù)迅猛發(fā)展,各行各業(yè)積累出來的大量數(shù)據(jù)也由此引起了人們的高度重視,如何從這些積累的數(shù)據(jù)中挖掘出有價值的信息,成為了人們研究的熱點,數(shù)據(jù)挖掘技術(shù)也由此興盛起來,Python在數(shù)據(jù)挖掘領(lǐng)域中的地位也逐漸突顯出來,成為較熱門的數(shù)據(jù)挖掘工具之一。Python是一種面向?qū)ο蟮拈_源程序設(shè)計語言,它的語法結(jié)構(gòu)較為簡單,它是由Guido van Rossum開發(fā)的,它具有豐富的庫和豐富的API。運用其中的sklearn、pandas以及numpy等工具庫,將會有效地提高數(shù)據(jù)挖掘效率。[1]本文主要是基于Python對網(wǎng)絡(luò)學習平臺積累的數(shù)據(jù)進行挖掘分析,以期挖掘出有參考意義的數(shù)據(jù)信息。

      1 Web數(shù)據(jù)挖掘概述

      Web數(shù)據(jù)挖掘(web data mining)最早起源于1996年,是數(shù)據(jù)挖掘技術(shù)與Web技術(shù)相結(jié)合的產(chǎn)物,又稱知識發(fā)現(xiàn)。此技術(shù)主要通過從網(wǎng)頁中積累的大量數(shù)據(jù)信息中抽取出有意義的信息,然后通過數(shù)據(jù)挖掘處理,挖掘出其中隱藏的數(shù)據(jù)信息,分析現(xiàn)有的數(shù)據(jù),根據(jù)數(shù)據(jù)呈現(xiàn)出來的結(jié)果進行預(yù)測性判斷。隨著大數(shù)據(jù)技術(shù)和Web技術(shù)的大力發(fā)展,Web數(shù)據(jù)挖掘已成為數(shù)據(jù)挖掘領(lǐng)域中使用較為廣泛的應(yīng)用之一,通過Web挖掘可以實現(xiàn)用戶行為的分析,通過分析挖掘出有參考價值的規(guī)則。從長遠來看,具有較大的商業(yè)和科研價值。[2]Web數(shù)據(jù)挖掘的流程(見圖1)。

      圖1 Web數(shù)據(jù)挖掘流程

      2 數(shù)據(jù)挖掘常用的Python庫

      (1)Sklearn

      Sklearn庫是數(shù)據(jù)挖掘中的核心工具庫之一,是基于Python語言編寫的,該庫中提供了數(shù)據(jù)挖掘中的大量算法,如分類算法、回歸算法、降維算法等,同時還有這些算法的使用接口和調(diào)試工具,是一種簡單有效的數(shù)據(jù)挖掘工具。[3]

      (2)Pandas與Numpy

      Pandas和Numpy也是Python數(shù)據(jù)挖掘技術(shù)中的核心工具庫成員,其中Numpy是基于Python開發(fā)的,支持多種運算的開源工具庫,具有較高的運算性能,同時還提供了多種數(shù)學計算工具;而Pandas庫是在Numpy基礎(chǔ)上開發(fā)的數(shù)據(jù)分析工具包,根據(jù)統(tǒng)計結(jié)果進行數(shù)據(jù)清洗、缺失處理、降噪等操作,實現(xiàn)對數(shù)據(jù)的有效處理。[4]

      (3)Openpyxl庫

      Openpyxl是一個用于讀寫Excel 2010 xlsx/xlsm/xltx/xltm文件的Python庫,其功能非常強大。Excel表格可以理解為一個二維矩陣,行用1,2,3,4,5……等表示,在Openpyxl可以用來作為行索引。列用A,B,C,D,E,……表示,在Openpyxl中可以用來當作列索引,描述一個單元格的位置需要一個行標、一個列標。

      (4)Pymongo庫

      Pymongo是一個通過Mongo DB操作的封裝庫來實現(xiàn)對Mongo DB的使用,Pymongo是Mongo DB Driver的Python實現(xiàn)版本。此庫將Mongo DB數(shù)據(jù)庫的驅(qū)動環(huán)境與Python版本進行了有效的連接。使用pymongo可以對本地或者遠程服務(wù)器的Mongo DB數(shù)據(jù)庫進行鏈接,獲取到數(shù)據(jù)資源之后,再將有用的信息以文檔的形式導(dǎo)入數(shù)據(jù)庫。[5]

      3 基于Python的Web數(shù)據(jù)挖掘

      Python語言是一種面向?qū)ο蟮木哂辛己玫慕忉屝院徒换バ阅艿某绦蛟O(shè)計腳本語言,目前應(yīng)用較為廣泛,運用Python語言編寫的程序具有以下優(yōu)點:

      (1)具有高效的程序開發(fā)與維護性能;

      (2)可讀性強;

      (3)使用此腳本語言所編寫的結(jié)構(gòu)化代碼較為簡潔易懂,適合于初學者。

      Python腳本語言所具有的以上優(yōu)點使其一躍成為當前主流的程序設(shè)計語言。[6]其主要的功能主要體現(xiàn)在以下方面:

      (1)網(wǎng)絡(luò)爬蟲

      隨著計算機網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,網(wǎng)絡(luò)上積累了大量的數(shù)據(jù)信息。日益增長的大量自定向數(shù)據(jù)獲取需要和大量的數(shù)據(jù)搜索需求推動了爬蟲技術(shù)的興起,同時也帶動了搜索引擎技術(shù)的不斷發(fā)展。網(wǎng)絡(luò)爬蟲(Spider)又稱為網(wǎng)頁蜘蛛,是通過預(yù)定義的一組規(guī)則獲取信息的腳本或程序。Python腳本語言在網(wǎng)絡(luò)爬蟲設(shè)計方面具有自己的優(yōu)勢。[7]

      (2)Scraping

      Scraping自動網(wǎng)絡(luò)爬蟲框架是基于Python語言開發(fā)的,它可以實現(xiàn)數(shù)據(jù)的定向爬取。首先設(shè)計好爬蟲規(guī)則,然后在實際運行中,輸入規(guī)則,就可以快速獲取到所需數(shù)據(jù)。Scraping程序主要是靠TCP傳輸控制協(xié)議與Web服務(wù)器實現(xiàn)數(shù)據(jù)傳遞,數(shù)據(jù)交互主要是依靠HTTP超文本傳輸協(xié)議與Web服務(wù)器實現(xiàn)。爬取首先由HTTP的交互模塊向Web端口發(fā)起TCP的請求,再向Web服務(wù)器發(fā)出HTTP的報文請求,HTTP得到Web服務(wù)器的應(yīng)答后進行包拆封,從拆封的包中提出數(shù)據(jù)并進行解析,最后將提取出來的數(shù)據(jù)進行存儲。由于網(wǎng)絡(luò)上的信息資源大多是無結(jié)構(gòu)化的文本,這就增加了網(wǎng)絡(luò)信息資源進行分類的難度。[8]

      4 網(wǎng)絡(luò)學習平臺數(shù)據(jù)采集及分析

      根據(jù)Web數(shù)據(jù)挖掘的流程,首先進行數(shù)據(jù)采集,實驗所需數(shù)據(jù)來源于2018—2019學年度第1學期使用的《HTML5前端開發(fā)》這門課程的網(wǎng)絡(luò)學習平臺,通過一段時間的使用生成的日志數(shù)據(jù),將其導(dǎo)出并保存為Excel的格式是最簡潔的,然后利用Python程序中的openpyxl庫,讀取其中的日志信息,同時進行數(shù)據(jù)轉(zhuǎn)換,轉(zhuǎn)換后的文檔格式另存為Excel文件,導(dǎo)出的部分日志數(shù)據(jù)(見表1)。

      表1 導(dǎo)出的部分日志數(shù)據(jù)

      (1)數(shù)據(jù)預(yù)處理

      數(shù)據(jù)預(yù)處理(data preprocessing)是指在主要的處理以前對數(shù)據(jù)進行的一些處理,因為初始收集的數(shù)據(jù)可能不是來源于同一個數(shù)據(jù)源,格式也有可能存在差異,也存在缺失、重復(fù)、不一致等問題的可能,在此種情況下數(shù)據(jù)分析出現(xiàn)偏差的可能性較大,所以數(shù)據(jù)預(yù)處理是非常關(guān)鍵的一步。

      數(shù)據(jù)預(yù)處理一般沒有標準規(guī)范的步驟,針對不同的任務(wù)、不同的數(shù)據(jù)集屬性,其數(shù)據(jù)預(yù)處理的步驟也不會相同。但大多數(shù)情況下,數(shù)據(jù)預(yù)處理都要經(jīng)過數(shù)據(jù)清理、數(shù)據(jù)集成、數(shù)據(jù)規(guī)約及數(shù)據(jù)變換的操作。數(shù)據(jù)清理主要負責處理缺失值、噪聲平滑、識別處理離群點等操作任務(wù),并糾正數(shù)據(jù)中的不一致等技術(shù)來進行;數(shù)據(jù)集成主要指集成多種數(shù)據(jù)源,數(shù)據(jù)集成需要考慮許多因素,例如多個不同來源信息的實體識別、數(shù)據(jù)的冗余等問題因素。數(shù)據(jù)規(guī)約主要指數(shù)據(jù)的簡化表示,隨著大數(shù)據(jù)的出現(xiàn),基于傳統(tǒng)無監(jiān)督學習的數(shù)據(jù)分析變得非常耗時和復(fù)雜,往往使得分析不可行。數(shù)據(jù)歸約主要是數(shù)據(jù)集的規(guī)約表示,在盡量保持數(shù)據(jù)完整性的同時大大減小數(shù)據(jù)集的規(guī)模。對規(guī)約后的數(shù)據(jù)集分析將更有效;數(shù)據(jù)變換主要是針對數(shù)據(jù)的規(guī)范化、離散化及概念分層等的處理。[9]

      由于本文收集的數(shù)據(jù)來源于同一個數(shù)據(jù)源,數(shù)據(jù)源較為單一,不存在數(shù)據(jù)缺失等問題,所以數(shù)據(jù)預(yù)處理相對簡單。

      (2)數(shù)據(jù)分析

      本文選擇阜陽職業(yè)技術(shù)學院工程科技學院的2017、2018級計算機應(yīng)用、計算機網(wǎng)絡(luò)班所使用的網(wǎng)絡(luò)學習平臺課程《HTML5前端開發(fā)》生成的日志數(shù)據(jù)作為數(shù)據(jù)源,數(shù)據(jù)選擇使用Excel格式進行導(dǎo)出,讀取日志數(shù)據(jù)利用Python編寫程序來實現(xiàn),同時對日志數(shù)據(jù)進行數(shù)據(jù)預(yù)處理,將預(yù)處理后的日志數(shù)據(jù)進行保存。從導(dǎo)出的數(shù)據(jù)中分析出平臺學習人數(shù)隨時間的變化規(guī)律,然后利用Matplotlib繪制分析結(jié)果圖,繪制出的圖形(見圖2)。

      Matplotlib是一個2D繪圖庫,利用Matplotlib庫,可以繪制出直方圖、折線圖、餅圖、散點圖等,以Matplotlib可實現(xiàn)數(shù)據(jù)的可視化,直觀展示數(shù)據(jù)的分析結(jié)果,本文就是通過調(diào)用Matplotlib繪圖庫實現(xiàn)對網(wǎng)絡(luò)學習平臺的日志數(shù)據(jù)進行分析生成可視化圖形。

      圖2 學習平臺人數(shù)隨日期的變化圖

      由圖2看出,網(wǎng)絡(luò)學習平臺的學習人數(shù)隨日期有一定的變化規(guī)律,2018—2019學年度第1學期,該們課程在每周1、周2、周3、周5均有開設(shè),學生在課堂上使用網(wǎng)絡(luò)學習平臺學習、做作業(yè)的人數(shù)最多,這點與圖示所顯示的變化規(guī)律是相一致的。教師可以根據(jù)這一規(guī)律在課外時間完善平臺學習資源,設(shè)置課程內(nèi)容,布置作業(yè)等,以期在課堂上有更豐富的內(nèi)容教學,優(yōu)化教學過程,提升教學效果。

      5 結(jié)語

      隨著網(wǎng)絡(luò)的逐步普及,大數(shù)據(jù)時代的推進,Web數(shù)據(jù)挖掘已成為研究的熱門趨勢領(lǐng)域。Python作為Web數(shù)據(jù)挖掘領(lǐng)域中比較熱門的語言,已成為數(shù)據(jù)挖掘過程中不可替代的工具,它具有豐富的各種庫和強大的計算能力。本文主要基于Python語言對網(wǎng)絡(luò)學習平臺積累的日志數(shù)據(jù)進行Web數(shù)據(jù)挖掘和分析,進而挖掘出一些有規(guī)律的信息,以輔助于教師的教學,提升教學效果。

      猜你喜歡
      爬蟲數(shù)據(jù)源日志
      利用網(wǎng)絡(luò)爬蟲技術(shù)驗證房地產(chǎn)灰犀牛之說
      一名老黨員的工作日志
      華人時刊(2021年13期)2021-11-27 09:19:02
      基于Python的網(wǎng)絡(luò)爬蟲和反爬蟲技術(shù)研究
      扶貧日志
      心聲歌刊(2020年4期)2020-09-07 06:37:14
      利用爬蟲技術(shù)的Geo-Gnutel la VANET流量采集
      電子測試(2018年1期)2018-04-18 11:53:04
      Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
      游學日志
      基于不同網(wǎng)絡(luò)數(shù)據(jù)源的期刊評價研究
      大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡(luò)爬蟲技術(shù)
      電子制作(2017年9期)2017-04-17 03:00:46
      基于真值發(fā)現(xiàn)的沖突數(shù)據(jù)源質(zhì)量評價算法
      阳谷县| 大冶市| 交口县| 织金县| 青河县| 大安市| 林周县| 枣阳市| 汉中市| 静安区| 巩义市| 墨脱县| 武清区| 淮安市| 齐河县| 稻城县| 临海市| 汶川县| 沙坪坝区| 山阳县| 子长县| 库车县| 专栏| 横山县| 普安县| 璧山县| 汶川县| 海城市| 西青区| 英吉沙县| 江口县| 周口市| 凌源市| 黄龙县| 额尔古纳市| 昌黎县| 昌宁县| 龙岩市| 九龙城区| 德庆县| 阳泉市|