這是一本適合教學和零基礎自學的Python與數據挖掘的教程,即便你完全沒有Python編程基礎和數據挖掘基礎,根據本書中的理論知識和上機實踐,你也能迅速掌握如何使用Python進行數據挖掘。本書已經被多所高校預定為教材,為了便于教學,書中還提供了大量的上機實驗和教學資源。
本書主要分為兩篇:
基礎篇(1~6章):第1章旨在讓讀者從全局把握數據挖掘、建模工具以及Python開發(fā)環(huán)境的搭建;第2章正式開始講解Python的基礎知識,包括操作符、變量類型、流程控制、數據結構等內容;第3、4章主要對Python面向對象的特性進行介紹,包括函數、類與對象等基本概念;第5章介紹主流的數據分析與挖掘的模塊,以及其中具體的方法及對應的功能;第6章繼續(xù)拓展了模塊的相關內容,介紹圖表繪制的專用模塊(Matplotlib和Bokeh),深入淺出地展示如何方便地繪制點、線、圖等。
建模應用篇(7~11章):主要對數據挖掘中的常用算法進行介紹,強調在Python中對應函數的使用方法及其結果的解釋說明。內容涵蓋五大主流的數據挖掘算法,包括分類與預測、聚類分析建模、關聯(lián)規(guī)則分析、智能推薦和時間序列分析。按照從模型建立到模型評價的架構進行介紹,使讀者熟練掌握從建模到對模型評價的完整建模過程。
Preface前 言為
什么要寫本書?Python是什么?Python是一種帶有動態(tài)語義的、解釋性的、面向對象的高級編程語言。其高級內置數據結構,結合動態(tài)類型和動態(tài)綁定,使其對于敏捷軟件開發(fā)非常具有吸引力。同時,Python作為腳本型(膠水)語言連接現有的組件也十分高效。Python語法簡潔,可讀性強,從而能降低程序的維護成本。不僅如此,Python支持模塊和包,鼓勵程序模塊化和代碼重用。
Python語言的解釋性使其語法更接近人類的表達和思維過程,開發(fā)程序的效率極高。習慣使用Python者,總習慣在介紹Python時強調一句話:“人生苦短,我用Python!庇捎跊]有編譯步驟,“寫代碼—測試—調試”的流程能被快速地反復執(zhí)行。
作為一款用途廣泛的語言,Python在數據分析與機器學習領域的表現,稱得上“一任群芳妒”。2016年3月,國外知名技術問答社區(qū)StackOverflow發(fā)布了《2016年開發(fā)者調查報告》。此調查號稱是有史以來最為全面的開發(fā)者調查。其中,數據科學家的十大技術棧中,有7個包含Python。具體來說,數據科學家中有63%正在使用Python,44%正在使用R語言。而且,27%的人同時使用這兩種語言。Python還在“最多人使用的技術”“最受歡迎技術”“需求度最高技術”等榜單中名列前十。
Python的明顯優(yōu)勢:
Python作為一款優(yōu)雅、簡潔的開源編程語言,吸引了世界各地頂尖的編程愛好者的注意力。每天都有數量眾多的開源項目更新自己的功能,作為第三方模塊為其他開發(fā)者提供更加高效、便利的支持。
Python提供了豐富的API和工具,以便程序員能夠輕松地使用C、C++、Cython來編寫擴充模塊,從而集成多種語言的代碼,協(xié)同工作。一些算法在底層用C實現后,封裝在Python模塊中,性能非常高效。
Python受到世界各地開發(fā)者的一致喜愛,在世界范圍內被廣泛使用。這意味著讀者可以通過查看代碼范例,快速學習和掌握相關內容。
Python語言簡單易學,語法清晰。Python開發(fā)者的哲學是“用一種方法,最好是只有一種方法來做一件事”。通常,相較其他語言,Python的源代碼被認為具有更好的可讀性。
2004年,Python 已在Google 內部使用,他們的宗旨是:Python where we can,C++ where we must,即在操控硬件的場合使用C++,在快速開發(fā)時使用Python。
總的來說,Python是一款用于數據統(tǒng)計、分析、可視化等任務,以及機器學習、人工智能等領域的高效開發(fā)語言。它能滿足幾乎所有數據挖掘下所需的數據處理、統(tǒng)計模型和圖表繪制等功能需求。大量的第三方模塊所支持的內容涵蓋了從統(tǒng)計計算到機器學習,從金融分析到生物信息,從社會網絡分析到自然語言處理,從各種數據庫各種語言接口到高性能計算模型等領域。隨著大數據時代的來臨,數據挖掘將更加廣泛地滲透到各行各業(yè)中去,而Python作為數據挖掘里的熱門工具,將會有更多不同行業(yè)的人加入到Python愛好者的行列中來。完全面向對象的Python的教學工作也將成為高校中數學與統(tǒng)計學專業(yè)的重點發(fā)展對象,這是大數據時代下的必然趨勢。
本書特色筆者從實際應用出發(fā),結合實際例子及應用場景,深入淺出地介紹Python開發(fā)環(huán)境的搭建、Python基礎入門、函數、面向對象編程、實用模塊和圖表繪制及常用的建模算法在Python中的實現方式。本書的編排以Python語言的函數應用為主,先介紹了函數的應用場景及使用格式,再給出函數的實際使用示例,最后對函數的運行結果做出了解釋,將掌握函數應用的所需知識點按照實際使用的流程展示出來。
為方便讀者理解Python語言中相關函數的使用,本書配套提供了書中使用的示例的代碼及所用的數據,讀者可以從“泰迪杯”全國數據挖掘挑戰(zhàn)賽網站(http://www.tipdm.org/ts/755.jhtml)上免費下載。讀者也可通過熱線電話(40068-40020)、企業(yè)QQ(40068-40020)或以下微信公眾號咨詢獲取。
TipDM張良均〈大數據挖掘產品與服務〉本書適用對象開設有數據挖掘課程的高校教師和學生。
目前國內不少高校將數據挖掘引入本科教學中,在數學、計算機、自動化、電子信息、金融等專業(yè)開設了數據挖掘技術相關的課程,但目前這一課程的教學使用的工具仍然為SPSS、SAS等傳統(tǒng)統(tǒng)計工具,并沒有使用Python作為教學工具。本書提供了有關Python語言的從安裝到使用的一系列知識,將能有效指導高校教師和學生使用Python。
數據挖掘開發(fā)人員。
這類人員可以在理解數據挖掘應用需求和設計方案的基礎上,結合本書提供的Python的使用方法快速入門并完成數據挖掘應用的編程實現。
進行數據挖掘應用研究的科研人員。
許多科研院所為了更好地對科研工作進行管理,紛紛開發(fā)了適應自身特點的科研業(yè)務管理系統(tǒng),并在使用過程中積累了大量的科研信息數據。Python可以提供一個優(yōu)異的環(huán)境對這些數據進行挖掘分析應用。
關注高級數據分析的人員。
Python作為一個廣泛用于數據挖掘領域的編程語言,能為數據分析人員提供快速的、可靠的分析依據。
張良均
資深大數據挖掘專家,高級信息項目管理師,有近20年的大數據挖掘應用、咨詢和培訓經驗,被稱為“中國大數據挖掘培訓教父”。為電信、電力、政府、互聯(lián)網、生產制造、零售、銀行、生物、化工、醫(yī)藥等多個行業(yè)上百家大型企業(yè)提供過數據挖掘應用與咨詢服務,實踐經驗豐富。
現任廣東工業(yè)大學、華南師范大學、華南農業(yè)大學、貴州師范學院、韓山師范學院、廣東技術師范學院、廣西科技大學的兼職教授。著有《神經網絡實用教程》《數據挖掘:實用案例分析》《MATLAB數據分析與挖掘實戰(zhàn)》《R語言數據分析與挖掘實戰(zhàn)》《Python數據分析與挖掘實戰(zhàn)》《Hadoop大數據分析與挖掘實戰(zhàn)》《R語言與數據挖掘》等暢銷圖書。