本書是一本針對所有層次的智能技術讀者而作的基于Python實現(xiàn)智能技術的入門書。全書分四大部分:第一部分介紹用Python獲取數(shù)據(jù)所必須了解的基本概念,其中包括Python語法,HTTP標記和基本文件存儲,以及從網(wǎng)頁中爬取數(shù)據(jù)的方法和爬蟲框架等內容。第二部分討論了JSON數(shù)據(jù)格式和基于結構化和非結構化數(shù)據(jù)庫的存儲,包括MYSQL數(shù)據(jù)庫,MONGO數(shù)據(jù)庫和REDIS數(shù)據(jù)庫的基本使用。第三部分介紹處理
本教材的基本內容是將人工智能領域中的機器學習、數(shù)據(jù)挖掘等智能技術應用于人文和社科領域。本教材共分為9章。
第一章討論了大數(shù)據(jù)技術的一些基本概念,同時還對計算機語言Python進行了簡要介紹,它們是學習智能技術的基礎。第二章討論了基于Python的計算機爬蟲與網(wǎng)頁交互的基本原理和爬蟲技術的應用。第三章介紹了爬蟲框架,為了節(jié)約開發(fā)成本和避免重復工作,利用爬蟲框架可以設計滿足應用要求的數(shù)據(jù)爬蟲。第四章介紹了數(shù)據(jù)存儲的相關概念和各種具體的存儲方法,主要包括文件格式的數(shù)據(jù)存儲,如純文本格式、CSV格式、Excel格式和基于數(shù)據(jù)庫的存儲,包括MySQL數(shù)據(jù)庫、Mongo數(shù)據(jù)庫和Redis數(shù)據(jù)庫。第五章討論了數(shù)據(jù)挖掘的基本概念。近些年來隨著大數(shù)據(jù)技術的快速發(fā)展,數(shù)據(jù)模型方法也在不斷發(fā)展,內容非常豐富。傳統(tǒng)的數(shù)據(jù)統(tǒng)計和分析方法正在向數(shù)據(jù)挖掘模型領域過渡。大數(shù)據(jù)模型的分析結果為決策者提供了更加豐富的決策依據(jù)。這章介紹了貝葉斯決策模型的基本原理,并將這個模型應用到一個信用卡申請數(shù)據(jù)集上。第六、七章分別介紹了Python的數(shù)據(jù)處理工具——Numpy庫和Pandas庫。雖然它們都是Python的第三方庫,但它們在數(shù)據(jù)分析和數(shù)據(jù)挖掘領域中具有非常重要的地位。數(shù)據(jù)挖掘算法中大部分的數(shù)據(jù)處理是調用Numpy庫來完成基礎數(shù)據(jù)計算的。這是由于Numpy比Python語言中的列表更具有優(yōu)勢,其中一個優(yōu)勢就是運算速度。一般來說對大型數(shù)組進行運算時,Numpy庫的運算速度比Python列表的運算速度快了好幾百倍。另一方面,Pandas又是基于Numpy開發(fā)出來的第三方庫,其特點為數(shù)據(jù)面板和數(shù)據(jù)分析二者的集成。它提供靈活的數(shù)據(jù)結構,并提供一些標準的數(shù)據(jù)模型,能夠高效地操作大型數(shù)據(jù)集。Pandas提供了大量能使我們快速高效地處理數(shù)據(jù)的函數(shù)和方法。第八章討論了如何對數(shù)據(jù)進行清洗以方便數(shù)據(jù)挖掘模型的使用。數(shù)據(jù)需要清洗的原因是在原始數(shù)據(jù)集中存在數(shù)據(jù)重復現(xiàn)象、數(shù)據(jù)缺失情況,或數(shù)據(jù)存在不一致性。所以數(shù)據(jù)清洗的目的就是為了刪除重復數(shù)據(jù),補齊缺失的數(shù)據(jù),消除數(shù)據(jù)的不一致性。這樣才能保證數(shù)據(jù)質量來支撐數(shù)據(jù)挖掘模型。第九章介紹了數(shù)據(jù)可視化的概念和實現(xiàn)的技術。通常在進行大數(shù)據(jù)分析時,往往需要在運行模型之前進行探索性的數(shù)據(jù)分析,這樣方便我們對數(shù)據(jù)特性的了解。這時最直觀的方法是采用數(shù)據(jù)可視化技術達到解讀數(shù)據(jù)的目的。同樣在數(shù)據(jù)挖掘模型輸出結果之后,我們也可以利用可視化技術把最終的結果以各種表格或各種圖形呈現(xiàn)出來。
所以,這本教材的基本主線是,首先通過討論智能爬蟲來達到收集數(shù)據(jù)并根據(jù)類型進行處理后再存儲到數(shù)據(jù)文件或數(shù)據(jù)庫中。利用Numpy庫或Pandas庫進行數(shù)據(jù)基本處理后,再利用數(shù)據(jù)挖掘模型對數(shù)據(jù)進行訓練并獲得模型輸出的結果,最后利用可視化技術展現(xiàn)結果供決策使用。
我們知道,近些年來,隨著各種數(shù)據(jù)量的快速增長,傳統(tǒng)數(shù)據(jù)處理和分析方法顯得比較落后。而在財經和人文學科中,傳統(tǒng)數(shù)據(jù)處理課程仍是主流,我們編寫這本教材的主要意圖是為工商管理、會計、金融、人力資源和社會保障專業(yè)的大專、本科和研究生提供基于大數(shù)據(jù)下的智能分析工具。通過學習,這些專業(yè)的學生將能夠掌握如何從網(wǎng)絡中獲取、存儲、分析數(shù)據(jù)并顯現(xiàn)分析結果。比如,金融專業(yè)學生可以從網(wǎng)上快速獲取股票交易的實時或歷史數(shù)據(jù)來進行分析,會計專業(yè)學生可從網(wǎng)上獲取上市公司年報數(shù)據(jù)進行分析。
文科學生害怕計算機編程,在這本書中,我們使用Python語言的文本特性來實現(xiàn)數(shù)據(jù)提取、數(shù)據(jù)存儲、數(shù)據(jù)分析和數(shù)據(jù)的可視化應用,目的在于降低文科學生的學習門檻并為解決問題提供詳細的方法。本書中的所有Python源代碼都可用文本格式直接打開,具有非常好的可讀性,代碼可以在Python的人機對話環(huán)境中運行,也可以在Jupyter或其他環(huán)境中運行。
在本教材的寫作過程中,筆者獲得了首都經濟貿易大學管理工程學院量化金融中心教師和研究生的支持,筆者在此對他們表示感謝。本書中的大部分例子和Python機器學習算法案例來自中心的研發(fā)結果。
康躍 1984年畢業(yè)于天津大學,獲管理科學碩士學位,F(xiàn)為首都經濟貿易大學管理工程學院管理科學系副教授。研究方向為數(shù)學規(guī)劃、機器學習和智能技術,出版《運籌學》和《指數(shù)化投資》等教材和專著多部。曾任中國證券業(yè)協(xié)會信息技術委員會委員。
1智能技術學基礎
11大數(shù)據(jù)采集技術
12大數(shù)據(jù)存儲技術
13大數(shù)據(jù)分析與挖掘技術
14大數(shù)據(jù)可視化技術
15Python基礎
習題
2爬蟲技術
21爬蟲的相關知識體系
22Python Requests庫的使用
23正則表達式的使用
24XML和HTML文件的解析
25爬蟲例子
26爬蟲存取文件介紹
習題
3爬蟲框架
31Scrapy框架與Spider類
32Scrapy框架與CrawlSpider類
習題
4大數(shù)據(jù)存儲技術
41數(shù)據(jù)存取基本文件
42PyMySQL基本功能和使用操作
43PyMongoDB基本功能和使用操作
44Redispy基本功能和使用操作
習題
5大數(shù)據(jù)分析與挖掘
51數(shù)據(jù)分析
52貝葉斯分類決策
53貝葉斯決策的Python庫
54數(shù)據(jù)標準化
55案例分析
習題
6Python數(shù)據(jù)分析工具——Numpy框架
61Numpy簡介
62Numpy框架的使用
63Numpy的通用函數(shù)操作
習題
7Python數(shù)據(jù)挖掘工具——Pandas
71Pandas簡介
72Pandas基本數(shù)據(jù)結構
73Pandas基本功能介紹
74Pandas的數(shù)據(jù)分類
75數(shù)據(jù)分組groupby的應用
習題
8數(shù)據(jù)清洗和預處理
81數(shù)據(jù)編碼問題
82數(shù)據(jù)的清洗
83數(shù)據(jù)類型轉換操作
84字符串的操作
85時序數(shù)據(jù)處理
練習
9數(shù)據(jù)可視化
91Python可視化庫介紹
92Python的可視化模塊Tkinter
93Matplotlib繪圖庫
94Tkinter與Matplotlib的集成
習題