天天看點

《資料挖掘:實用案例分析》——3.2 資料挖掘模組化過程

  廣州tipdm團隊在多年的資料挖掘項目實施過程中,積累了一套行之有效的資料挖掘方法論,資料挖掘模組化過程如圖3-2所示。

  針對具體的資料挖掘應用需求,首先要非常清楚:本次的挖掘目标是什麼?系統完成後能達到什麼樣的效果?是以我們必須分析應用領域,包括應用中的各種知識和應用目标。了解相關領域的有關情況,熟悉背景知識,弄清使用者需求。要想充分發揮資料挖掘的價值,必須要對目标有一個清晰明确的定義,即決定到底想幹什麼。否則,很難得到正确的結果。

《資料挖掘:實用案例分析》——3.2 資料挖掘模組化過程

  資料采集前首要考慮的問題包括:

《資料挖掘:實用案例分析》——3.2 資料挖掘模組化過程

  在明确了需要進行資料挖掘的目标後,接下來就需要從業務系統中抽取出一個與挖掘目标相關的樣本資料子集。抽取資料的标準,一是相關性,二是可靠性,三是最新性。而不是動用全部企業資料。通過資料樣本的精選,不僅能減少資料處理量,節省系統資源,而且能通過資料的篩選,使想要反映的規律性更加突顯出來。

  進行資料取樣一定要嚴把品質關。在任何時候都不要忽視資料的品質,即使是從一個資料倉庫中進行資料取樣,也不要忘記檢查其品質如何。因為資料挖掘是要探索企業運作的内在規律性,原始資料有誤,就很難從中探索規律性。若從有誤的資料中探索出來了“規律性”,再依此去指導工作,則很可能是在進行誤導。若從正在運作着的系統中進行資料取樣,則更要注意資料的完整性和有效性。

  衡量取樣資料品質的标準包括:

  1)資料完整無缺,各類名額項齊全。

  2)資料準确無誤,反映的都是正常(而不是反常)狀态下的水準。

  對擷取的資料,可再從中作抽樣操作。抽樣的方式是多種多樣的,包括:

《資料挖掘:實用案例分析》——3.2 資料挖掘模組化過程

  前面所叙述的資料取樣,多少是帶着人們對如何達到資料挖掘目的的先驗認識進行操作的。當我們拿到了一個樣本資料集後,它是否達到我們原來設想的要求;其中有沒有什麼明顯的規律和趨勢;有沒有出現從未設想過的資料狀态;因素之間有什麼相關性;它們可區分成怎樣一些類别。這都是要首先探索的内容。

  這裡的資料探索,就是我們通常所進行的深入調查的過程。你最終要達到的目的可能是要搞清多因素互相影響的、十分複雜的關系。但是,這種複雜的關系不可能一下子建立起來。一開始,可以先觀察衆多因素之間的相關性,再按其相關的程度,以了解它們之間互相作用的情況。這些探索、分析,并沒有一成不變的操作規律性,是以要有耐心地反複試探,仔細觀察。在此過程中,原來的專業技術知識是非常有用的,它會幫助你進行有效的觀察。但是,你也要注意,不要讓你的專業知識束縛了你對資料特征觀察的敏銳性。可能實際存在着先驗知識認為不存在的關系的情況,假如資料是真實可靠的話,那麼絕對不要輕易地否定資料呈現的新關系,很可能這裡就是發現的新知識。有了它,也許會在此後的分析中,引導你得出比原有的認識更加符合實際的規律性知識。假如在操作中出現了這種情況,應當說,資料挖掘已挖到了有效的礦脈。

  對所抽取的樣本資料進行探索、稽核和必要的加工處理,是保證預測品質所必需的。可以說,預測的品質不會超過抽取樣本的品質。資料探索和預處理的目的是為了保證樣本資料的品質,進而為保證預測品質打下基礎。

  資料探索主要包括:異常值分析、缺失值分析、相關分析、周期性分析、樣本交叉驗證等。

  當采樣資料次元過大,如何進行降維處理,采樣資料中的缺失值如何處理,這些都是資料預處理要解決的問題。

  由于采樣資料中常常包含許多含有噪聲、不完整、甚至是不一緻的資料。顯然對資料挖掘所涉及的資料對象必須進行預處理。那麼如何對資料進行預處理以改善資料品質,并最終達到完善最終的資料挖掘結果的目的呢?

  資料預處理主要包括以下内容。

  1.資料篩選

  通過資料篩選可從觀測值樣本中篩選掉不希望包括進來的觀測值。對于離散變量可給定某一類的類值說明此類觀測值是要排除于抽樣範圍之外的。對于連續變量可指定其值大于或小于某值時的這些組觀測值是要排除于抽樣範圍之外的。

  2.資料變量轉換

  将某一個資料進行某種轉換操作,然後将轉換後的值作為新的變量存放在樣本資料中。轉換的目的是為了使資料和将來要建立的模型拟合地更好。例如,原來的非線性模型線性化、加強變量的穩定性等。資料變量可進行取幂、對數、開方等轉換。當然,也可給定一個公式進行轉換。

  3.缺失值處理

  資料缺失在許多研究領域都是一個複雜的問題。對資料挖掘來說,空值的存在,造成的影響主要有:

《資料挖掘:實用案例分析》——3.2 資料挖掘模組化過程

  資料挖掘算法本身更緻力于避免資料過分适合所建的模型,這一特性使得它難以通過自身的算法去很好地處理不完整資料。是以,空缺的資料需要通過專門的方法進行推導、填充等,以減少資料挖掘算法與實際應用之間的差距。

  4.壞資料處理

  如果抽取資料中存在壞資料(髒資料),則需要對壞資料進行預處理。通常的做法是采用絕對均值法或萊因達法等對樣本中的壞點資料進行剔除處理。

  5.資料标準化

  資料标準化的目的就是要消除變量間的量綱關系,進而使資料具有可比性。比如一個百分制的變量與一個5分制的變量在一起怎麼比較?隻有通過資料标準化,都把它們标準到同一個标準時才具有可比性,一般标準化采用的是z标準化,即均值為0,方差為1,當然也有其他标準化,比如0-1标準化等,可根據研究目的進行選擇。

  6.主成分分析

  主成分分析(pca)是指用幾個較少的綜合名額來代替原來較多的名額,而這些較少的綜合名額既能盡可能多地反映原來較多名額的有用資訊,且互相之間又是無關的。

  pca運算就是一種确定一個坐标系統的直交變換,在這個新的坐标系統下,變換資料點的方差沿新的坐标軸得到了最大化。這些坐标軸經常被稱為是主成分。pca運算是一個利用了資料集的統計性質的特征空間變換,這種變換在無損或很少損失了資料集的資訊的情況下降低了資料集的維數。

  7.屬性選擇

  屬性選擇是資料預處理的一部分,因采集的資料中的每一個屬性對于整個資料的挖掘結果的作用不是完全對等的,一些屬性對結果的影響占主導地位,一些屬性對結果的影響不大,甚至沒有影響。采用相應的算法,對資料的屬性值進行評估,如去掉某個屬性後對挖掘結果無影響,進而減少後續挖掘算法的運作時間,同時也能有效地去除資料中含有的噪聲資料。

  如果模組化資料集的次元較高,或輸入屬性與輸出屬性的相關性不明确時,對其進行屬性選擇是必要的步驟。綜合考慮應用實作的複雜性,可使用标準屬性選擇方法,用一個評估标準對屬性的有用性進行度量,并選擇其最有用的一部分屬性作為下一部分算法的輸入。為了确定屬性選擇的标準,可選用多種方法進行屬性評價,選出5~10個不同的屬性,然後對于處理後的資料集進行測試,綜合評價次元約減前後的預測模型的性能及效果。

  屬性選擇用于對屬性進行篩選,搜尋資料集中全部屬性的所有可能組合,找出預測效果最好的那一組屬性,一般在預處理階段進行。為實作這一目标,必須設定屬性評估器和搜尋政策。屬性評估器是對屬性/屬性子集進行評估确定,決定了怎樣給一組屬性安排一個表示它們好壞的值。搜尋政策确定搜尋算法,決定了要怎樣進行搜尋。

  8.資料規約

  把繁雜的樣本資料資訊進行資料規約,簡化以後存儲在資料表中,避免資料的不一緻性。

  樣本抽取完成并經預處理後,接下來要考慮的問題是:本次模組化屬于資料挖掘應用中的哪類問題(分類、聚類、關聯規則或者時序模式),選用哪種算法進行模型建構?

  模型建構的前提是在樣本資料集中發現模式,比如關聯規則、分類預測、聚類分析、時序模式等。在目标進一步明确化的基礎上,我們就可以按照問題的具體要求來重新審視已經采集的資料,看它是否适應挖掘目标的需要。

  針對挖掘目标的需要可能要對資料進行增删,也可能按照對整個資料挖掘過程的新認識,要組合或者生成一些新的變量,以展現對狀态的有效的描述。

  在挖掘目标進一步明确、資料結構和内容進一步調整的基礎上,下一步資料挖掘應采用的技術手段就更加清晰、明确了。

  确定了本次模組化所屬的資料挖掘應用問題(分類、聚類、關聯規則或者時序模式)後,還需考慮:具體應該采用什麼算法,實施步驟是什麼?

  這一步是資料挖掘工作的核心環節。模型建構是對采樣資料軌迹的概括,它反映的是采樣資料内部結構的一般特征,并與該采樣資料的具體結構基本吻合。對于預測模型(包括分類與回歸模型、時序預測模型)來說,模型的具體化就是預測公式,公式可以産生與觀察值有相似結構的輸出,這就是預測值。預測模型是多種多樣的,可以适用于不同結構的樣本資料,是以,對一個具體采樣資料,就有選擇适當預測模型的問題。正确選擇預測模型在資料挖掘過程中是具有關鍵性的一步。有時由于模型選擇不當,造成預測誤差過大,就需要改換模型。必要時,可同時采用幾種預測模型進行運算以便對比、選擇。對建立模型來說,要記住最重要的就是它是一個反複的過程。需要仔細考察不同的模型以判斷哪個模型對問題最有用。

  預測模型的建構通常包括模型建立、模型訓練、模型驗證和模型預測4個步驟,但根據不同的資料挖掘分類應用會有細微的變化,本書在第二部分中對每個案例的模組化步驟都有較長的描述。

  模型評價的目的是什麼?如何評價模型的效果?通過什麼評價名額來衡量?

  從前面的模組化建構過程中會得出一系列的分析結果、模式或模型。同一個采樣資料可以利用多種資料分析方法和模型進行分析,模型評價的目的之一就是從這些模型中自動找出一個最好的模型出來,另外就是要針對業務對模型進行解釋和應用。

  模型效果評價通常分兩步,第一步是直接使用原來建立模型的樣本資料來進行檢驗。假如這一步都通不過,那麼所建立的決策支援資訊價值就不太大了。一般來說,在這一步應得到較好的評價。這說明你确實從這批資料樣本中挖掘出了符合實際的規律性。第一步通過後,第二步是另外找一批資料,已知這些資料是反映客觀實際的、規律性的。這次的檢驗效果可能會比前一種差,差多少是要注意的,若是差到所不能容忍程度,那就要考慮第一步建構的樣本資料是否具有充分的代表性,或是模型本身是否夠完善。這時候可能要對前面的工作進行反思了。若這一步也得到了肯定的結果時,那所建立的資料挖掘模型應得到很好的評價了。

  對預測模型和聚類模型的評價方法是不同的。

  1.預測模型評價

  預測模型對訓練集進行預測而得出的準确率并不能很好地反映分類模型未來的性能,為了能預測一個分類模型在新資料上的性能表現,需要一組沒有參與分類模型建立的資料集,并在該資料集上評估分類器的準确率,這組獨立的資料集叫測試集。這是一種基于驗證的評估方法,常用的方法有保持法、随機二次抽樣、自助法、交叉驗證等。

  模型預測效果,通常用相對絕對誤差、平均絕對誤差、根均方差、相對平方根誤差等名額來衡量。

  (1)絕對誤差與相對誤差

  設表示實際值,表示預測值,則稱e為絕對誤差(absolute error),計算公式如下:

《資料挖掘:實用案例分析》——3.2 資料挖掘模組化過程

  稱e為相對誤差(relative error),計算公式如下:

《資料挖掘:實用案例分析》——3.2 資料挖掘模組化過程

  有時相對誤差也用百分數表示:

《資料挖掘:實用案例分析》——3.2 資料挖掘模組化過程

  這是一種直覺的誤差表示方法。

  (2)平均絕對誤差

  平均絕對誤差(mean absolute error,mae)定義如下:

《資料挖掘:實用案例分析》——3.2 資料挖掘模組化過程

式中各項的含義如下:

《資料挖掘:實用案例分析》——3.2 資料挖掘模組化過程

  由于預測誤差有正有負,為了避免正負相抵消,故取誤差的絕對值進行綜合并取其平均數,這是誤差分析的綜合名額法之一。

  (3)均方誤差

  均方誤差(mean squared error,mse)定義如下:

《資料挖掘:實用案例分析》——3.2 資料挖掘模組化過程

式中,表示均方誤差,其他符号同前。

  本方法用于還原平方失真程度。

  均方誤差是預測誤差平方之和的平均數,它避免了正負誤差不能相加的問題。由于對誤差進行了平方,加強了數值大的誤差在名額中的作用,進而提高了這個名額的靈敏性是一大優點。均方誤差是誤差分析的綜合名額法之一。

  (4)均方根誤差

  均方根誤差(root mean squared error,rmse)定義如下:

《資料挖掘:實用案例分析》——3.2 資料挖掘模組化過程

式中,表示均方根誤差,其他符号同前。

  這是均方誤差的平方根,代表了預測值的離散程度,也叫标準誤差,最佳拟合情況為=0。均方根誤差也是誤差分析的綜合名額之一。

  均方根誤差代表兩種估算值的變異程度名額,均方根誤差最佳拟合情況為=0。

  (5)平均絕對百分誤差

  平均絕對百分誤差(mean absolute percentage error,mape)定義如下:

《資料挖掘:實用案例分析》——3.2 資料挖掘模組化過程

式中,表示平均絕對百分誤差。一般認為小于10時,預測精度較高。

  (6)kappa統計

  kappa統計是比較兩個或多個觀測者對同一事物,或觀測者對同一事物的兩次或多次觀測結果是否一緻,以由于機遇造成的一緻性和實際觀測的一緻性之間的差别大小作為評價基礎的統計名額。kappa統計量和權重kappa統計量不僅可以用于無序和有序分類變量資料的一緻性、重制性檢驗,而且能給出一個反映一緻性大小的“量”值。

  kappa取值在[?1,+1]之間,其值的大小均有不同意義。

《資料挖掘:實用案例分析》——3.2 資料挖掘模組化過程

  (7)識别準确度

  識别準确度(accuracy)定義如下:

《資料挖掘:實用案例分析》——3.2 資料挖掘模組化過程

  (8)識别精确率

  識别準确率(precision)定義如下:

《資料挖掘:實用案例分析》——3.2 資料挖掘模組化過程

  (9)回報率

  回報率(recall)定義如下:

《資料挖掘:實用案例分析》——3.2 資料挖掘模組化過程

式中各項說明如下:

《資料挖掘:實用案例分析》——3.2 資料挖掘模組化過程

  (10)roc曲線

  受試者工作特性(receiver operating characteristic,roc)曲線是一種非常有效的模型評價方法,可為標明臨界值給出定量提示。将靈敏度(sensitivity)設在縱軸,1-特異性(1-specificity)設在橫軸,就可得出roc曲線圖。該曲線下的積分面積(area)大小與每種方法優劣密切相關,反映分類器正确分類的統計機率,其值越接近1說明該算法效果越好。

  2.聚類模型評價

  聚類分群效果可以通過向量資料之間的相似度來衡量,向量資料之間的相似度定義為兩個向量之間的距離(實時向量資料與聚類中心向量資料),距離越近則相似度越大,即該實時向量資料歸為某個聚類。常用的相似度計算方法有:歐幾裡得距離法(euclidean distance)、皮爾遜相關系數法(pearson correlation coefficient)、cosine相似度和tanimoto系數法。

  歐幾裡得距離計算公式如下:

《資料挖掘:實用案例分析》——3.2 資料挖掘模組化過程
《資料挖掘:實用案例分析》——3.2 資料挖掘模組化過程

繼續閱讀