精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
學習筆記5:數據預處理與數據挖掘十大經典算法

前言

在介紹了數據挖掘的一般流程、常用方法、應用功能和數據可視化之后,在本篇博文中,筆者想要分享一些在數據挖掘開始之前要做的一些事——數據預處理。在第二部分中,筆者整理了數據挖掘中的十大經典算法,與讀者們共享。兩部分分別從《數據挖掘中數據預處理的方法與技術》一文與網絡中引用而來,作為自己和讀者朋友們的學習筆記。在第三部分階段小結中,筆者對近期的學習進行了階段性的總結。

一、數據預處理

現實中數據大多數都是不完整、不一致的,無法直接進行數據挖掘,或直接影響了挖掘結果。為了提高數據挖掘質量和數據挖掘效率,產生了數據預處理技術。對數據進行預處理,不但可以節約大量的空間和時間而且得到的挖掘結果能更好地起到決策和預測作用。數據預處理一般包括:數據清理,數據集成,數據變換,數據歸約等方法。這些數據預處理技術根據數據挖掘項目的需要和原始數據的特點,在數據挖掘之前有選擇的單獨使用或綜合使用,可大大提高數據挖掘模式的質量,降低實際挖掘所需要的時間。數據預處理技術整理如下:

1、數據清理

數據清理是數據預處理中最花費時間、最乏味的,但也是最重要的一步。該步驟可以有效地減少學習過程中可能出現相互矛盾的情況。數據清理主要處理缺失數據,噪聲數據,識別、刪除孤立點。數據清理的基本方法有:

1)缺失數據處理:目前最常用的方法是使用最可能的值填充缺失值,比如可以用回歸、貝葉斯形式化方法工具或判定樹歸納等確定缺失值。這類方法依靠現有的數據信息來推測缺失值,使缺失值有更大的機會保持與其他屬性之間的聯系。還有其他一些方法來處理缺失值,如用一個全局常量替換缺失值、使用屬性的平均值填充缺失值或將所有元組按某些屬性分類,然后用同一類中屬性的平均值填充缺失值。如果缺失值很多,這些方法可能誤導挖掘結果。如果缺失值很少,可以忽略缺失數據。

2)噪聲數據處理:噪聲是一個測量變量中的隨機錯誤或偏差,包括錯誤的值或偏離期望的孤立點值。目前最廣泛的是應用數據平滑技術處理,具體包括:

  1. 分箱技術,將存儲的值分布到一些箱中,用箱中的數據值來局部平滑存儲數據的值。具體可以采用按箱平均值平滑、按箱中值平滑和按箱邊界平滑;
  2. 回歸方法,可以找到恰當的回歸函數來平滑數據。線性回歸要找出適合兩個變量的“最佳”直線,使得一個變量能預測另一個。多線性回歸涉及多個變量,數據要適合一個多維面;
  3. 計算機檢查和人工檢查結合方法,可以通過計算機將被判定數據與已知的正常值比較,將差異程度大于某個閾值的模式輸出到一個表中,然后人工審核表中的模式,識別出孤立點;
  4. 聚類技術,將類似的值組織成群或“聚類”,落在聚類集合之外的值被視為孤立點。孤立點可能是垃圾數據,也可能為我們提供重要信息。對于確認的孤立點垃圾數據將從數據庫中予以清除。

2、數據集成

數據集成就是將多個數據源中的數據合并存放在一個同一的數據存儲(如數據倉庫、數據庫等)的一種技術和過程,數據源可以是多個數據庫、數據立方體或一般的數據文件。數據集成涉及3個問題:

  1. 模式集成。涉及實體識別,即如何將不同信息源中的實體匹配來進行模式集成。通常借助于數據庫或數據倉庫的元數據進行模式識別;
  2. 冗余數據集成。在數據集成中往往導致數據冗余,如同一屬性多次出現、同一屬性命名不一致等。對于屬性間冗余,可以先采用相關性分析檢測,然后刪除;
  3. 數據值沖突的檢測與處理。由于表示、比例、編碼等的不同,現實世界中的同一實體,在不同數據源的屬性值可能不同。這種數據語義上的歧義性是數據集成的最大難點,目前沒有很好的辦法解決。

3、數據變換

