R語言數(shù)據(jù)挖掘?qū)崙?zhàn)系列(4)——數(shù)據(jù)預(yù)處理
為庫車等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及庫車網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、庫車網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
數(shù)據(jù)預(yù)處理一方面是要提高數(shù)據(jù)的質(zhì)量,另一方面是要讓數(shù)據(jù)更好地適應(yīng)特定的挖掘技術(shù)或工具。數(shù)據(jù)預(yù)處理的主要內(nèi)容包括數(shù)據(jù)清洗、數(shù)據(jù)集成、數(shù)據(jù)變換和數(shù)據(jù)規(guī)約。
一、數(shù)據(jù)清洗
1.缺失值處理
一般來說,缺失值的處理包括兩個(gè)步驟,即缺失數(shù)據(jù)的識(shí)別和缺失值處理。在R語言中缺失值通常以NA表示,可以使用函數(shù)is.na()判斷缺失值是否存在,另外函數(shù)complete.cases()可識(shí)別樣本數(shù)據(jù)是否完整從而判斷缺失情況。在對是否存在缺失值進(jìn)行判斷之后需要進(jìn)行缺失值處理,常用的方法有刪除法、替換法、插補(bǔ)法等。
(1)刪除法
根據(jù)數(shù)據(jù)處理的不同角度可分為刪除觀測樣本、刪除變量兩種。刪除觀測樣本又稱為行刪除法,在R中可通過na.omit()函數(shù)移除所有含有缺失數(shù)據(jù)的行,這屬于以減少樣本量來換取信息完整性的方法,適用于缺失值所占比例較小的情況;刪除變量適用于變量有較大缺失且對研究目標(biāo)影響不大的情況,意味著要?jiǎng)h除整個(gè)變量,在R中可通過data[,-p]來實(shí)現(xiàn),其中data表示目標(biāo)數(shù)據(jù)集,p表示缺失變量所在的列。
(2)替換法
變量按屬性可分為數(shù)值型和非數(shù)值型,二者的處理辦法不同:如果缺失值所在變量為數(shù)值型,一般用該變量在其他所有對象的取值的均值來替換變量的缺失值;如果為非數(shù)值型變量,則使用該變量其他全部有效觀測值的中位數(shù)或者眾數(shù)進(jìn)行替換。
(3)插補(bǔ)法
在面對缺失值問題,常用的插補(bǔ)法有回歸插補(bǔ)、多重插補(bǔ)等?;貧w插補(bǔ)法利用回歸模型,將需要插值補(bǔ)缺的變量作為因變量,其他相關(guān)變量作為自變量,通過回歸函數(shù)lm()預(yù)測出因變量的值來對缺失變量進(jìn)行補(bǔ)缺;多重插補(bǔ)法的原理是從一個(gè)包含缺失值的數(shù)據(jù)集中生成一組完整的數(shù)據(jù),如此進(jìn)行多次,從而產(chǎn)生缺失值的一個(gè)隨機(jī)樣本,R中的mice函數(shù)包可以用來進(jìn)行多重插補(bǔ)。
2.異常值處理
在異常值處理之前需要對異常值進(jìn)行識(shí)別,一般多采用單變量散點(diǎn)圖或是箱型圖來達(dá)到目的。在R中,使用函數(shù)dotchart()、boxplot()實(shí)現(xiàn)繪制單變量散點(diǎn)圖與箱型圖。
表4-1 異常值處理常用方法
異常值處理方法 | 方法描述 |
刪除含有異常值的記錄 | 直接將含有異常值的記錄刪除 |
視為缺失值 | 將異常值視為缺失值,利用缺失值處理的方法進(jìn)行處理 |
平均值修正 | 可用前后兩個(gè)觀測值的平均值修正該異常值 |
不處理 | 直接在具有異常值的數(shù)據(jù)集上進(jìn)行挖掘建模 |
很多情況下,要先分析異常值出現(xiàn)的可能原因,再判斷異常值是否應(yīng)該舍棄,如果是正確的數(shù)據(jù),可以直接在具有異常值的數(shù)據(jù)集上進(jìn)行挖掘建模。
二、數(shù)據(jù)集成
數(shù)據(jù)集成就是將多個(gè)數(shù)據(jù)源合并存放在一個(gè)一致的數(shù)據(jù)存儲(chǔ)中的過程。
在R中,數(shù)據(jù)集成是指將存儲(chǔ)在兩個(gè)數(shù)據(jù)框中的數(shù)據(jù)以關(guān)鍵字為依據(jù),以行為單位做列向合并,可通過函數(shù)merge()實(shí)現(xiàn),基本形式為merge(數(shù)據(jù)框1,數(shù)據(jù)框2,by='關(guān)鍵字'),合并后的新數(shù)據(jù)自動(dòng)按關(guān)鍵字取值的大小升序排列。
實(shí)體識(shí)別
實(shí)體識(shí)別是從不同數(shù)據(jù)源識(shí)別出現(xiàn)實(shí)世界的實(shí)體,任務(wù)是統(tǒng)一不同數(shù)據(jù)源的矛盾之處,如同名異義、異名同義、單位不統(tǒng)一
冗余屬性識(shí)別
數(shù)據(jù)集成往往造成數(shù)據(jù)冗余,如同一屬性多次出現(xiàn)、同一屬性命名不一致,導(dǎo)致重復(fù)。
有些冗余屬性可以用相關(guān)分析檢測。給定兩個(gè)數(shù)值型的屬性A和B,根據(jù)其屬性值,用相關(guān)系數(shù)度量一個(gè)屬性在多大程度上蘊(yùn)含另一個(gè)屬性。
三、數(shù)據(jù)變換
數(shù)據(jù)變換主要是對數(shù)據(jù)進(jìn)行規(guī)范化處理,連續(xù)變量的離散化以及變量屬性的構(gòu)造,將數(shù)據(jù)轉(zhuǎn)換成“適當(dāng)?shù)摹毙问剑詽M足挖掘任務(wù)及算法的需要。
簡單函數(shù)變換
簡單函數(shù)變換就是對原始數(shù)據(jù)進(jìn)行某些數(shù)學(xué)函數(shù)變換,如平方、開方、取對數(shù)、差分運(yùn)算等。簡單的函數(shù)變換常用來將不具有正態(tài)分布的數(shù)據(jù)變換成具有正態(tài)分布的數(shù)據(jù)。
規(guī)范化
為了消除指標(biāo)之間的量綱和取值范圍差異的影響,需要進(jìn)行標(biāo)準(zhǔn)化處理,將數(shù)據(jù)按照比例進(jìn)行縮放,使之落入一個(gè)特定的區(qū)域,便于進(jìn)行綜合分析。
數(shù)據(jù)規(guī)范化對于基于距離的挖掘算法尤為重要。
(1)最小-最大規(guī)范化:也稱為離差標(biāo)準(zhǔn)化,是對原始數(shù)據(jù)的線性變換,將數(shù)值映射到[0,1]。這種方法的缺點(diǎn)是若數(shù)據(jù)集中且某個(gè)數(shù)值很大,則規(guī)范化后各值會(huì)接近于0,并且將會(huì)相差不大。若將來遇到超過目前屬性[min,max]取值范圍時(shí),會(huì)引起系統(tǒng)出錯(cuò),需要重新確定min和max。
(2)零-均值規(guī)范化:也叫標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化,經(jīng)過處理的數(shù)據(jù)的均值為0,標(biāo)準(zhǔn)差為1。這種方法是當(dāng)前用得最多的數(shù)據(jù)的標(biāo)準(zhǔn)化方法,但是均值和標(biāo)準(zhǔn)差受離群點(diǎn)的影響較大,因此通常需要進(jìn)行修改。首先用中位數(shù)M取代均值,其次用絕對標(biāo)準(zhǔn)差取代標(biāo)準(zhǔn)差。
(3)小數(shù)定標(biāo)規(guī)范化:通過移動(dòng)屬性值的小數(shù)位數(shù),將屬性值映射到[-1,1],移動(dòng)的小數(shù)位數(shù)取決于屬性值絕對值的最大值。
連續(xù)屬性離散化
(1)離散化的過程
連續(xù)屬性的離散化就是在數(shù)據(jù)的取值范圍內(nèi)設(shè)定若干個(gè)離散的劃分點(diǎn),將取值范圍劃分為一些離散化的區(qū)間,最后用不同的符號或整數(shù)值代表落在每個(gè)子區(qū)間中的數(shù)據(jù)值。所以,離散化涉及兩個(gè)子任務(wù):確定分類數(shù)以及如何將連續(xù)屬性值映射到這些分類值。
(2)常用的離散化方法
常用的離散化方法有等寬法、等頻法和(一維)聚類。
等寬法:將屬性的值域分成具有相同寬度的區(qū)間、區(qū)間的個(gè)數(shù)由數(shù)據(jù)本身的特點(diǎn)決定,或者由用戶指定,類似于制作頻率分布表。
等頻法:將相同數(shù)量的記錄放進(jìn)每個(gè)區(qū)間。缺點(diǎn)是對離群點(diǎn)比較敏感,傾向于不均勻地把屬性值分布到各個(gè)區(qū)間。
(一維)聚類:包括兩個(gè)步驟,首先將連續(xù)屬性的值用聚類算法進(jìn)行聚類,然后再將聚類得到的簇進(jìn)行處理,合并到一個(gè)簇的連續(xù)屬性值并做同一標(biāo)記。聚類分析的離散化方法也需要用戶指定簇的個(gè)數(shù),從而決定產(chǎn)生的區(qū)間數(shù)。
屬性構(gòu)造
為了便于提取更有用的信息,挖掘更深層次的模式,提高挖掘結(jié)果的精度,需要利用已有的屬性集構(gòu)造出新的屬性,并加入到現(xiàn)有的屬性集合中。
小波變換
小波變換是一種新型的數(shù)據(jù)分析工具,具有多分辨率的特點(diǎn),在時(shí)域和頻域都具有表征信號局部特征的能力,通過伸縮和平移等運(yùn)算過程對信號進(jìn)行多尺度聚焦分析,提供了一種非平穩(wěn)信號的時(shí)頻分析手段,可以由粗到細(xì)地逐步觀察信號,從中提取有用信息。
能夠刻畫某個(gè)問題的特征量往往是隱含在一個(gè)信號中的某個(gè)或者某些分量中,小波變換可以把非平穩(wěn)信號分解為表達(dá)不同層次、不同頻帶信息的數(shù)據(jù)序列,即小波系數(shù)。選取適當(dāng)?shù)男〔ㄏ禂?shù),即完成了信號的特征提取。
(1)基于小波變換的特征提取方法
基于小波變換的特征提取方法有:基于小波變換的多尺度空間能量分布特征提取、基于小波變換的多尺度空間的模極大值特征提取、基于小波包變換的特征提取、基于適應(yīng)性小波神經(jīng)網(wǎng)絡(luò)的特征提取。
表4-2 基于小波變換的特征提取方法
基于小波變換的特征提取方法 | 方法描述 |
基于小波變換的多尺度空間能量分布特征提取方法 | 各尺度空間內(nèi)的平滑信號和細(xì)節(jié)信號能提供原始信號的時(shí)頻局域信息,特別是能提供不同頻段上信號的構(gòu)成信息。把不同分解尺度上信號的能量求解出來,就可以將這些能量尺度順序排列,形成特征向量供識(shí)別用 |
基于小波變換的多尺度空間的模極大值特征提取方法 | 利用小波變換的信號局域化分析能力,求解小波變換的模極大值特征來檢測信號的局域奇異性,將小波變換模極大值的尺度參數(shù)s、平移參數(shù)t及其幅值作為目標(biāo)的特征量 |
基于小波包變換的特征提取方法 | 利用小波分解,可將時(shí)域隨機(jī)信號序列映射為尺度域各子空間內(nèi)的隨機(jī)系統(tǒng)序列,按小波包分解得到的最佳子空間內(nèi)隨機(jī)系數(shù)序列的不確定性程度最低,將最佳子空間的熵值及最佳子空間在完整二叉樹中的位置參數(shù)作為特征量,可以用于目標(biāo)識(shí)別 |
基于適應(yīng)性小波神經(jīng)網(wǎng)絡(luò)的特征提取方法 | 基于適應(yīng)性小波神經(jīng)網(wǎng)絡(luò)的特征提取方法可以把信號通過分析小波擬合表示,進(jìn)行特征提取 |
(2)小波基函數(shù)
小波基函數(shù)是一種具有局部支集的函數(shù),并且平均值為0,小波奇函數(shù)滿足Ψ(0)=∫ψ(t)dt=0。常用的小波基有Haar小波基、db系列小波基等。
(3)小波變換
(4)基于小波變換的多尺度空間能量分布特征提取方法
應(yīng)用小波分析技術(shù)可以把信號在個(gè)頻率波段中的特征提取出來,基于小波變換的多尺度空間能量分布特征提取方法是對信號進(jìn)行頻帶分析,再分別以計(jì)算所得的各個(gè)頻帶的能量作為特征向量。
四、數(shù)據(jù)規(guī)約
數(shù)據(jù)規(guī)約可以產(chǎn)生更小的但保持原數(shù)據(jù)完整性的新數(shù)據(jù)集。數(shù)據(jù)規(guī)約的意義在于:降低無效、錯(cuò)誤數(shù)據(jù)對建模的影響,提高建模的準(zhǔn)確性;少量且具有代表性的數(shù)據(jù)將大幅縮減數(shù)據(jù)挖掘所需的時(shí)間;降低儲(chǔ)存數(shù)據(jù)的成本。
屬性規(guī)約
屬性規(guī)約通過屬性合并來創(chuàng)建新屬性維數(shù),或者直接通過刪除不相關(guān)的屬性(維)來減少數(shù)據(jù)維數(shù),從而提高數(shù)據(jù)挖掘的效率、降低計(jì)算成本。屬性規(guī)約的目標(biāo)是尋找出最小的屬性子集并確保新數(shù)據(jù)子集的概率分布盡可能地接近原來數(shù)據(jù)集的概率分布。屬性規(guī)約的常用方法有:
合并屬性:將一些舊屬性合為新屬性;
逐步向前選擇:從一個(gè)空屬性集開始,每次從原來屬性集合中選擇一個(gè)當(dāng)前最優(yōu)的屬性添加到當(dāng)前屬性子集中。直到無法選擇出最優(yōu)屬性或滿足一定閾值約束為止;
逐步向后刪除:從一個(gè)全屬性集開始,每次從當(dāng)前屬性子集中選擇一個(gè)當(dāng)前最差的屬性并將其從當(dāng)前屬性子集中消去。直到無法選擇出最差屬性為止或滿足一定閾值約束為止;
決策樹歸納:利用決策樹的歸納方法對初始數(shù)據(jù)進(jìn)行分類歸納學(xué)習(xí),獲得一個(gè)初始決策樹,所有沒有出現(xiàn)在這個(gè)決策樹上的屬性均可認(rèn)為是無關(guān)屬性,因此將這些屬性從初始集合中刪除,就可以獲得一個(gè)較優(yōu)的屬性子集;
主成分分析:用較少的變量去解釋原始數(shù)據(jù)中的大部分變量,即將許多相關(guān)性很高的變量轉(zhuǎn)化成彼此相互獨(dú)立或不相關(guān)的變量。
數(shù)值規(guī)約
數(shù)值規(guī)約通過選擇替代的、較小的數(shù)據(jù)來減少數(shù)據(jù)量,包括有參數(shù)方法和無參數(shù)方法兩類。有參數(shù)方法是使用一個(gè)模型來評估數(shù)據(jù),只需存放參數(shù),而不需要存放實(shí)際數(shù)據(jù),如回歸(線性回歸和多元回歸)和對數(shù)線性模型(近似離散屬性集中的多維概率分布)。無參數(shù)方法需要存放實(shí)際數(shù)據(jù),如直方圖、聚類、抽樣。
(1)直方圖
屬性A的直方圖將A的數(shù)據(jù)分布劃分為不相交的子集或桶。如果每個(gè)桶只代表單個(gè)屬性值/頻率對,則該桶成為單桶。通常,桶表示給定屬性的一個(gè)連續(xù)區(qū)間。R中用函數(shù)hist()繪制直方圖,用以說明變量取值的分布情況。
(2)聚類
聚類技術(shù)將數(shù)據(jù)元祖(即記錄,數(shù)據(jù)表中的一行)視為對象。它將對象劃分為簇,使一個(gè)簇中的對象相互“相似”,而與其他簇中的對象“相異”。在數(shù)據(jù)規(guī)約中,用數(shù)據(jù)的簇替換實(shí)際數(shù)據(jù)。該技術(shù)的有效性依賴于簇的定義是否符合數(shù)據(jù)的分布性質(zhì)。R中常用的聚類函數(shù)有hclust()、kmeans(),前者在使用系統(tǒng)聚類法時(shí)使用,后者為快速聚類的函數(shù)。
(3)抽樣
抽樣也是一種數(shù)據(jù)規(guī)約技術(shù),它用比原始數(shù)據(jù)小得多的隨機(jī)樣本(子集)表示原始數(shù)據(jù)集。抽樣類型有:有放回簡單隨機(jī)抽樣、無放回簡單隨機(jī)抽樣、聚類抽樣、分層抽樣等。用于數(shù)據(jù)規(guī)約時(shí),抽樣最常用來估計(jì)聚集查詢的結(jié)果。在指定的誤差范圍內(nèi),可以確定(使用中心極限定理)估計(jì)一個(gè)給定的函數(shù)所需的樣本大小。通常樣本的大小s相對于N非常小。
(4)參數(shù)回歸
簡單線性模型和對數(shù)線性模型可以用來近似給定的數(shù)據(jù)。(簡單)線性模型對數(shù)據(jù)建模,使之?dāng)M合一條直線,在R中使用函數(shù)lm()即可實(shí)現(xiàn)。
對數(shù)線性模型:用來描述期望頻數(shù)與協(xié)變量(指與因變量有線性相關(guān)并且探討自變量與因變量關(guān)系時(shí)通過統(tǒng)計(jì)技術(shù)加以控制的變量)之間的關(guān)系。對數(shù)線性模型一般用來近似離散的多維概率分布。
五、R語言主要數(shù)據(jù)預(yù)處理函數(shù)
表4-3 R主要數(shù)據(jù)預(yù)處理函數(shù)
函數(shù)名 | 函數(shù)功能 | 所屬函數(shù)包 |
lm() | 利用因變量與自變量建立線性回歸模型 | 通用函數(shù)包 |
predict() | 依據(jù)已有模型對數(shù)據(jù)進(jìn)行預(yù)測 | 通用函數(shù)包 |
mice() | 對缺失數(shù)據(jù)進(jìn)行多重插補(bǔ) | mice函數(shù)包 |
which() | 返回服從條件的觀測所在位置 | 通用函數(shù)包 |
scale() | 對數(shù)據(jù)進(jìn)行零-均值規(guī)范化 | 通用函數(shù)包 |
rnorm() | 隨機(jī)產(chǎn)生服從正態(tài)分布的一列數(shù) | 通用函數(shù)包 |
ceiling() | 向上舍入接近的整數(shù) | 通用函數(shù)包 |
kmeans() | 對數(shù)據(jù)進(jìn)行快速聚類分析 | 通用函數(shù)包 |
dwt() | 對數(shù)據(jù)進(jìn)行小波分解 | waveslim函數(shù)包 |
princomp() | 對指標(biāo)變量矩陣進(jìn)行主成分分析 | 通用函數(shù)包 |
文章題目:R語言數(shù)據(jù)挖掘?qū)崙?zhàn)系列(4)
當(dāng)前鏈接:http://jinyejixie.com/article26/ieppjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、全網(wǎng)營銷推廣、網(wǎng)站建設(shè)、做網(wǎng)站、營銷型網(wǎng)站建設(shè)、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)