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