大數(shù)據(jù)分析原理和應(yīng)用 課件 第六章 大數(shù)據(jù)的獲取和預(yù)處理_第1頁(yè)
大數(shù)據(jù)分析原理和應(yīng)用 課件 第六章 大數(shù)據(jù)的獲取和預(yù)處理_第2頁(yè)
大數(shù)據(jù)分析原理和應(yīng)用 課件 第六章 大數(shù)據(jù)的獲取和預(yù)處理_第3頁(yè)
大數(shù)據(jù)分析原理和應(yīng)用 課件 第六章 大數(shù)據(jù)的獲取和預(yù)處理_第4頁(yè)
大數(shù)據(jù)分析原理和應(yīng)用 課件 第六章 大數(shù)據(jù)的獲取和預(yù)處理_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第六章大數(shù)據(jù)的獲取和預(yù)處理本章學(xué)習(xí)目標(biāo)1.掌握爬蟲的基本概念和流程,并使用Scrapy實(shí)現(xiàn)數(shù)據(jù)爬蟲;2.掌握數(shù)據(jù)清洗的基本原理和流程,并使用Pandas實(shí)現(xiàn)數(shù)據(jù)清洗;3.了解并掌握數(shù)據(jù)規(guī)約的基本概念和操作;4.了解并掌握數(shù)據(jù)標(biāo)準(zhǔn)化的基本概念和方法。6.1.1爬蟲的基礎(chǔ)知識(shí)1.HTTP基本原理 HTTP協(xié)議(HyperTextTransferProtocol,超文本傳輸協(xié)議)基于TCP/IP通信協(xié)議來(lái)傳遞數(shù)據(jù),是用于從WWW服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議。該協(xié)議工作于客戶端-服務(wù)器架構(gòu)上,瀏覽器作為HTTP客戶端通過URL向HTTP服務(wù)端即Web服務(wù)器發(fā)送所有請(qǐng)求,Web服務(wù)器根據(jù)收到的請(qǐng)求,向客戶端發(fā)送響應(yīng)信息。6.1.1爬蟲的基礎(chǔ)知識(shí)(1)

HTTP基本原理——HTTP請(qǐng)求報(bào)文當(dāng)客戶端發(fā)送一個(gè)請(qǐng)求后,一般都會(huì)得到一個(gè)服務(wù)器的響應(yīng)。服務(wù)器發(fā)送給客戶端的HTTP響應(yīng)用于向客戶端提供起請(qǐng)求的資源,以及客戶端請(qǐng)求的執(zhí)行結(jié)果。與請(qǐng)求類似,HTTP響應(yīng)也同樣由四部分組成,分別為響應(yīng)行、響應(yīng)頭、空行和響應(yīng)體。6.1.1爬蟲的基礎(chǔ)知識(shí)(2)