數據變換是采用線性或非線性的數學變換方法將多維數據壓縮成較少維數的數據,消除它們在時間、空間、屬性及精度等特征表現方面的差異。這方法雖然對原始數據都有一定的損害,但其結果往往具有更大的實用性。常見數據變換方法如下:

  1. 數據平滑:去除數據中的噪聲數據,將連續數據離散化,增加粒度。通常采用分箱、聚類和回歸技術。
  2. 數據聚集:對數據進行匯總和聚集。
  3. 數據概化:減少數據復雜度,用高層概念替換。
  4. 數據規范化:使屬性數據按比例縮放,使之落入一個小的特定區域;常用的規范化方法有最小---最大規范化、zscore 規范化、按小數定標規范化等。
  5. 屬性構造:構造出新的屬性并添加到屬性集中,以幫助挖掘過程。應用實例表明,通過數據變換可用相當少的變量來捕獲原始數據的最大變化。具體采用哪種變換方法應根據涉及的相關數據的屬性特點而定,根據研究目的可把定性問題定量化,也可把定量問題定性化。

4、數據歸約

數據歸約技術可以用來得到數據集的歸約表示,它接近于保持原數據的完整性,但數據量比原數據小得多。與非歸約數據相比,在歸約的數據上進行挖掘,所需的時間和內存資源更少,挖掘將更有效,并產生相同或幾乎相同的分析結果。幾種數據歸約的方法:

 1)維歸約:通過刪除不相關的屬性(或維)減少數據量。不僅壓縮了數據集,還減少了出現在發現模式上的屬性數目。通常采用屬性子集選擇方法找出最小屬性集,使得數據類的概率分布盡可能地接近使用所有屬性的原分布。屬性子集選擇的啟發式方法技術有:

  1. 逐步向前選擇,由空屬性集開始,將原屬性集中“最好的”屬性逐步填加到該集合中;
  2. 逐步向后刪除,由整個屬性集開始,每一步刪除當前屬性集中的“最壞”屬性;
  3. 向前選擇和向后刪除的結合,每一步選擇“最好的”屬性,刪除“最壞的”屬性;
  4. 判定樹歸納,使用信息增益度量建立分類判定樹,樹中的屬性形成歸約后的屬性子集。

2)數據壓縮:應用數據編碼或變換,得到原數據的歸約或壓縮表示。數據壓縮分為無損壓縮和有損壓縮。比較流行和有效的有損數據壓縮方法是小波變換和主要成分分析。小波變換對于稀疏或傾斜數據以及具有有序屬性的數據有很好的壓縮結果。主要成分分析計算花費低,可以用于有序或無序的屬性,并且可以處理稀疏或傾斜數據。

3)數值歸約:通過選擇替代的、較小的數據表示形式來減少數據量。數值歸約技術可以是有參的,也可以是無參的。有參方法是使用一個模型來評估數據,只需存放參數,而不需要存放實際數據。

有參的數值歸約技術有以下 2 種:

  •   回歸:線性回歸和多元回歸;
  •   對數線性模型:近似離散屬性集中的多維概率分布。

無參的數值歸約技術有 3 種:

  •   直方圖:采用分箱技術來近似數據分布,是一種流行的數值歸約形式。其中 V-最優和 Max Diff 直方圖是最精確和最實用的;
  •   聚類:聚類是將數據元組視為對象,它將對象劃分為群或聚類,使得在一個聚類中的對象“類似”,而與其他聚類中的對象“不類似”,在數據歸約時用數據的聚類代替實際數據;
  •   選樣:用數據的較小隨機樣本表示大的數據集,如簡單選樣、聚類選樣和分層選樣等

4)概念分層:通過收集并用較高層的概念替換較低層的概念來定義數值屬性的一個離散化。概念分層可以用來歸約數據,通過這種概化盡管細節丟失了,但概化后的數據更有意義、更容易理解,并且所需的空間比原數據少。對于數值屬性,由于數據的可能取值范圍的多樣性和數據值的更新頻繁,說明概念分層是困難的。數值屬性的概念分層可以根據數據的分布分析自動地構造,如用分箱、直方圖分析、聚類分析、基于熵的離散化和自然劃分分段等技術生成數值概念分層。分類數據本身是離散數據,一個分類屬性具有有限個不同值,值之間無序。一種方法是由用戶專家在模式級顯示地說明屬性的部分序或全序,從而獲得概念的分層;另一種方法是只說明屬性集,但不說明它們的偏序,由系統根據每個屬性不同值的個數產生屬性序,自動構造有意義的概念分層。

