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