HTTP基本原理——HTTP響應(yīng)報(bào)文當(dāng)客戶端發(fā)送一個(gè)請(qǐng)求后,一般都會(huì)得到一個(gè)服務(wù)器的響應(yīng)。服務(wù)器發(fā)送給客戶端的HTTP響應(yīng)用于向客戶端提供起請(qǐng)求的資源,以及客戶端請(qǐng)求的執(zhí)行結(jié)果。與請(qǐng)求類似,HTTP響應(yīng)也同樣由四部分組成,分別為響應(yīng)行、響應(yīng)頭、空行和響應(yīng)體。6.1.1爬蟲的基礎(chǔ)知識(shí)1.HTML和Xpath基礎(chǔ) HTML(HypertextMarkupLanguage,超文本標(biāo)記語(yǔ)言)是一種標(biāo)記語(yǔ)言,包括一系列標(biāo)簽,利用這些標(biāo)簽可以將網(wǎng)絡(luò)上的格式統(tǒng)一,從而使得分散的Internet資源連接為一個(gè)邏輯整體。HTML用于顯示信息,而傳輸和存儲(chǔ)信息則是使用XML(ExtensibleMarkupLanguage,可擴(kuò)展標(biāo)記語(yǔ)言)。XML由XML元素組成,每個(gè)XML元素包括一個(gè)開始標(biāo)記,一個(gè)結(jié)束標(biāo)記以及兩個(gè)標(biāo)記之間的內(nèi)容??捎脕?lái)標(biāo)記數(shù)據(jù)、定義數(shù)據(jù)類型等。Xpath(XMLPathLanguage,XML路徑語(yǔ)言)是在XML文檔中查找信息的語(yǔ)言,但同樣也適用于HTML文檔的搜索。6.1.1爬蟲的基礎(chǔ)知識(shí)(1)HTML和Xpath基礎(chǔ)——HTML元素 HTML是一種用來(lái)結(jié)構(gòu)化Web網(wǎng)頁(yè)及其內(nèi)容的標(biāo)記語(yǔ)言。網(wǎng)頁(yè)內(nèi)容可以是:一組段落、一個(gè)消息列表,也可以含有圖片和數(shù)據(jù)表。HTML由一系列元素組成,這些元素可用來(lái)包圍不同部分的內(nèi)容,使其以某種方式呈現(xiàn)或工作。一對(duì)標(biāo)簽可以為一段文字或一張圖片添加超鏈接,將文字設(shè)置為斜體,改編字號(hào)等。元素主要包含以下幾部分:開始標(biāo)簽(Openingtag):包含元素的名稱(本例為p),被大于號(hào)、小于號(hào)所包圍。結(jié)束標(biāo)簽(Closingtag):與開始標(biāo)簽類似,只是在其元素名之前包含了一個(gè)斜杠,這表示元素的結(jié)尾;內(nèi)容(Content):元素的內(nèi)容,本例中就是所輸入的文本:“我的院子里有兩棵樹;”元素(Element):開始標(biāo)簽、結(jié)束標(biāo)簽與內(nèi)容相結(jié)合,就是完整的元素。6.1.1爬蟲的基礎(chǔ)知識(shí)(2)HTML和Xpath基礎(chǔ)——HTML文檔

以上介紹了基本的HTML元素,現(xiàn)分析完整的HTML頁(yè)面,示例如下:6.1.1爬蟲的基礎(chǔ)知識(shí)(3)HTML和Xpath基礎(chǔ)——樹表示法

瀏覽器發(fā)送請(qǐng)求后,會(huì)收到服務(wù)器響應(yīng)的HTML文檔,其后,瀏覽器需要對(duì)其進(jìn)行解析,從而將HTML文檔轉(zhuǎn)換為常見的網(wǎng)頁(yè)。解析主要分為三大步驟:DOM改造、布局以及繪制頁(yè)面。DOM表示法(DocumentObjectModel,文檔對(duì)象模型)具有跨平臺(tái)、語(yǔ)言無(wú)關(guān)等特點(diǎn),并且被大多數(shù)瀏覽器所支持,是W3C組織推薦的處理可擴(kuò)展標(biāo)記語(yǔ)言(HTML或XML)的標(biāo)準(zhǔn)編程接口。 DOM可以將HTML文檔解析為一個(gè)由節(jié)點(diǎn)和對(duì)象(包含屬性和方法的對(duì)象)組成的結(jié)構(gòu)集合,即HTML代碼的樹表示法。這種對(duì)象模型決定了節(jié)點(diǎn)之間都有一定的關(guān)聯(lián),如父子、兄弟等。6.1.1爬蟲的基礎(chǔ)知識(shí)(3)HTML和Xpath基礎(chǔ)——樹表示法

6.1.1爬蟲的基礎(chǔ)知識(shí)(3)HTML和Xpath基礎(chǔ)——樹表示法其對(duì)應(yīng)的DOM樹表示如下:

6.1.1爬蟲的基礎(chǔ)知識(shí)3.

正則表達(dá)式

正則表達(dá)式是用于描述一組字符串特征的模式,用來(lái)匹配特點(diǎn)的字符串。通過“特殊字符串+普通字符”來(lái)進(jìn)行模式描述,從而達(dá)到文本匹配目的的工具。正則表達(dá)式可在許多語(yǔ)言中使用,無(wú)論是前端的JavaScript、還是后端的Java、Python,它們都提供相應(yīng)的接口/函數(shù)支持正則表達(dá)式。

6.1.1爬蟲的基礎(chǔ)知識(shí)3.

正則表達(dá)式

正則表達(dá)式中有一些重復(fù)限定符,把重復(fù)部分用合適的限定符替代,常用的如下表所示:

6.1.1爬蟲的基礎(chǔ)知識(shí)4.爬蟲的概念

