天天看點

《R語言資料挖掘》----導讀

《R語言資料挖掘》----導讀

preface 前  言

世界各地的統計學家和分析師正面臨着處理許多複雜統計分析項目的迫切問題。由于人們對資料分析領域的興趣日益增加,是以r語言提供了一個免費且開源的環境,非常适合學習和有效地利用現實世界中的預測模組化方案。随着r語言社群的不斷發展及其大量程式包的不斷增加,它具備了解決衆多實際問題的強大功能。

r程式設計語言誕生已經有數十年了,它已經變得非常知名,不但被社群的科學家而且被更廣泛的開發者社群所熟知。它已經成長為一個強大的工具,可以幫助開發者在執行資料相關任務時生成有效且一緻的源代碼。由于r語言開發團隊和獨立貢獻者已經建立了良好的文檔,是以使用r語言程式設計并不困難。

進而,你可以使用來自r語言官方網站的程式包。如果你想不斷提高自己的專業水準,那麼你可能需要閱讀在過去幾年中已經出版的書籍。你應該始終銘記:建立高水準、安全且國際相容的代碼比初始建立的第一個應用程式更加複雜。

本書的目的是幫助你處理在複雜的統計項目中遇到的一系列可能比較困難的問題。本書的主題包括:學習在運作r語言程式時,如何使用r代碼段處理資料,挖掘頻繁模式、關聯規則和相關規則。本書還為那些具有r語言基礎的讀者提供了成功建立和自定義最常用資料挖掘算法的技能和知識。這将有助于克服困難,并確定在運用r語言公開可用的豐富程式包開發資料挖掘算法時,r程式設計語言能夠得到最有效的使用。

本書的每一章是獨立存在的,是以你可以自由地跳轉到任何一章,學習你覺得自己需要對某個特定的話題進行更加深入了解的章節。如果你覺得自己遺漏了一些重要的知識,你可以回顧前面的章節。本書的組織方式有助于逐漸拓展你的知識架構。

你需要了解如何編寫不同的預測模型、流資料和時間序列資料的代碼,同時你還會接觸到基于mapreduce算法(一種程式設計模型)的解決方案。學完本書,你将會為自己所具備的能力(知道哪種資料挖掘算法應用于哪種情況)而感到自信。

我喜歡使用r程式設計語言進行多用途資料挖掘任務的開發與研究,我非常高興能與大家分享我的熱情和專業知識,幫助大家更有效地使用r語言,更舒适地使用資料挖掘算法的發展成果與應用。

本書主要内容

第1章闡述資料挖掘的概要知識,資料挖掘與機器學習、統計學的關系,介紹資料挖掘基本術語,如資料定義和預處理等。

第2章包含使用r語言程式設計時,學習挖掘頻繁模式、關聯規則和相關規則所需的進階且有趣的算法。

第3章幫助你學習使用r語言編寫經典分類算法,涵蓋了應用于不同類型資料集的多種分類算法。

第4章講述更多的分類算法,如貝葉斯信念網絡、支援向量機(svm)和k近鄰算法。

第5章講述如何使用流行與經典的算法進行聚類,如k均值、clara和譜算法。

第6章介紹與目前行業熱點話題相關的進階聚類算法的實作,如em、clique和dbscan等。

第7章介紹如何應用經典和流行算法來檢測現實世界案例中的異常值。

第8章運用最流行、最經典以及一流的算法來講解流資料、時間序列和序列資料挖掘這3個熱點話題。

第9章介紹圖挖掘和社交挖掘算法的概要及其他有趣的話題。

第10章介紹應用領域中最流行算法的有趣應用。

附錄包含算法和資料結構的清單以便幫助你學習資料挖掘。

學習本書的準備知識

讀者對象

本書适合對r語言和統計學具有基本知識的資料科學家、定量分析師和軟體工程師。本書假定讀者隻熟悉非常基本的r語言知識,如主要的資料類型、簡單的函數和如何來回移動資料。不需要先前熟悉資料挖掘軟體包。但是,你應該對資料挖掘的概念和過程有基本的認知。

