樣本數據處理

許桂秋,朱婷婷,李春平

商品描述

本書從實用的角度出發,採用理論與實踐相結合的方式,介紹樣本數據處理的基礎知識,力求培養讀者使用Python語言及Kettle軟件進行數據處理的能力。全書內容分別為數據預處理概述、Kettle工具的初步使用、數據的導入與導出、數據清洗、數據標註、Kettle作業設計、基於Kettle構建數據倉庫、基於Python的數據導入與導出、基於Python的數據整理。 本書作為人工智能學科相關的樣本數據處理技術的入門教材,目的不在於是覆蓋樣本數據處理技術的所有知識點,而是介紹樣本數據處理的主要應用,使讀者瞭解樣本數據處理的基本構成,以及如何應對不同數據類型的數據預處理工作。為了增強實踐效果,本書中引入了多個基礎技術案例及綜合實踐案例,以幫助讀者瞭解樣本數據處理涉及的基本技術的知識和技能。 本書可作為高等院校數據科學與大數據技術、電腦、信息管理等相關專業課程的教材,也可供對樣本數據處理技術感興趣的讀者閱讀。

目錄大綱

1章數據預處理概述1 
1.1 數據預處理的背景與目的1 
1.1.1 數據預處理的背景:數據質量1 
1.1.2 數據預處理的目的3 
1.2 數據預處理的流程3 
1.2.1 數據清洗3 
1.2.2 數據集成5 
1.2.3 數據變換6 
1.2.4 數據歸約9 
1.2.5 數據預處理的注意事項14 
1.3 數據預處理的工具14 
本章習題15 
2章Kettle工具的初步使用16 
2.1 Kettle的安裝16 
2.1.1 Java的安裝16 
2.1.2 Kettle的下載安裝與Spoon的啟動20 
2.2 Kettle的使用21 
2.2.1 轉換的基本概念21 
2.2.2 **個轉換案例23 
本章習題42 
3章數據的導入與導出43 
3.1 基於文件的數據導入與導出43 
3.1.1 文本文件的導入與導出43 
3.1.2 文本文件的導入與導出案例45 
3.1.3 Ecel文件的導入與導出51 
3.1.4 Ecel文件的導入與導出案例51 
3.1.5 XML文件的導入與導出59 
3.1.6 XML文件的導入與導出案例59 
3.1.7 JSON文件的導入與導出64 
3.1.8 JSON文件的導入與導出案例65 
3.2 基於數據庫的數據導入與導出69 
3.2.1 關係數據庫的數據導入與導出69 
3.2.2 MySQL數據庫的數據導入與導出案例71 
3.3 基於Web的數據導入與導出78 
3.3.1 HTML數據的導入與導出78 
3.3.2 HTML數據的導入與導出案例79 
3.3.3 基於HTTP GET請求的導入與導出83 
3.3.4 基於HTTP GET請求的導入與導出案例83 
3.4 基於CDC變更數據的導入與導出86 
3.4.1 基於源數據的CDC 86 
3.4.2 基於源數據的CDC案例87 
3.4.3 基於觸發器的CDC 98 
3.4.4 基於觸發器的CDC案例99 
3.4.5 基於快照的CDC 109 
3.4.6 基於快照的CDC案例109 
3.4.7 基於日誌的CDC 113 
3.4.8 基於日誌的CDC案例113 
本章習題116 
4章數據清洗117 
4.1 數據清洗概述117 
4.1.1 Kettle常用的數據清洗步驟117 
4.1.2 字符串清理119 
4.1.3 字段清理123 
4.1.4 使用參照表清理數據130 
4.1.5 數據校驗136 
4.2 數據排重141 
4.2.1 如何識別重複數據141 
4.2.2 去除完全重複數據142 
4.2.3 去除不完全重複數據144 
4.3 使用腳本組件進行數據清洗147 
4.3.1 使用JavaScript代碼組件清理數據147 
4.3.2 使用正則表達式組件清理數據149 
4.3.3 使用其他腳本組件清理數據152 
本章習題156 
5章數據標註157 
5.1 數據標註簡介157 
5.1.1 數據標註是什麼157 
5.1.2 數據標註分類簡介158 
5.1.3 數據標註流程簡介159 
5.2 數據標註分類160 
5.2.1 圖像標註161 
5.2.2 文本標註164 
5.2.3 語音標註166 
5.3 數據標註質量檢驗167 
5.3.1 數據標註質量的影響167 
5.3.2 數據標註的質量標準169 
5.3.3 數據標註質量檢驗方法172 
5.4 圖像數據標註實戰175 
5.4.1 車輛車牌標註175 
5.4.2 遙感影像標註180 
5.4.3 醫療影像標註184 
5.4.4 行人數據標註188 
5.4.5 基於行人標註數據集的行人檢測192 
5.5 文本標註實戰198 
本章習題207 
6章Kettle作業設計208 
6.1 作業的概念及組成209 
6.1.1 作業項209 
6.1.2 跳210 
6.1.3 註釋210 
6.2 作業的執行方式210 
6.2.1 回溯210 
6.2.2 多路徑和回溯211 
6.2.3 並行執行211 
6.3 作業的創建及常用作業項212 
6.3.1 創建作業213 
6.3.2 “START”作業項213 
6.3.3 “作業”作業項213 
6.3.4 “轉換”作業項215 
6.4 變量216 
6.4.1 定義變量216 
6.4.2 使用變量218 
6.5 監控218 
6.5.1 日誌219 
6.5.2 郵件通知220 
6.6 命令行啟動221 
6.7 作業實驗223 
本章習題252 
7章基於Kettle構建數據倉庫253 
7.1 數據倉庫的介紹253 
7.1.1 數據倉庫的起因253 
7.1.2 數據倉庫的發展254 
7.1.3 數據倉庫的定義255 
7.1.4 數據倉庫的特點255 
7.1.5 數據倉庫的結構255 
7.1.6 數據倉庫建模256 
7.1.7 數據倉庫與ETL的關係257 
7.2 構建維度表258 
7.2.1 管理各種鍵258 
7.2.2 維度表的加載262 
7.2.3 緩慢變化維度263 
7.3 構建事實表268 
7.3.1 批量加載268 
7.3.2 查找維度271 
7.3.3 事實表的處理271 
本章習題280 
8章基於Python的數據導入與導出281 
8.1 Pandas 281 
8.1.1 Series 282 
8.1.2 DataFrame 284 
8.2 文本文件的導入與導出286 
8.2.1 導入CSV文件286 
8.2.2 導出CSV文件290 
8.2.3 JSON格式數據的導入與導出291 
8.3 Ecel文件的導入與導出292 
8.4 數據庫的導入與導出292 
8.4.1 關係數據庫的導入與導出293 
8.4.2 非關係數據庫的導入與導出294 
本章習題297 
9章基於Python的數據整理298 
9.1 合併多個數據集298 
9.1.1 使用鍵進行DataFrame合併298 
9.1.2 使用inde進行DataFrame合併302 
9.1.3 沿著橫軸或縱軸串接303 
9.2 數據重塑305 
9.2.1 多級索引數據的重塑305 
9.2.2 應用pivot方法重塑數據307 
9.3 數據轉換310 
9.3.1 移除重複數據310 
9.3.2 利用函數或映進行數據轉換312 
9.3.3 值轉換312 
9.3.4 重命名軸索引313 
9.3.5 離散化和麵元劃分314 
9.3.6 檢測或過濾異常值317 
9.3.7 排列和隨機採樣318 
9.3.8 計算指標/啞變量319 
本章習題322