- Python數據挖掘入門與實踐
- Robert Layton
- 2934字
- 2020-01-10 15:40:57
前言
你是不是向往數據挖掘的殿堂,卻不得其門而入?如果是的話,這本書就是為你而寫的。
很多講授數據挖掘的書涵蓋了大量數學知識,倘若讀者有較好的數學背景,這自然不錯,但我覺得這些書往往只見樹木不見森林;也就是說,它們過于關注算法的工作原理,而忘記了我們使用這些算法的初衷。
本書的目標讀者是具備一定編程能力、渴望學習數據挖掘的人。我的目標是,如果你認真學完本書,能較好地理解數據挖掘的基礎知識,掌握用數據挖掘知識解決問題的最佳實踐,此外還能從書中找到幾個值得你深入研究的方向。
本書的每一章都會介紹一個新的主題,我會給出該主題的相關算法和數據集。因此,各章主題之間跳躍有點大,閱讀本書的過程中需要你的大腦能快速切換。每學完一章,你都要思考一下有沒有什么辦法能夠提升該章中算法的效果,然后嘗試去實現它!
我最喜歡的格言中有一條出自莎士比亞的《亨利四世》:
但是你叫他們的時候,他們真的會來嗎?
在劇中,有人聲稱自己會招魂,于是霍茨波(Hotspur)回復了上面這句話。霍茨波的意思是每個人都會招魂,但問題是招過之后,魂來不來。
跟招魂類似,學習數據挖掘無外乎做實驗,獲得結果。實現一個新的數據挖掘算法或是改善現有實驗結果的想法,每個人都能提出來,但真正重要的是你能不能實現它,還有結果是否盡如人意。
本書主要內容
第1章 開始數據挖掘之旅,介紹我們即將用到的技術,接著通過講解兩個基礎算法的實現方法達到熱身目的。
第2章 用scikit-learn估計器分類,涵蓋了數據挖掘的一個重要主題——分類。這一章還會介紹將數據挖掘流程標準化的流水線結構,便于你管理實驗流程。
第3章 用決策樹預測獲勝球隊,介紹決策樹和隨機森林兩個新算法。我們將通過抽取區分度高的特征來預測獲勝選手。
第4章 用親和性分析方法推薦電影,思考根據以往消費記錄推薦產品的問題,介紹Apriori算法。
第5章 用轉換器抽取特征,介紹不同類別特征的抽取方法及不同數據集的處理方法。
第6章 使用樸素貝葉斯進行社會媒體挖掘,使用樸素貝葉斯算法自動分析來自社交網站Twitter的文本信息。
第7章 用圖挖掘找到感興趣的人,采用聚類和網絡分析方法,發現社會媒體上感興趣的人。
第8章 用神經網絡破解驗證碼,從圖像中抽取信息,然后訓練神經網絡,用來發現圖像中的單詞和字母。
第9章 作者歸屬問題,通過抽取文本特征,使用支持向量機算法,找出文檔的作者。
第10章 新聞語料分類,使用k-means聚類算法,根據新聞文章內容進行分類。
第11章 用深度學習方法為圖像中的物體進行分類,采用深度神經網絡算法確定圖像中的物體。
第12章 大數據處理,探討對大數據進行數據挖掘的流程及方法。
附錄依次介紹各章的參考資料,便于讀者深入了解各章內容。
本書的閱讀前提
毫無疑問,要完成本書的學習,你需要準備一臺電腦。電腦不能太舊,但也不用配置太高。只要是最近幾年的處理器(2010年以后),4GB內存(RAM)就足夠了。在性能稍差一點的機器上運行本書中的大部分代碼,應該也不會有問題。
最后兩章的代碼對機器性能要求較高。在這兩章中,我介紹了如何使用亞馬遜網絡服務(AWS)運行代碼。這多少可能會讓你破費一些,與在本地運行代碼相比,好處是不用做那么多系統配置。如果你不想掏錢購買亞馬遜的網絡服務,可以在本地主機上配置好所有的工具,當然你需要一臺配置較高的計算機:2012年及以后的處理器,內存在4GB以上。
我推薦使用Ubuntu操作系統,但是本書示例代碼也可以在Windows、Mac和其他任何Linux系統上運行。然而,你可能需要參考系統的相關文檔來完成必要工具的安裝。
本書中,我將使用命令行工具pip來安裝我們用到的Python庫。你也可以使用Anaconda,下載地址為http://continuum.io/downloads。
本書所有代碼都已在Python 3中測試過。大部分代碼無需修改就能在Python 2下運行。如果你遇到什么問題解決不了,請發郵件給我們,我們幫你看看怎么解決。
本書的目標讀者
本書是寫給那些想把數據挖掘技術應用到實際項目中,卻不知道怎么開始的程序員。
如果你沒有編程經歷,我強烈建議你在學習本書之前,至少先了解一下編程的基礎知識。本書直接略過這部分內容,也不會把過多精力放在代碼的具體實現上。也就是說,簡要學習一下編程基礎知識再來學習本書就行。本書不對你的編程技能做過高要求,所以你沒必要先成為編程高手!
我強烈建議在閱讀本書前最好先積累一些Python編程經驗。如果沒有的話,也沒關系,但是你可能需要先瞧瞧Python代碼是怎么回事,可能的話先看看IPython Notebook的教程。用IPython Notebook寫程序,跟用其他編輯器寫程序(比如使用功能全面的IDE編寫Java程序)有一定區別。
排版約定
本書使用不同的文本樣式來區分不同類別的內容。以下是常用樣式及其用途說明。
首先,我們來看一下最重要的代碼所使用的樣式。
if True: print("Welcome to the book")
請留意縮進。縮進在Python中表示層級的概念。本書中,我們使用四個空格來表示縮進。你可以按照自己的喜好,使用不同數量的空格(或制表符),但是應該保持一致。如果你被縮進搞糊涂了,請參考本書的示例代碼。
在正文中引用代碼時,會使用下面這種樣式:I'll use this format。你不需要在IPython Notebook中輸入這些代碼,除非我在正文中明確要求你這么做。
所有的命令行輸入或輸出都使用下面這種樣式:
# cp file1.txt file2.txt
新的術語和重要的詞語使用楷體。
此圖標表示警告或重要信息。
此圖標表示提示或技巧。
讀者反饋
我們熱忱地歡迎讀者朋友給予我們反饋,告訴我們你對于這本書的所思所想——你喜歡或是不喜歡哪些內容。大家的反饋對我們來說至關重要,將能幫助我們確定到底哪些內容是讀者真正需要的。
如果你有一般性建議的話,請發郵件至feedback@packtpub.com,請在郵件主題中寫清書的名稱。
如果你是某一方面的專家,對某個主題特別感興趣,有意向自己或是與別人合作寫一本書,請到www.packtpub.com/authors查閱我們為作者準備的幫助文檔。
客戶支持
為自己擁有一本Packt出版的書而自豪吧!為了讓你的書物有所值,我們還為你準備了以下內容。
下載示例代碼
如果你是從http://www.packtpub.com網站購買的圖書,用自己的賬號登錄后,可以下載所有已購圖書的示例代碼。如果你是從其他地方購買的,請訪問http://www.packtpub.com/support網站并注冊,我們會用郵件把代碼文件直接發給你。
下載配套PDF文件
我們還為你準備了一個PDF文件,該文件包含書中的所有屏幕截圖/圖表。這些彩色圖像能彌補圖書中黑白圖像的不足,有助于你理解本書內容。該文件的下載地址為https://www.packtpub.com/sites/default/files/downloads/6053OS_ColorImages.pdf。
勘誤表
即使我們竭盡所能來保證圖書內容的正確性,錯誤也在所難免。如果你在我們出版的任何一本書中發現錯誤——可能是在文本或代碼中——倘若你能告訴我們,我們將會非常感激。你的善舉足以減少其他讀者在閱讀出錯位置時的糾結和不快,幫助我們在后續版本中更正錯誤。如果你發現任何錯誤,請訪問http://www.packtpub.com/submit-errata,選擇相應書籍,點擊“Errata Submission Form”鏈接,輸入錯誤之處的具體信息。你提交的錯誤得到驗證之后,我們就會接受你的建議,該處錯誤信息將會上傳到我們的網站或是添加到已有勘誤表的相應位置。
訪問https://www.packtpub.com/books/content/support,在搜索框中輸入書名,可查看該圖書已有的勘誤信息。這部分信息會在Errata部分顯示。
侵權
所有媒體在互聯網上都面臨的一個問題就是侵權。對Packt來說,我們嚴格保護我們的版權和許可證。如果你在網上發現針對我們出版物的任何形式的盜版產品,請立即告知我們地址或網站名稱,以便我們進行補救。
請將盜版書籍的網站地址發送到copyright@packtpub.com。
如果你能這么做,就是在保護我們的作者,保護我們,只有這樣我們才能繼續以優質內容回饋像你這樣熱心的讀者。
問題
你對本書有任何方面的問題,都可以通過questions@packtpub.com郵箱聯系我們,我們也將盡最大努力來幫你答疑解惑。