即使你對于資料挖掘完全是一個新人,你也能夠同時掌握基本和進階的資料挖掘算法的實作。你将學習如何從各種資料挖掘算法中選擇合适的算法,将這些算法應用于現實世界可用的大多數資料集中的某些特定資料集中。

約定

本書中,你将發現多種文字印刷格式,它們用于對不同類型的資訊進行區分。下面是關于這些格式的一些例子以及它們的含義。

文本中的代碼、資料庫表名、檔案夾名、檔案名、檔案擴充名、路徑名、虛拟url、使用者輸入和twitter id如下所示:“我們可以通過使用include指令來包含其他的上下文。”

新的術語和重要詞用粗體标示。例如,在螢幕上、菜單中或者對話框中看到的詞将這樣出現在文本中:“單擊next按鈕進入下一個界面。”

警告或者重要的說明将會出現在這樣的圖示後面。

提示或技巧将會出現在這樣的圖示後面。

勘誤表

盜版行為

網際網路上版權材料的盜版行為是所有媒介一直存在的問題。在packt,我們非常重視對版權和許可證的保護。如果你在網絡上遇到任何形式非法複制我們著作的行為,請立刻向我們提供位置位址或者網站名稱以便我們能夠尋找補救方法。

我們的聯系方式是[email protected],請一并附上關于涉嫌盜版材料的連結。

我們非常感謝你對我們的作者以及我們為你帶來有價值内容的能力的保護。

問題

如果你對本書有任何方面的問題,可以聯系我們([email protected]),我們将竭盡所能幫助你解決。

acknowledgements?緻  謝

感謝我的妻子zurypa dawletkan和兒子bakhtiyar。他們支援我利用多個周末和夜晚使得本書得以出版。

我也要感謝luke presland,給予我機會來撰寫這本書。十分感謝rebecca pedley和govindan k,你們對本書的貢獻是巨大的。感謝jalasha d’costa和其他技術編輯及團隊為該書出版付出的努力,使得本書看起來還不錯。同時,感謝組稿編輯和技術審校者。

我也要謝謝我的兄弟bolat makhabel博士(linkedin: bolatmj),他給我提供了本書英文版封面的照片,他具有醫學背景。照片中的植物名為echinops(植物學的拉丁名字),哈薩克語稱為lahsa,在中國稱為藍刺頭。這種植物用于傳統的哈薩克醫藥,也是我兄弟研究的一部分。

盡管我的專業知識來源于不斷的實踐,但它也來源于我的母校(清華大學)和戴梅萼教授、趙雁南教授、王家欽教授、ju yuma教授以及其他衆多老師為我打下的堅實基礎。他們的精神鼓勵我在計算機科學和技術領域繼續努力。我要感謝我的嶽父母dawletkan kobegen和burux takay,感謝他們照顧我的兒子。

最後,我要對我的姐姐aynur makhabel和姐夫akimjan xaymardan表達我最大的敬意。

目  錄 contents

譯者序

作者簡介

審校者簡介

前言

緻謝