簡(jiǎn)單來(lái)說,爬蟲就是模擬瀏覽器發(fā)送網(wǎng)絡(luò)請(qǐng)求,獲取請(qǐng)求響應(yīng),獲取網(wǎng)頁(yè)并提取和保存信息的自動(dòng)化程序。自動(dòng)化程序是指使用爬蟲來(lái)代替人來(lái)完成這些操作,而爬蟲就是代替人來(lái)完成爬取工作的自動(dòng)化程序,它可以在抓取過程中進(jìn)行各種異常處理、錯(cuò)誤重試等操作,確保爬取高效地運(yùn)行。具體介紹如下:

6.1.1爬蟲的基礎(chǔ)知識(shí)(1)爬蟲的基本概念-獲取網(wǎng)頁(yè)

爬蟲首先要做的就是獲取網(wǎng)頁(yè),即網(wǎng)頁(yè)的源代碼,其中包含了網(wǎng)頁(yè)的有效信息,因此只要把源代碼獲取下來(lái),就可以從中提取到有用信息。

所謂請(qǐng)求,就是由客戶端發(fā)送給服務(wù)器的信息,從而獲取消息,服務(wù)器返回的響應(yīng)便是網(wǎng)頁(yè)源代碼。因此,爬蟲的關(guān)鍵就是構(gòu)造一個(gè)請(qǐng)求并發(fā)送給服務(wù)器,然后接收到響應(yīng)并將其解析出來(lái)。 Python提供了許多庫(kù)幫助我們實(shí)現(xiàn)構(gòu)造請(qǐng)求和解析響應(yīng),如urllib、requests等。通常人們使用這些庫(kù)來(lái)實(shí)現(xiàn)HTTP請(qǐng)求操作,請(qǐng)求和響應(yīng)都使用類庫(kù)提供的數(shù)據(jù)結(jié)構(gòu)表示,得到響應(yīng)之后只需要解析數(shù)據(jù)結(jié)構(gòu)中的Body部分,就可以得到網(wǎng)頁(yè)的源代碼。

6.1.1爬蟲的基礎(chǔ)知識(shí)(2)爬蟲的基本概念-提取信息

獲得網(wǎng)頁(yè)源代碼后,需要做的就是分析源代碼,從中提取到我們感興趣的信息。首先,最常用的方法是采用正則表達(dá)式提取,但是在構(gòu)造正則表達(dá)式時(shí)比較復(fù)雜且容易出錯(cuò)。

另外,由于網(wǎng)頁(yè)的結(jié)構(gòu)有一定的規(guī)則,因此可以利用從網(wǎng)頁(yè)節(jié)點(diǎn)屬性或XPath來(lái)提取網(wǎng)頁(yè)信息的庫(kù),如BeautifulSoup、pyquery、lxml等,使用這些庫(kù),可以高效地從中提取到有用地網(wǎng)頁(yè)信息,如節(jié)點(diǎn)的屬性、文本值等;

6.1.1爬蟲的基礎(chǔ)知識(shí)(3)爬蟲的基本概念-保存數(shù)據(jù)

提取信息以后,我們一般將提取到的數(shù)據(jù)保存到某處以便后續(xù)使用。保存形式有很多,如簡(jiǎn)單保存為TXT文本或JSON文本,也可以保存到數(shù)據(jù)庫(kù),如MySQL和MongoDB等,也可以保存到遠(yuǎn)程服務(wù)器,如借助SFTP進(jìn)行操作等;

6.1.2Scrapy爬蟲的原理與流程Scrapy框架介紹

6.1.2Scrapy爬蟲的原理與流程Scrapy框架介紹Engine:即引擎,處理整個(gè)系統(tǒng)的數(shù)據(jù)流處理,是Scrapy框架的核心,負(fù)責(zé)控制數(shù)據(jù)流在系統(tǒng)中所有組件中的流動(dòng),并在相應(yīng)動(dòng)作發(fā)生時(shí)觸發(fā)事件;Scheduler:即調(diào)度器,接受引擎發(fā)過來(lái)的請(qǐng)求,并將其加入隊(duì)列中,在引擎再次請(qǐng)求時(shí)將請(qǐng)求提供給引擎;Downloader:即下載器,用于高速下載網(wǎng)頁(yè)內(nèi)容,并將下載內(nèi)容返回給spider;

