使用R,你已經站在巨人的肩膀上。
在巨量資料時代,資料採擷無疑是最炙手可熱的技術。已經滲透到網際網路、金融、電子商務、管理、生產、決策等各個領域,資料採擷的軟體也是層出不窮,其中R是最引人關注的軟體。
R 是一個免費的開放原始碼軟體,它提供首屈一指的統計計算和繪圖功能。R的特點是入門非常容易,使用也非常簡單,不管是初學者或熟練的使用者,都能從本書中找到對自己有用的內容,快速入門和加強。
透過本書,讀者不僅能掌握使用R及相關的演算法套件快速解決實際問題的方法,還可獲得從實際問題分析入手,到利用R進行求解,以及對採擷結果進行分析的全面訓練。
適用:電腦、機器學習、資訊、數學、金融、管理、運籌、統計以及相關科所學生;也能幫助市場行銷、金融、財務、人力資源管理人員及產品經理解決實際問題;或從事諮詢、研究、分析產業的人士及各級管理人提升專業水準。
作者序
前言
在巨量資料時代,資料採擷無疑將是最炙手可熱的技術。資料採擷的理論和方法正日新月異地發展,資料採擷的技術及工具,已經滲透到網際網路、金融、電子商務、管理、生產、決策等各個領域,資料採擷的軟體也是層出不窮,其中R 是最引人關注的軟體。
R 是一個免費的開放原始碼軟體,它提供了首屈一指的統計計算和繪圖功能,尤其是大量的資料採擷方面的演算法套件,使得它成為一款優秀的、不可多得的資料採擷工具軟體。
本書的主要目的是向讀者介紹如何用R 進行資料採擷,透過大量的精選實例,循序漸進、全面系統地說明R 在資料採擷領域的應用。
本書以資料前置處理、基本演算法及應用和進階演算法及應用這三篇展開。
資料前置處理篇
由第1~5 章組成,首先簡介資料採擷流程、演算法和工具,然後介紹R 中的資料分類和資料集,以及使用R 取得資料的多種靈活的方法。最後說明對資料進行探索性分析和前置處理的方法。這些內容是使用R 進行資料採擷的最基礎內容。
基本演算法及應用篇
由第6~9 章組成,主要說明資料採擷的基本演算法及應用,包含連結分析、分群分析、判別分析和決策樹,這些演算法也是資料採擷使用最多最普遍的演算法。R 中提供了豐富的、功能強大的演算法套件和實現函數,資料採擷的初級和中級使用者務必掌握。
進階演算法及應用篇
由第10~14 章組成,主要說明資料採擷的進階演算法及應用,包含整合學習、隨機森林、支援向量機和神經網路,以及使用R 中的工具對資料採擷的模型進行評估與選擇。對於中進階的使用者,可以深入學習一下本篇的內容。
R 的特點是入門非常容易,使用也非常簡單,因此本書不需要讀者具備R 和資料採擷的基礎知識。不管是R 初學者,還是熟練的R 使用者都能從書中找到對自己有用的內容,快速入門和加強。讀者既可以把本書作為學習如何應用R 的一本優秀的教材,也可以作為資料採擷的工具書。
全書以實際問題、解決方案和對解決方案的討論為主線來組織內容,脈絡清晰,並且各章自成系統。讀者可以從頭至尾逐章學習,也可以根據自己的需要進行學習,根據自己在實際中遇到的問題尋找解決方案。
本書所撰寫的來源程式,都通過了反覆偵錯,讀者可在www.topteam.cc 網站下載,方便讀者使用。
本書主要由黃文、王正林撰寫,其他參與撰寫的人員有付東旭、王思琪、鐘太平、劉擁軍、陳菜枚、李燦輝、鐘事沅、王曉麗、王龍躍、夏路生、鐘頌飛、鐘杜清、王殿祜等。在此對所有參與撰寫的人員表示感謝!對關心、支援我們的讀者表示感謝!
由於時間倉促,作者水平和經驗有限,書中錯漏之處在所難免,敬請讀者指正,我們的電子郵件是:wa_2003@126.com。
前言
在巨量資料時代,資料採擷無疑將是最炙手可熱的技術。資料採擷的理論和方法正日新月異地發展,資料採擷的技術及工具,已經滲透到網際網路、金融、電子商務、管理、生產、決策等各個領域,資料採擷的軟體也是層出不窮,其中R 是最引人關注的軟體。
R 是一個免費的開放原始碼軟體,它提供了首屈一指的統計計算和繪圖功能,尤其是大量的資料採擷方面的演算法套件,使得它成為一款優秀的、不可多得的資料採擷工具軟體。
本書的主要目的是向讀者介紹如何用R 進行資料採擷,透過大量的精選實例,循序漸進、全面系統地說明R 在資料採擷領...
目錄
前言
Part 1 資料前置處理篇
00 致敬,R!
致敬,肩膀!
致敬,時代!
致敬,人才!
致敬,R 瑟!
01 資料採擷導引
1.1 資料採擷概述
1.1.1 資料採擷的過程
1.1.2 資料採擷的物件
1.1.3 資料採擷的方法
1.1.4 資料採擷的應用
1.2 資料採擷的演算法
1.3 資料採擷的工具
1.3.1 工具的分類
1.3.2 工具的選擇
1.3.3 商用的工具
1.3.4 開放原始碼的工具
1.4 R 在資料採擷中的優勢
02 資料概覽
2.1 n × m 資料集
2.2 資料的分類
2.2.1 一般的資料分類
2.2.2 R 的資料分類
2.2.3 用R 簡單處理資料
2.3 資料抽樣及R 實現
2.3.1 簡單隨機抽樣
2.3.2 分層抽樣
2.3.3 整群抽樣
2.4 訓練集與測試集
2.5 本章整理
03 用R 取得資料
3.1 取得內建資料集
3.1.1 datasets 資料集
3.1.2 套件的資料集
3.2 取得其他格式的資料
3.2.1 CSV 與TXT 格式
3.2.2 從Excel 直接取得資料
3.2.3 從其他統計軟體中取得資料
3.3 取得資料庫資料
3.4 取得網頁數據
3.5 本章整理
04 探索性資料分析
4.1 資料集
4.2 數位化探索
4.2.1 變數概況
4.2.2 變數詳情
4.2.3 分佈指標
4.2.4 稀疏性
4.2.5 遺漏值
4.2.6 相關性
4.3 視覺化探索
4.3.1 長條圖
4.3.2 累積分佈圖
4.3.3 箱形圖
4.3.4 橫條圖
4.3.5 點陣圖
4.3.6 圓形圖
4.5 本章整理
05 資料前置處理
5.1 資料集載入
5.2 資料清理
5.2.1 遺漏值處理
5.2.2 雜訊資料處理
5.2.3 資料不一致的處理
5.3 資料整合
5.4 資料轉換
5.5 資料精簡
5.6 本章整理
Part 2 基本演算法及應用篇
06 連結分析
6.1 概述
6.2 R 中的實現
6.2.1 相關軟體套件
6.2.2 核心函數
6.2.3 資料集
6.3 應用案例
6.3.1 資料初探
6.3.2 對產生規則進行強度控制
6.3.3 一個實際應用
6.3.4 改變輸出結果形式
6.3.5 連結規則的視覺化
6.4 本章整理
07 分群分析
7.1 概述
7.1.1 K - 平均值分群
7.1.2 K - 中心點分群
7.1.3 系譜分群
7.1.4 密度分群
7.1.5 期望最大化分群
7.2 R 中的實現
7.2.1 相關軟體套件
7.2.2 核心函數
7.2.3 資料集
7.3 應用案例
7.3.1 K - 平均值分群
7.3.2 K - 中心點分群
7.3.3 系譜分群
7.3.4 密度分群
7.3.5 期望最大化分群
7.4 本章整理
08 判別分析
8.1 概述
8.1.1 費希爾判別
8.1.2 貝氏判別
8.1.3 距離判別
8.2 R 中的實現
8.2.1 相關軟體套件
8.2.2 核心函數
8.2.3 資料集
8.3 應用案例
8.3.1 線性判別分析
8.3.2 單純貝氏分類
8.3.3 K 最近鄰
8.3.4 有權數的K 最近鄰演算法
8.4 推薦系統綜合實例
8.4.1 kNN 與推薦
8.4.2 MovieLens 資料集說明
8.4.3 綜合運用
8.5 本章整理
09 決策樹
9.1 概述
9.1.1 樹狀結構
9.1.2 樹的建構
9.1.3 常用演算法
9.2 R 中的實現
9.2.1 相關軟體套件
9.2.2 核心函數
9.2.3 資料集
9.3 應用案例
9.3.1 CART 應用
9.3.2 C4.5 應用
9.4 本章整理
Part 3 進階演算法及應用篇
10 整合學習
10.1 概述
10.1.1 一個機率論小計算
10.1.2 Bagging 演算法
10.1.3 AdaBoost 演算法
10.2 R 中的實現
10.2.1 相關軟體套件
10.2.2 核心函數
10.2.3 資料集
10.3 應用案例
10.3.1 Bagging 演算法
10.3.2 Adaboost 演算法
10.4 本章整理
11 隨機森林
11.1 概述
11.1.1 基本原理
11.1.2 重要參數
11.2 R 中的實現
11.2.1 相關軟體套件
11.2.2 核心函數
11.2.3 視覺化分析
11.3 應用案例
11.3.1 資料處理
11.3.2 建立模型
11.3.3 結果分析
11.3.4 引數的重要程度
11.3.5 最佳化建模
11.4 本章整理
12 支援向量機
12.1 概述
12.1.1 結構風險最小原理
12.1.2 函數間隔與幾何間隔
12.1.3 核心函數
12.2 R 中的實現
12.2.1 相關軟體套件
12.2.2 核心函數
12.2.3 資料集
12.3 應用案例
12.3.1 資料初探
12.3.2 建立模型
12.3.3 結果分析
12.3.4 預測判別
12.3.5 綜合建模
12.3.6 視覺化分析
12.3.7 最佳化建模
12.4 本章整理
13 神經網路
13.1 概述
13.2 R 中的實現
13.2.1 相關軟體套件
13.2.2 核心函數
13.3 應用案例
13.3.1 資料初探
13.3.2 資料處理
13.3.3 建立模型
13.3.4 結果分析
13.3.5 預測判別
13.3.6 模型差異分析
13.3.7 最佳化建模
13.4 本章整理
14 模型評估與選擇
14.1 評估過程概述
14.2 安裝Rattle 套件
14.3 Rattle 功能簡介
14.3.1 Data — 選取資料
14.3.2 Explore — 資料深入
14.3.3 Test — 資料相關檢驗
14.3.4 Transform — 資料前置處理
14.3.5 Cluster — 資料分群
14.3.6 Model — 模型評估
14.3.7 Evaluate — 模型評估
14.3.8 Log — 模型評估記錄
14.4 模型評估相關概念
14.4.1 誤判率
14.4.2 正確/ 錯誤的一定判斷、正確/ 錯誤的否定判斷
14.4.3 精確度、敏感度及特異性
14.5 Rattle 在模型評估中的應用
14.5.1 混淆矩陣
14.5.2 風險圖
14.5.3 ROC 圖及相關圖表
14.5.4 模型得分資料集
14.6 綜合實例
14.6.1 資料介紹
14.6.2 模型建立
14.6.3 模型結果分析
前言
Part 1 資料前置處理篇
00 致敬,R!
致敬,肩膀!
致敬,時代!
致敬,人才!
致敬,R 瑟!
01 資料採擷導引
1.1 資料採擷概述
1.1.1 資料採擷的過程
1.1.2 資料採擷的物件
1.1.3 資料採擷的方法
1.1.4 資料採擷的應用
1.2 資料採擷的演算法
1.3 資料採擷的工具
1.3.1 工具的分類
1.3.2 工具的選擇
1.3.3 商用的工具
1.3.4 開放原始碼的工具
1.4 R 在資料採擷中的優勢
02 資料概覽
2.1 n × m 資料集
2.2 資料的分類
2.2.1 一般的資料分類
2.2.2 R 的資料分類
2.2.3 用R 簡單處...