[第1章 預備知識

《R語言資料挖掘》----導讀

<a href="https://yq.aliyun.com/articles/89491/">1.2 資料源</a>

<a href="https://yq.aliyun.com/articles/89506/">1.3 資料挖掘</a>

1.3.1 特征提取

1.3.2 總結

1.3.3 資料挖掘過程

<a href="https://yq.aliyun.com/articles/89517/">1.4 社交網絡挖掘</a>

<a href="https://yq.aliyun.com/articles/89555/">1.5 文本挖掘</a>

1.5.1 資訊檢索和文本挖掘

1.5.2 文本挖掘預測

<a href="https://yq.aliyun.com/articles/89563/">1.6 網絡資料挖掘</a>

<a href="https://yq.aliyun.com/articles/89571/">1.7 為什麼選擇r</a>

<a href="https://yq.aliyun.com/articles/89576/">1.8 統計學</a>

1.8.1 統計學與資料挖掘

1.8.2 統計學與機器學習

1.8.3 統計學與r語言

1.8.4 資料挖掘中統計學的局限性

<a href="https://yq.aliyun.com/articles/89582/">1.9 機器學習</a>

1.9.1 機器學習方法

1.9.2 機器學習架構

<a href="https://yq.aliyun.com/articles/89611/">1.10 資料屬性與描述</a>

1.10.1 數值屬性

1.10.2 分類屬性

1.10.3 資料描述

1.10.4 資料測量

<a href="https://yq.aliyun.com/articles/89624/">1.11 資料清洗</a>

1.11.1 缺失值

1.11.2 垃圾資料、噪聲資料或異常值

<a href="https://yq.aliyun.com/articles/89632/">1.12 資料內建</a>

<a href="https://yq.aliyun.com/articles/89643/">1.13 資料降維</a>

1.13.1 特征值和特征向量

1.13.2 主成分分析

1.13.3 奇異值分解

1.13.4 cur分解

<a href="https://yq.aliyun.com/articles/89659/">1.14 資料變換與離散化</a>

1.14.1 資料變換

1.14.2 标準化資料的變換方法

1.14.3 資料離散化

<a href="https://yq.aliyun.com/articles/89665/">1.15 結果可視化</a>

<a href="https://yq.aliyun.com/articles/89670/">1.16 練習</a>

<a href="https://yq.aliyun.com/articles/89673/">1.17 總結</a>

[第2章 頻繁模式、關聯規則和相關規則挖掘

2.1.1 模式和模式發現

2.1.2 關系或規則發現

<a href="https://yq.aliyun.com/articles/89742/">2.2 購物籃分析</a>

2.2.1 購物籃模型

2.2.2 apriori算法

2.2.3 eclat算法

2.2.4 fp-growth算法

2.2.5 基于最大頻繁項集的genmax算法

2.2.6 基于頻繁閉項集的charm算法

2.2.7 關聯規則生成算法

<a href="https://yq.aliyun.com/articles/89747/">2.3 混合關聯規則挖掘</a>

2.3.1 多層次和多元度關聯規則挖掘

2.3.2 基于限制的頻繁模式挖掘

<a href="https://yq.aliyun.com/articles/89749/">2.4 序列資料集挖掘</a>

2.4.1 序列資料集

2.4.2 gsp算法

<a href="https://yq.aliyun.com/articles/89750/">2.5 r語言實作</a>

2.5.1 spade算法

2.5.2 從序列模式中生成規則

<a href="https://yq.aliyun.com/articles/89752/">2.6 高性能算法</a>

<a href="https://yq.aliyun.com/articles/89754/">2.7 練習</a>

<a href="https://yq.aliyun.com/articles/89757/">2.8 總結</a>

第3章 分類

3.1 分類

3.2 通用決策樹歸納法

3.2.1 屬性選擇度量

3.2.2 決策樹剪枝

3.2.3 決策樹生成的一般算法

3.2.4 r語言實作

3.3 使用id3算法對高額度信用卡使用者分類

3.3.1 id3算法

3.3.2 r語言實作

3.3.3 網絡攻擊檢測

3.3.4 高額度信用卡使用者分類

3.4 使用c4.5算法進行網絡垃圾頁面檢測

3.4.1 c4.5算法

3.4.2 r語言實作

3.4.3 基于mapreduce的并行版本

3.4.4 網絡垃圾頁面檢測

3.5 使用cart算法判斷網絡關鍵資源頁面

3.5.1 cart算法

3.5.2 r語言實作

3.5.3 網絡關鍵資源頁面判斷

3.6 木馬程式流量識别方法和貝葉斯分類

3.6.1 估計

3.6.2 貝葉斯分類

3.6.3 r語言實作

3.6.4 木馬流量識别方法

3.7 垃圾郵件識别和樸素貝葉斯分類

3.7.1 樸素貝葉斯分類

3.7.2 r語言實作

3.7.3 垃圾郵件識别

3.8 基于規則的計算機遊戲玩家類型分類和基于規則的分類

3.8.1 從決策樹變換為決策規則

3.8.2 基于規則的分類

3.8.3 序列覆寫算法

3.8.4 ripper算法

3.8.5 計算機遊戲玩家類型的基于規則的分類

3.9 練習

3.10 總結

第4章 進階分類算法

4.1 內建方法

4.1.1 bagging算法

4.1.2 boosting和adaboost算法

4.1.3 随機森林算法

4.1.4 r語言實作

4.1.5 基于mapreduce的并行版本

4.2 生物學特征和貝葉斯信念網絡

4.2.1 貝葉斯信念網絡算法

4.2.2 r語言實作

4.2.3 生物學特征

4.3 蛋白質分類和k近鄰算法

4.3.1 knn算法

4.3.2 r語言實作

4.4 文檔檢索和支援向量機

4.4.1 支援向量機算法

4.4.2 r語言實作

4.4.3 基于mapreduce的并行版本

4.4.4 文檔檢索

4.5 基于頻繁模式的分類

4.5.1 關聯分類

4.5.2 基于判别頻繁模式的分類

4.5.3 r語言實作

4.5.4 基于序列頻繁項集的文本分類

4.6 基于反向傳播算法的分類

4.6.1 bp算法

4.6.2 r語言實作

4.6.3 基于mapreduce的并行版本

4.7 練習

4.8 總結

第5章 聚類分析

5.1 搜尋引擎和k均值算法

5.1.3 k模式聚類算法

5.1.4 r語言實作

5.1.5 基于mapreduce的并行版本

5.1.6 搜尋引擎和網頁聚類

5.2 自動提取文檔文本和k中心點算法

5.2.1 pam算法

5.2.2 r語言實作

5.2.3 自動提取和總結文檔文本

5.3 clara算法及實作

5.3.1 clara算法

5.3.2 r語言實作

5.4 clarans算法及實作

5.4.1 clarans算法

5.4.2 r語言實作

5.5 無監督的圖像分類和仿射傳播聚類

5.5.1 仿射傳播聚類

5.5.2 r語言實作

5.5.3 無監督圖像分類

5.5.4 譜聚類算法

5.5.5 r語言實作

5.6 新聞分類和層次聚類

5.6.1 凝聚層次聚類

5.6.2 birch算法

5.6.3 變色龍算法

5.6.4 貝葉斯層次聚類算法

5.6.5 機率層次聚類算法

5.6.6 r語言實作

5.6.7 新聞分類

5.7 練習

5.8 總結

第6章 進階聚類分析

6.1 電子商務客戶分類分析和dbscan算法

6.1.1 dbscan算法

6.1.2 電子商務客戶分類分析

6.2 網頁聚類和optics算法

6.2.1 optics算法

6.2.2 r語言實作

6.2.3 網頁聚類

6.3 浏覽器緩存中的訪客分析和denclue算法

6.3.1 denclue算法

6.3.2 r語言實作

6.3.3 浏覽器緩存中的訪客分析

6.4 推薦系統和sting算法

6.4.1 sting算法

6.4.2 r語言實作

6.4.3 推薦系統

6.5 網絡情感分析和clique算法

6.5.1 clique算法

6.5.2 r語言實作

6.5.3 網絡情感分析

6.6 觀點挖掘和wave聚類算法

6.6.1 wave聚類算法

6.6.2 r語言實作

6.6.3 觀點挖掘

6.7 使用者搜尋意圖和em算法

6.7.1 em算法

6.7.2 r語言實作

6.7.3 使用者搜尋意圖

6.8 客戶購買資料分析和高維資料聚類

6.8.1 mafia算法

6.8.2 surfing算法

6.8.3 r語言實作

6.8.4 客戶購買資料分析

6.9 sns和圖與網絡資料聚類

6.9.1 scan算法

6.9.2 r語言實作

6.9.3 社交網絡服務

6.10 練習

6.11 總結

第7章 異常值檢測

7.1 信用卡欺詐檢測和統計方法

7.1.1 基于似然的異常值檢測算法

7.1.2 r語言實作

7.1.3 信用卡欺詐檢測

7.2 活動監控——涉及手機的欺詐檢測和基于鄰近度的方法

7.2.1 nl算法

7.2.2 findalloutsm算法

7.2.3 findalloutsd算法

7.2.4 基于距離的算法

7.2.5 dolphin算法

7.2.6 r語言實作

7.2.7 活動監控與手機欺詐檢測

7.3 入侵檢測和基于密度的方法

7.3.1 optics-of算法

7.3.2 高對比度子空間算法

7.3.3 r語言實作

7.3.4 入侵檢測

7.4 入侵檢測和基于聚類的方法

7.4.1 層次聚類檢測異常值

7.4.2 基于k均值的算法

7.4.3 odin算法

7.4.4 r語言實作

7.5 監控網絡伺服器的性能和基于分類的方法

7.5.1 ocsvm算法

7.5.2 一類最近鄰算法

7.5.3 r語言實作

7.5.4 監控網絡伺服器的性能

7.6 文本的新奇性檢測、話題檢測與上下文異常值挖掘

7.6.1 條件異常值檢測算法

7.6.2 r語言實作

7.6.3 文本的新奇性檢測與話題檢測

7.7 空間資料中的集體異常值

7.7.1 路徑異常值檢測算法

7.7.2 r語言實作

7.7.3 集體異常值的特征

7.8 高維資料中的異常值檢測

7.8.1 brute-force算法

7.8.2 hilout算法

7.8.3 r語言實作

7.9 練習

7.10 總結

第8章 流資料、時間序列資料和序列資料挖掘

8.1 信用卡交易資料流和stream算法

8.1.1 stream算法

8.1.2 單通道法聚類算法

8.1.3 r語言實作

8.1.4 信用卡交易資料流

8.2 預測未來價格和時間序列分析

8.2.1 arima算法

8.2.2 預測未來價格

8.3 股票市場資料和時間序列聚類與分類

8.3.1 herror算法

8.3.2 基于1nn分類器的時間序列分類

8.3.3 r語言實作

8.3.4 股票市場資料

8.4 網絡點選流和挖掘符号序列

8.4.1 tecno-streams算法

8.4.2 r語言實作

8.4.3 網絡點選流

8.5 挖掘事務資料庫中的序列模式

8.5.1 prefixspan算法

8.5.2 r語言實作

8.6 練習

8.7 總結

第9章 圖挖掘與網絡分析

9.1 圖挖掘

9.1.1 圖

9.1.2 圖挖掘算法

9.2 頻繁子圖模式挖掘

9.2.1 gpls算法

9.2.2 graphsig算法

9.2.3 gspan算法

9.2.4 最右路徑擴充和它們的支援

9.2.5 子圖同構枚舉算法

9.2.6 典型的檢測算法

9.2.7 r語言實作

9.3 社交網絡挖掘

9.3.1 社群檢測和shingling算法

9.3.2 節點分類和疊代分類算法

9.3.3 r語言實作

9.4 練習

9.5 總結

第10章 文本與網絡資料挖掘

10.1 文本挖掘與tm包

10.2 文本總結

10.2.1 主題表示

10.2.2 多文檔總結算法

10.2.3 最大邊緣相關算法

10.2.4 r語言實作

10.3 問答系統

10.4 網頁分類

10.5 對報刊文章和新聞主題分類

10.5.1 基于n-gram的文本分類算法

10.5.2 r語言實作

10.6 使用網絡日志的網絡使用挖掘

10.6.1 基于形式概念分析的關聯規則挖掘算法

10.6.2 r語言實作

10.7 練習

10.8 總結

附錄 算法和資料結構

繼續閱讀