6.1.2Scrapy爬蟲的原理與流程Scrapy框架介紹Spiders:即爬蟲,定義爬取的邏輯和網(wǎng)頁(yè)內(nèi)容的解析規(guī)則,主要負(fù)責(zé)解析響應(yīng)并生成結(jié)果和新的請(qǐng)求;ItemPipeline:即項(xiàng)目管道,負(fù)責(zé)處理spider從網(wǎng)頁(yè)中抽取的數(shù)據(jù),主要是負(fù)責(zé)清洗,驗(yàn)證和向數(shù)據(jù)庫(kù)中存儲(chǔ)數(shù)據(jù);DownloaderMiddlewares:即下載中間件,是處于Scrapy的Request和Requesponse之間的處理模塊;SpiderMiddlewares:即spider中間件,位于引擎和spider之間的框架,主要處理spider輸入的響應(yīng)和輸出的結(jié)果及新的請(qǐng)求實(shí)現(xiàn)。

6.1.2Scrapy爬蟲的原理與流程2.Scrapy工作流程

當(dāng)Spider要爬取某URL地址的頁(yè)面時(shí),首先用該URL構(gòu)造一個(gè)Request對(duì)象,提交給Engine(圖6-4中的①),隨后Request對(duì)象進(jìn)入Scheduler,按照某種算法排隊(duì),之后的某個(gè)時(shí)候從隊(duì)列中出來(lái),由Engine提交給Downloader(圖6-4中的②、③、④)。Downloader根據(jù)Request對(duì)象中的URL地址發(fā)送一次HTTP請(qǐng)求到目標(biāo)網(wǎng)站服務(wù)器,并接受服務(wù)器返回的HTTP響應(yīng),構(gòu)建一個(gè)Response對(duì)象(圖6-4中的⑤),并由Engine將Response提交給Spider(圖6-4中的⑥),Spider提取Response中的數(shù)據(jù),構(gòu)造出Item對(duì)象或根據(jù)新的連接構(gòu)造出Request對(duì)象,分別由Engine提交給ItemPipeline或者Scheduler(圖6-4中的⑦、⑧)。這個(gè)過程反復(fù)進(jìn)行,直到爬完所有數(shù)據(jù)。同時(shí),數(shù)據(jù)對(duì)象在出入Spider和Downloader時(shí)可能會(huì)經(jīng)過Middleware進(jìn)行進(jìn)一步的處理。

6.2數(shù)據(jù)清洗

大數(shù)據(jù)時(shí)代,數(shù)據(jù)必須經(jīng)過清洗、分析、建模、可視化才能體現(xiàn)其價(jià)值,由于數(shù)據(jù)集是面向某一主題的數(shù)據(jù)的集合,這些數(shù)據(jù)從多個(gè)數(shù)據(jù)源提取出來(lái),這樣就避免不了有的數(shù)據(jù)是錯(cuò)誤數(shù)據(jù),有的數(shù)據(jù)相互之間有沖突,這些錯(cuò)誤或有沖突的數(shù)據(jù)一般是使用者不想要的,稱為“臟數(shù)據(jù)”,按照一定的原理和規(guī)則把“臟數(shù)據(jù)”“洗掉”,就是數(shù)據(jù)清洗。具體來(lái)說,數(shù)據(jù)清洗主要包括檢查數(shù)據(jù)一致性,處理無(wú)效值和缺失值等。其目的在于刪除重復(fù)信息、糾正存在的錯(cuò)誤,從而提高數(shù)據(jù)質(zhì)量。

6.2.1

數(shù)據(jù)清洗概述一致性檢查

一致性檢查是根據(jù)每個(gè)變量的合理取值范圍和相互關(guān)系,檢查數(shù)據(jù)是否合乎要求,發(fā)現(xiàn)超出正常范圍、邏輯上不合理或者相互矛盾的數(shù)據(jù)。例如,體重出現(xiàn)了負(fù)數(shù),性別中除了“Male”、“Female”還出現(xiàn)了數(shù)字“25”等,這些都應(yīng)被視為超出正常值域范圍。

一般計(jì)算機(jī)軟件都能夠自動(dòng)識(shí)別每個(gè)變量中超出范圍的取值,并列出調(diào)查對(duì)象代碼、變量代碼、變量名及超出范圍的取值,這樣做可以系統(tǒng)地檢查每個(gè)變量。

