天天看點

《python 與資料挖掘 》 一 導讀

《python 與資料挖掘 》 一 導讀

前  言

為什麼要寫本書?

python是什麼?

python是一種帶有動态語義的、解釋性的、面向對象的進階程式設計語言。其進階内置資料結構,結合動态類型和動态綁定,使其對于靈活軟體開發非常具有吸引力。同時,python作為腳本型(膠水)語言連接配接現有的元件也十分高效。python文法簡潔,可讀性強,進而能降低程式的維護成本。不僅如此,python支援子產品和包,鼓勵程式子產品化和代碼重用。

python語言的解釋性使其文法更接近人類的表達和思維過程,開發程式的效率極高。習慣使用python者,總習慣在介紹python時強調一句話:“人生苦短,我用python。”由于沒有編譯步驟,“寫代碼—測試—調試”的流程能被快速地反複執行。

作為一款用途廣泛的語言,python在資料分析與機器學習領域的表現,稱得上“一任群芳妒”。2016年3月,國外知名技術問答社群stackoverflow釋出了《2016年開發者調查報告》。此調查号稱是有史以來最為全面的開發者調查。其中,資料科學家的十大技術棧中,有7個包含python。具體來說,資料科學家中有63%正在使用python,44%正在使用r語言。而且,27%的人同時使用這兩種語言。python還在“最多人使用的技術”“最受歡迎技術”“需求度最高技術”等榜單中名列前十。

python的明顯優勢:

python作為一款優雅、簡潔的開源程式設計語言,吸引了世界各地頂尖的程式設計愛好者的注意力。每天都有數量衆多的開源項目更新自己的功能,作為第三方子產品為其他開發者提供更加高效、便利的支援。

python提供了豐富的api和工具,以便程式員能夠輕松地使用c、c++、cython來編寫擴充子產品,進而內建多種語言的代碼,協同工作。一些算法在底層用c實作後,封裝在python子產品中,性能非常高效。

python受到世界各地開發者的一緻喜愛,在世界範圍内被廣泛使用。這意味着讀者可以通過檢視代碼範例,快速學習和掌握相關内容。

python語言簡單易學,文法清晰。python開發者的哲學是“用一種方法,最好是隻有一種方法來做一件事”。通常,相較其他語言,python的源代碼被認為具有更好的可讀性。

2004年,python 已在google 内部使用,他們的宗旨是:python where we can,c++ where we must,即在操控硬體的場合使用c++,在快速開發時使用python。

總的來說,python是一款用于資料統計、分析、可視化等任務,以及機器學習、人工智能等領域的高效開發語言。它能滿足幾乎所有資料挖掘下所需的資料處理、統計模型和圖表繪制等功能需求。大量的第三方子產品所支援的内容涵蓋了從統計計算到機器學習,從金融分析到生物資訊,從社會網絡分析到自然語言處理,從各種資料庫各種語言接口到高性能計算模型等領域。随着大資料時代的來臨,資料挖掘将更加廣泛地滲透到各行各業中去,而python作為資料挖掘裡的熱門工具,将會有更多不同行業的人加入到python愛好者的行列中來。完全面向對象的python的教學工作也将成為高校中數學與統計學專業的重點發展對象,這是大資料時代下的必然趨勢。

本書特色

筆者從實際應用出發,結合實際例子及應用場景,深入淺出地介紹python開發環境的搭建、python基礎入門、函數、面向對象程式設計、實用子產品和圖表繪制及常用的模組化算法在python中的實作方式。本書的編排以python語言的函數應用為主,先介紹了函數的應用場景及使用格式,再給出函數的實際使用示例,最後對函數的運作結果做出了解釋,将掌握函數應用的所需知識點按照實際使用的流程展示出來。

   

目錄

前言

第1章 資料挖掘概述

1.2.1 weka

1.2.2 rapidminer

1.2.3 python

1.2.4 r

1.3.1 python安裝

1.3.2 python初識

1.3.3 與讀者的約定

第2章 python基礎入門

2.1.1 算術操作符

2.1.2 指派操作符

2.1.3 比較操作符

2.1.4 邏輯操作符

2.1.5 操作符優先級

2.2.1 變量與指派

2.2.2 數字資料類型

2.3.1 if語句

2.3.2 while循環

2.3.3 for循環

2.4.1 清單

2.4.2 字元串

2.4.3 元組

2.4.4 字典

2.4.5 集合

2.5.1 改變工作目錄

2.5.2 txt檔案讀取

2.5.3 csv檔案讀取

2.5.4 檔案輸出

2.5.5 使用json處理資料

第3章  函數

第4章 面向對象程式設計

4.1 簡介

4.2 類與對象

4.3 __init__方法

4.4 對象的方法

4.5 繼承

4.6 上機實驗

第5章 python實用子產品

5.1 什麼是子產品

5.2 numpy

5.3 pandas

5.4 scipy

5.5 scikit-learn

5.6 其他python常用子產品

5.7 小結

5.8 上機實驗

第6章 圖表繪制入門

6.1 matplotlib

6.2 bokeh

6.3 其他優秀的繪圖子產品

6.4 小結

6.5 上機實驗

第二部分 模組化應用篇

第7章 分類與預測

7.1 回歸分析

7.1.1 線性回歸

7.1.2 邏輯回歸

7.2 決策樹

7.2.1 id3算法

7.2.2 其他樹模型

7.3 人工神經網絡

7.4 knn算法

7.5 樸素貝葉斯分類算法

7.6 小結

7.7 上機實驗

第8章 聚類分析模組化

8.1 k-means聚類分析函數

8.2 系統聚類算法

8.3 dbscan聚類算法

8.4 上機實驗

第9章 關聯規則分析

9.1 apriori關聯規則算法

9.2 apriori在python中的實作

9.3 小結

9.4 上機實驗

第10章 智能推薦

10.1 基于使用者的協同過濾算法

10.2 基于使用者的協同過濾算法在python中的實作

11570.3 小結

10.1574 上機實驗

第11章 159時間序列分析

11.1  159arima模型

11711.2 小結

11.3172 上機實驗 174

參考文獻