5、小結

在數據實際挖掘過程中,針對不同的數據源和數據挖掘目標,有選擇的使用數據清理、數據集成、數據變換和數據歸約等數據預處理方法和技術。它們的使用沒有先后順序的約束,某一種預處理可能需要循環多次進行,某一種預處理可能一次也不需要。盡管有多種數據預處理的方法和技術,但都不夠成熟。所以,對數據挖掘中的數據預處理還需要做更進一步的深入研究。

二、數據挖掘十大經典算法

國際權威的學術組織the IEEE International Conference on Data Mining (ICDM) 2006年12月評選出了數據挖掘領域的十大經典算法:C4.5, k-Means, SVM, Apriori, EM, PageRank, AdaBoost, kNN, Naive Bayes, and CART.

  1. C4.5算法:是ID3算法的擴展,它能夠產生用決策樹表示的分類器,而且它還可以通過更加容易理解的規則集形式來表示分類器。
  2. K-means算法:是一種簡單的迭代算法,它能夠將給定的數據集劃分為用戶定義的聚簇數目。
  3. SVM支持向量機:在機器學習應用中,支持向量機被考慮為很重要的一個嘗試——在所有著名的算法中,它提供了一種穩定準確的方法。它擁有強大的理論基礎,只需要少數示例進行訓練,并且對數據集維度數量不敏感。另外,訓練SVM的有效方法已經得到快速地發展。
  4. Apriori算法:最流行的數據挖掘方法之一就是從交易數據集中尋找頻繁項集,并且產生關聯規則。尋找頻繁項目集是非平凡的,因為它存在組合爆炸的問題。一旦獲得到頻繁項目集,就可以直接根據用戶定義的置信度產生關聯規則。Apriori算法是一種采用候選集方法尋找頻繁項目集。它是一種使用反單調性的完全層次搜索算法。如果一個項目集是非頻繁的,那么它的任何超集都是非頻繁的。
  5. EM算法:有限混合分布提供一種靈活的,基于數學的建模和聚類數據集方法。常見的混合模型可以用來聚類連續數據和預測潛在的密度函數。這些混合模型可以通過最大似然的期望最大化算法來進行擬合。
  6. PageRank算法:是一種使用互聯網上的超鏈接的搜索排序算法。PageRank基本的方法是,越是重要的文件鏈接一個文件,則這個文件就越重要,但那些入站鏈接并不是被平等計算的。首先,如果其他高等級的文件連接到它,那么根據PageRank的規則,此文件的等級也高。
  7. AdaBoost:集成學習是應用多個學習器來解決問題。一般來說,集成學習的能力較單個學習器的效果更優。因此,集成學習方法具有很強的吸引能力。AdaBoost方法是最重要的集成學習算法之一,它擁有牢固的理論基礎,預測非常準確,并且簡單和易于實現。
  8. KNN分類算法:是通過在數據集中尋找與測試對象最近的k個對象。并且,預先定義類別標簽。KNN有三個主要的核心元素:標記對象集合,對象之間的相似性度量或者距離度量,最近鄰居個數K。為了區分沒有標記的對象,計算對象與標記對象之間的距離。從而,識別k個最近鄰居。這些最近鄰居的類別標簽被用來決定對象的類別標簽。
  9. 樸素貝葉斯:發源于古典數學理論,有著堅實的數學基礎,以及穩定的分類效率。同時,NBC模型所需估計的參數很少,對缺失數據不太敏感,算法也比較簡單。理論上,NBC模型與其他分類方法相比具有最小的誤差率。但是實際上并非總是如此,這是因為NBC模型假設屬性之間相互獨立,這個假設在實際應用中往往是不成立的,這給NBC模型的正確分類帶來了一定影響。
  10. CART:包括分類樹和回歸樹兩部分:分類樹的結果變量是分類變量,回歸樹的結果變量是連續變量。CART是一種樹型結構,由樹結和連線組成,在末端的樹結又稱為終止結。CART可分析同質性較差的數據,采用替代變量的方法解決缺失數據問題,不要求數據的分布,可同時利用各種類型的數據。

三、階段小結

經歷了一個星期數據挖掘的學習,筆者從一名只知數據挖掘其名而不知其為何物的本科低年級學生,成為一名初識BI和數據挖掘初學者,在學習這門學科的過程中體會到了發現和探索的樂趣。