6.2.1

數(shù)據(jù)清洗概述2.無(wú)效值和缺失值的處理估算:用某個(gè)變量的樣本均值、中位數(shù)或眾數(shù)代替無(wú)效值和缺失值,另一種方法是根據(jù)調(diào)查對(duì)象對(duì)其他問題的答案,通過變量之間的相關(guān)分析或邏輯推論進(jìn)行估計(jì)。整例刪除:剔除含有缺失值的樣本,只適合關(guān)鍵變量缺失,或者含有無(wú)效值或缺失值的樣本比重很小的情況。變量刪除:如果某一變量的無(wú)效值和缺失值很多,而且該變量對(duì)于所研究的問題不是特別重要,則可以考慮將變量刪除,這種做法減少了供分析用的變量數(shù)目,但沒有改變樣本量。成對(duì)刪除:用特殊碼(通常是9、99、999等)表示無(wú)效值和缺失值,同時(shí)保留數(shù)據(jù)集中的全部變量和樣本。

6.2.2數(shù)據(jù)清洗概述1.預(yù)處理階段

預(yù)處理階段主要工作內(nèi)容有兩點(diǎn):一個(gè)是將數(shù)據(jù)導(dǎo)入處理工具,常見的有導(dǎo)入數(shù)據(jù)庫(kù),如果數(shù)據(jù)量大,可以采用文本文件存儲(chǔ)。另外一個(gè)就是分析原始數(shù)據(jù),這里包含兩個(gè)部分:一是看元數(shù)據(jù),包括字段解釋、數(shù)據(jù)來(lái)源、代碼表等一切描述數(shù)據(jù)的信息;二是抽取一部分?jǐn)?shù)據(jù),使用人工查看方式,對(duì)數(shù)據(jù)本身有一個(gè)直觀的了解,并且初步發(fā)現(xiàn)一些問題,為之后的處理做準(zhǔn)備。

6.2.2數(shù)據(jù)清洗概述2.缺失值清洗缺失值是最常見的數(shù)據(jù)問題,處理方式多按照以下三步進(jìn)行:確定缺失值范圍:對(duì)每個(gè)字段都計(jì)算其缺失值比例,然后按照缺失比例和字段重要性,分別制定策略;去除不需要的字段:將缺失比例較高的字段直接整例刪除,建議刪除前進(jìn)行數(shù)據(jù)備份,或者在小規(guī)模數(shù)據(jù)上試驗(yàn)通過后再處理全量數(shù)據(jù);填充缺失內(nèi)容:某些缺失值可進(jìn)行填充,方法有以下三種:以業(yè)務(wù)知識(shí)或經(jīng)驗(yàn)推敲填充缺失值以同一指標(biāo)的計(jì)算結(jié)果(均值、中位數(shù)、眾數(shù)等)填充缺失值以不同指標(biāo)的計(jì)算結(jié)果填充缺失值

6.2.2數(shù)據(jù)清洗概述3.格式內(nèi)容清洗

如果數(shù)據(jù)是由系統(tǒng)日志而來(lái),那么通常在格式和內(nèi)容方面,會(huì)與元數(shù)據(jù)的描述一致,而如果數(shù)據(jù)是由人工手記或用戶填寫而來(lái),則有很大可能性在格式和內(nèi)容上存在問題,簡(jiǎn)單來(lái)說,格式內(nèi)容問題有以下幾類:時(shí)間、日期、數(shù)值、全半角等顯示格式不一致:這種問題通常與輸入端有關(guān),在整合多源數(shù)據(jù)時(shí)也有可能遇到,將其處理成一致的某種格式即可;內(nèi)容中有不該存在的字符:某些內(nèi)容可能只包括一部分字符,例如:性別是“男”或“女”,身份證號(hào)是數(shù)字+字母,如果出現(xiàn)姓別中出現(xiàn)數(shù)字符號(hào)、身份證號(hào)中出現(xiàn)漢字等問題,這種情況需要以半自動(dòng)校驗(yàn)人工方式來(lái)找出可能存在的問題,并去除不需要的字符;內(nèi)容與該字段應(yīng)有內(nèi)容不符:姓名寫了性別,身份證號(hào)寫了手機(jī)號(hào)等等,均屬這種問題。

6.2.2數(shù)據(jù)清洗概述4.邏輯錯(cuò)誤清洗

這部分工作是去掉一些使用簡(jiǎn)單邏輯推理就可以直接發(fā)現(xiàn)問題的數(shù)據(jù),防止分析結(jié)果與事實(shí)偏差太大,主要包含以下幾個(gè)步驟:數(shù)據(jù)去重:所謂去重,就是刪除掉重復(fù)的記錄信息。將去重放在格式內(nèi)容清洗之后,這樣做的好處是可以通過對(duì)比快速確定正確信息;去除不合理值:針對(duì)不合理值,常用的方法就是按照缺失值處理,另外,通過箱型圖可快速發(fā)現(xiàn)不合理值;去除不可靠的字段值:如果在填寫數(shù)據(jù)時(shí)由于人為因素導(dǎo)致填寫錯(cuò)誤,那么可通過該步驟來(lái)清除;對(duì)來(lái)源不可靠的數(shù)據(jù)重點(diǎn)關(guān)注:如果數(shù)據(jù)來(lái)源不能確定,則該數(shù)據(jù)應(yīng)該及時(shí)清除或重新獲取。

6.2.2數(shù)據(jù)清洗概述5.多余數(shù)據(jù)清洗

在清洗不需要的數(shù)據(jù)時(shí),需要人們盡可能多地收集數(shù)據(jù),并應(yīng)用于模型構(gòu)建中。但是有可能在實(shí)際開發(fā)中字段屬性越多,模型地構(gòu)建就會(huì)越慢,因此有時(shí)需要將不必要的字段刪除,以達(dá)到最好的模型效果。

6.2.2數(shù)據(jù)清洗概述6.關(guān)聯(lián)性驗(yàn)證

如果數(shù)據(jù)有多個(gè)來(lái)源,那么有必要進(jìn)行關(guān)聯(lián)性驗(yàn)證,例如,某位顧客曾通過電話咨詢過商品信息,同時(shí)也可以在實(shí)體店試用記錄中查找到該用戶的基本信息,那么,兩條記錄可通過顧客姓名和手機(jī)號(hào)關(guān)聯(lián),然后進(jìn)行調(diào)整或去除數(shù)據(jù)。

6.3數(shù)據(jù)規(guī)約

對(duì)大規(guī)模數(shù)據(jù)庫(kù)內(nèi)容進(jìn)行復(fù)雜的數(shù)據(jù)分析通常要耗費(fèi)大量的時(shí)間,數(shù)據(jù)規(guī)約技術(shù)可幫助從原有的龐大數(shù)據(jù)集中獲得一個(gè)精簡(jiǎn)的數(shù)據(jù)集合,并使這一精簡(jiǎn)數(shù)據(jù)集保持原有數(shù)據(jù)集的完整性,這樣在精簡(jiǎn)數(shù)據(jù)集上進(jìn)行數(shù)據(jù)分析顯然效率更高,并且分析出來(lái)的結(jié)果與使用原有數(shù)據(jù)集所獲得結(jié)果基本相同。數(shù)據(jù)規(guī)約標(biāo)準(zhǔn)為:用于數(shù)據(jù)規(guī)約的時(shí)間不應(yīng)當(dāng)超過或“抵消”在規(guī)約后的數(shù)據(jù)上挖掘節(jié)省的時(shí)間規(guī)約得到的數(shù)據(jù)比原數(shù)據(jù)小得多,但可以產(chǎn)生相同或幾乎相同的分析結(jié)果。

6.3.1維規(guī)約逐步向前選擇:從一個(gè)空屬性集開始,該集合作為屬性子集的初始值,每次從原屬性集中選擇一個(gè)當(dāng)前最優(yōu)的屬性添加到屬性子集中,迭代地選出最優(yōu)屬性并添加,直至無(wú)法選出最優(yōu)為止。2.逐步向后刪除:從一個(gè)擁有所有屬性的屬性集開始,該集合是屬性子集的初始值,每

次從當(dāng)前子集中選擇一個(gè)當(dāng)前最差的屬性并將其從屬性子集中刪除,迭代地選出最差屬性并刪除,直至無(wú)法選出最差為止。3.向前選擇與向后刪除結(jié)合:可以將向前選擇和向后刪除的方法結(jié)合在一起,每一步選擇一個(gè)最好的屬性,并在剩余屬性中刪除一個(gè)最差的屬性。