坦白地說,一開始每天將自己的學習筆記發布博客分享給大家時,我的內心十分忐忑,一來作為一名初學者,缺少整體的知識結構,難免會出現邏輯混亂,整理不完全,甚至無法甄別網絡上數據的真偽的情況;二來五篇博客中的大部分內容都是摘抄與筆記,原創的東西甚少,我害怕讓瀏覽博客的讀者重復閱讀,耽誤大家的時間。然而,在過程中,我逐漸地發現分享學習筆記型的博客亦有其獨特的長處:整理筆記發布博客的過程既讓我反復核實自己的筆記中是否有差錯的存在(用所學的知識就是數據預處理),又獲得了一個結交志同道合伙伴的途徑。當然,在五篇的學習筆記中仍然不免存在著個人能力暫時無法企及的差錯,我希望自己盡力完善,同時也懇請讀者們不吝指教與多多包涵。

說回到BI與數據挖掘本身,BI從被提出至今只有二十年的時間,數據挖掘的歷史也并不漫長,但在大數據時代的今天,數據挖掘已經成為發展的潮流與趨勢。馬云曾說過,“這是一個變化的年代,當很多人還沒有搞懂PC互聯網的時候,移動互聯網來了,當很多人還沒弄懂移動互聯網,大數據來了?!睂W習數據挖掘,無論是成為一個從業者,還是僅僅作為了解,都將讓我們在如今的一個時代中不至于太過落后。在學習數據挖掘的過程中,逐漸了解了一些關于數據挖掘的歷史、概念、流程、技術方法和應用實例,當然,對于數據挖掘的本質,此時尚不敢妄談,大約是數據不再因果關系而更多地是相關關系,有待以后繼續學習、驗證、體悟。

學習的過程中SmartBi軟件公司的軟件給予了我巨大的幫助,無論是電子表格版還是Smart Mining都在學習過程中讓我對數據挖掘有了更直觀的體驗。軟件的操作只簡便令我享受其中。在本文中雖然介紹了數據挖掘的十大算法,但在使用Smart Mining的過程中我未曾寫過一行代碼(當然這和我現在的水平較低也有一定關系),軟件將操作代碼的封裝和拖拽圖標即可實現操作使得它變得極為簡潔和易上手,尤其數據可視化的操作,圖表的繪制之方便無疑讓我在學習的過程中體會到了巨大的樂趣,獲得了學習的動力。

總結的最后感謝撰寫數據挖掘相關電子版文章、博客和百科詞條等的作者們,有了你們我才能如此方便的學習數據挖掘的知識整理出這些筆記,感謝SMARTBI公司的徐晶副總裁和軟件開發者們,有了你們我才有這次契機去接觸、學習數據挖掘,感謝閱讀過文章的讀者們,你們的關注與鼓勵是我不斷前行的動力。

前言在介紹了數據挖掘的一般流程、常用方法、應用功能和數據可視化之后,在本篇博文中,筆者想要分享一些在數據挖掘開始之前要做的一些事——數據預處理。在第二部分中,筆者整理了數據挖掘中的十大經典算法,與讀者們共享。兩部分分別從《數據挖掘中數據預處理的方法與技術》一文...
本站僅提供存儲服務,所有內容均由用戶發布,如發現有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Python數據挖掘與機器學習技術入門實戰
數據挖掘RapidMiner工具使用
數據預處理任務及方法
大數據時代網絡教育學習成績預測的研究與實現——以本科公共課程統考英語為例
數據分析新手必看:這些概念一定要記住!
一文看懂數據挖掘:哪一種方法最好?都需要哪些技術?
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服

主站蜘蛛池模板: 镇沅| 贵阳市| 武邑县| 巴林左旗| 林周县| 乌审旗| 黄山市| 乐业县| 大兴区| 灌南县| 全州县| 英超| 河间市| 海伦市| 乳山市| 云梦县| 武陟县| 沾化县| 邹城市| 襄樊市| 泸定县| 威远县| 全州县| 浦江县| 通化县| 黄骅市| 瑞丽市| 蓝山县| 石城县| 鄂托克前旗| 通山县| 宁波市| 健康| 衡南县| 如皋市| 东丽区| 威远县| 长海县| 宜君县| 恩平市| 阿拉善盟|