6.3.2

維規(guī)約主成分分析

在很多情況下,變量之間存在一定的相關(guān)關(guān)系,這種相關(guān)關(guān)系,可以解釋為變量之間有重疊。主成分分析(PrincipalComponentAnalysis,PCA)是指使用較少的變量去解釋原始數(shù)據(jù)中的大部分變量,即將許多相關(guān)性很高的變量轉(zhuǎn)化成彼此相互獨(dú)立或不相關(guān)的變量。具體來(lái)說,PCA就是從原始的空間中順序地找一組相互正交的坐標(biāo)軸,其中,第一個(gè)坐標(biāo)軸選擇的是原始數(shù)據(jù)中方差最大的方向,第二個(gè)坐標(biāo)軸選取的是與第一個(gè)坐標(biāo)軸正交的平面中方差最大的,以此類推,直到得到n個(gè)這樣的坐標(biāo)軸2.合并屬性

合并屬性就是將一些舊屬性合并為新屬性,例如初始屬性集為{A1,A2,A3,A4,B1,B2,B3,C},然后將{A1,A2,A3,A4}合并為屬性A,將{B1,B2,B3}合并為B,因此規(guī)約后屬性集變?yōu)閧A,B,C}。

6.3.2離散化方法離散化方法可用于數(shù)據(jù)轉(zhuǎn)換。把連續(xù)型數(shù)據(jù)轉(zhuǎn)換為離散型數(shù)據(jù)一般包含兩個(gè)子任務(wù):判斷需要多少個(gè)離散型數(shù)據(jù);如何把連續(xù)型數(shù)據(jù)映射到離散型數(shù)據(jù)上。第一步,先對(duì)連續(xù)型數(shù)據(jù)進(jìn)行排序,然后指定n-1個(gè)點(diǎn)把數(shù)據(jù)分為n個(gè)區(qū)間;第二步,把落在同一區(qū)間內(nèi)的所有連續(xù)型數(shù)據(jù)都映射到相同的離散型數(shù)據(jù)上。因此,離散化問題就變?yōu)槿绾蝿澐謪^(qū)間的問題。

分箱方法也可用于離散化。所謂分箱,就是把數(shù)據(jù)按照特定的規(guī)則進(jìn)行分組,實(shí)現(xiàn)數(shù)據(jù)的離散化,增強(qiáng)數(shù)據(jù)穩(wěn)定性,減少過擬合風(fēng)險(xiǎn)。

6.4數(shù)據(jù)標(biāo)準(zhǔn)化

在進(jìn)行數(shù)據(jù)分析之前,通常要收集大量不同的相關(guān)指標(biāo),每個(gè)指標(biāo)的性質(zhì)、量綱、數(shù)量級(jí)、可用性等特征均可能存在差異,導(dǎo)致我們無(wú)法直接用其分析研究對(duì)象的特征和規(guī)律。當(dāng)各指標(biāo)間的水平相差很大時(shí),如果直接用指標(biāo)原始值進(jìn)行分析,數(shù)值較高的指標(biāo)在綜合分析中的作用就會(huì)被放大,相對(duì)地,會(huì)削弱數(shù)值水平較低的指標(biāo)的作用。

比如,在評(píng)價(jià)不同時(shí)期的物價(jià)指數(shù)時(shí),較低價(jià)格的蔬菜和較高價(jià)格的家電的價(jià)格漲幅都可以被納入其中,但是由于它們的價(jià)格水平差異較大,如果直接用其價(jià)格做分析,會(huì)使價(jià)格水平較高的家電在綜合指數(shù)中的作用被放大。因此,為了保證結(jié)果的可靠性,需要對(duì)原始指標(biāo)數(shù)據(jù)進(jìn)行變換處理,使不同的特征具有相同的尺度。

數(shù)據(jù)標(biāo)準(zhǔn)化是指將數(shù)據(jù)按比例縮放,使之落入一個(gè)小的特定區(qū)間。在某些比較和評(píng)價(jià)的指標(biāo)處理中經(jīng)常會(huì)用到,去除數(shù)據(jù)的單位限制,將其轉(zhuǎn)化為無(wú)量綱的純數(shù)值,便于不同單位或量級(jí)的指標(biāo)能夠進(jìn)行比較和加權(quán)。

6.4.1數(shù)據(jù)標(biāo)準(zhǔn)化的概念在多指標(biāo)評(píng)價(jià)體系中,由于各評(píng)價(jià)指標(biāo)的性質(zhì)不同,通常具有不同的量綱和數(shù)量級(jí)。當(dāng)各指標(biāo)間的水平相差很大時(shí),如果直接用原始指標(biāo)值進(jìn)行分析,就會(huì)突出數(shù)值較高的指標(biāo)在綜合分析中的作用,相對(duì)削弱數(shù)值水平較低指標(biāo)的作用。因此,為了保證結(jié)果的可靠性,需要對(duì)原始指標(biāo)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理。在不同的問題中,標(biāo)準(zhǔn)化的意義不同:在回歸預(yù)測(cè)中,標(biāo)準(zhǔn)化是為了讓特征值有均等的權(quán)重;在訓(xùn)練神經(jīng)網(wǎng)絡(luò)的過程中,通過將數(shù)據(jù)標(biāo)準(zhǔn)化,能夠加速權(quán)重參數(shù)的收斂;主成分分析中,需要對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理。默認(rèn)指標(biāo)間權(quán)重相等,不考慮指標(biāo)間差異和相互影響。

6.4.2數(shù)據(jù)標(biāo)準(zhǔn)化的方法目前數(shù)據(jù)標(biāo)準(zhǔn)化方法有很多,大概可以分為:直線型方法(如極值法、標(biāo)準(zhǔn)差法)、折線型方法(如三折線法)、曲線型方法(如半正態(tài)性分布)。不同的標(biāo)準(zhǔn)化方法,對(duì)系統(tǒng)的評(píng)價(jià)結(jié)果會(huì)產(chǎn)生不同的影響,而且在數(shù)據(jù)標(biāo)準(zhǔn)化方法的選擇上,還沒有通用的法則可以遵循。常見的方法有:min-max標(biāo)準(zhǔn)化(min-maxnormalization)、log函數(shù)轉(zhuǎn)換、atan函數(shù)轉(zhuǎn)換、z-score標(biāo)準(zhǔn)化(zero-menanormalization,此方法比較常用)、模糊量化法。經(jīng)過標(biāo)準(zhǔn)化處理,原始數(shù)據(jù)均轉(zhuǎn)換為無(wú)量綱化指標(biāo)測(cè)評(píng)值,即各指標(biāo)值都處于同一個(gè)數(shù)量級(jí)別上,可以進(jìn)行綜合測(cè)評(píng)分析。

6.4.2數(shù)據(jù)標(biāo)準(zhǔn)化的方法

6.4.2數(shù)據(jù)標(biāo)準(zhǔn)化的方法

6.4.2數(shù)據(jù)標(biāo)準(zhǔn)化的方法

6.4.2數(shù)據(jù)標(biāo)準(zhǔn)化的方法

6.4.2數(shù)據(jù)標(biāo)準(zhǔn)化的方法

6.5本章小結(jié)我們簡(jiǎn)單回顧一下本章內(nèi)容。

在6.1節(jié)中,我們首先簡(jiǎn)單介紹了爬蟲相關(guān)的基礎(chǔ)知識(shí),如HTTP基本原理、Xpath和正則表達(dá)式等,學(xué)習(xí)這些工具,可有效提高所爬取數(shù)據(jù)的效率和質(zhì)量,其后,我們主要介紹了Scrapy爬蟲框架的基本原理和工作流程,并提供了爬取鏈家網(wǎng)址北京二手房信息的實(shí)例。

在6.2—6.4節(jié)中,我們依次介紹了常用的數(shù)據(jù)清洗、數(shù)據(jù)規(guī)約以及數(shù)據(jù)標(biāo)準(zhǔn)化等相關(guān)知識(shí),在大數(shù)據(jù)分析時(shí),原始數(shù)據(jù)難免存在重復(fù)、缺失以及相互沖突等現(xiàn)象,通過數(shù)據(jù)清洗可有效提高數(shù)據(jù)可用性,其后根據(jù)數(shù)據(jù)分析的目標(biāo),選擇合適的數(shù)據(jù)規(guī)約和數(shù)據(jù)標(biāo)準(zhǔn)化方法,從而提高后續(xù)數(shù)據(jù)分析的準(zhǔn)確性和效率。

6.6

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論