內容簡介
數據分析是一個快速發展的領域,而Python已經演變成數據科學的主要語言,廣泛應用於數據分析、可視化和機器學習等領域。本書從數據分析的基礎內容入手,比如matplotlib、NumPy和Pandas庫,介紹如何通過選擇色彩圖和調色闆來創建可視化,之後深入統計數據分析,將幫助你掌握Spark和HDFS,為網絡挖掘創建可遷移腳本。本書還詳細闡述如何評價股票,檢測市場有效性,使用指標和聚類等,並且還將使用多綫程實現並行性,並加速你的代碼。在本書結束時,讀者將能夠運用各種Python中的數據分析技術,並針對問題場景設計解決方案。
目錄
Contents?目錄譯者序前言第1章為可重復的數據分析奠定基礎11.1簡介11.2安裝Anaconda21.3安裝數據科學工具包31.4用virtualenv和virtualenvwrapper創建Python虛擬環境51.5使用Docker鏡像沙盒化Python應用61.6在IPythonNotebook中記錄軟件包的版本和曆史81.7配置IPython111.8學習為魯棒性錯誤校驗記錄日誌131.9為你的代碼寫單元測試161.10配置pandas181.11配置matplotlib201.12為隨機數生成器和NumPy打印選項設置種子231.13使報告、代碼風格和數據訪問標準化24第2章創建美觀的數據可視化282.1簡介282.2圖形化安斯庫姆四重奏282.3選擇Seaborn的調色闆312.4選擇matplotlib的顔色錶332.5與IPythonNotebook部件交互352.6查看散點圖矩陣382.7通過mpld3使用d3.js進行可視化402.8創建熱圖412.9把箱綫圖、核密度圖和小提琴圖組閤442.10使用蜂巢圖可視化網絡圖452.11顯示地圖472.12使用類ggplot2圖492.13使用影響圖高亮數據51第3章統計數據分析和概率533.1簡介533.2將數據擬閤到指數分布533.3將聚閤數據擬閤到伽馬分布553.4將聚閤計數擬閤到泊鬆分布573.5確定偏差593.6估計核密度613.7確定均值、方差和標準偏差的置信區間643.8使用概率權重采樣663.9探索極值683.10使用皮爾遜相關係數測量變量之間的相關性713.11使用斯皮爾曼等級相關係數測量變量之間的相關性743.12使用點二列相關係數測量二值變量和連續變量的相關性773.13評估變量與方差分析之間的關係78第4章處理數據和數值問題814.1簡介814.2剪輯和過濾異常值814.3對數據進行縮尾處理844.4測量噪聲數據的集中趨勢854.5使用Box-Cox變換進行歸一化884.6使用冪階梯轉換數據904.7使用對數轉換數據914.8重組數據934.9應用logit()來變換比例954.10擬閤魯棒綫性模型974.11使用加權最小二乘法考慮方差994.12使用任意精度進行優化1014.13使用任意精度的綫性代數103第5章網絡挖掘、數據庫和大數據1075.1簡介1075.2模擬網頁瀏覽1085.3網絡數據挖掘1105.4處理非ASCII文本和HTML實體1125.5實現關聯錶1145.6創建數據庫遷移腳本1175.7在已經存在的錶中增加一列1175.8在錶創建之後添加索引1185.9搭建一個測試Web服務器1205.10實現具有事實錶和維度錶的星形模式1215.11使用Hadoop分布式文件係統1265.12安裝配置Spark1275.13使用Spark聚類數據128第6章信號處理和時間序列1326.1簡介1326.2使用周期圖做頻譜分析1326.3使用Welch算法估計功率譜密度1346.4分析峰值1366.5測量相位同步1386.6指數平滑法1406.7評估平滑法1426.8使用Lomb-Scargle周期圖1456.9分析音頻的頻譜1466.10使用離散餘弦變換分析信號1496.11對時序數據進行塊自舉1516.12對時序數據進行動態塊自舉1536.13應用離散小波變換155第7章利用金融數據分析選擇股票1597.1簡介1597.2計算簡單收益率和對數收益率1597.3使用夏普比率和流動性對股票進行排名1617.4使用卡瑪和索提諾比率對股票進行排名1627.5分析收益統計1647.6將個股與更廣泛的市場相關聯1667.7探索風險與收益1697.8使用非參數運行測試檢驗市場1707.9測試隨機遊走1737.10使用自迴歸模型確定市場效率1757.11為股票價格數據庫建錶1777.12填充股票價格數據庫1787.13優化等權重雙資産組閤183第8章文本挖掘和社交網絡分析1868.1簡介1868.2創建分類的語料庫1868.3以句子和單詞標記化新聞文章1898.4詞乾提取、詞形還原、過濾和TF-IDF得分1898.5識彆命名實體1938.6提取帶有非負矩陣分解的主題1948.7實現一個基本的術語數據庫1968.8計算社交網絡密度2008.9計算社交網絡接近中心性2018.10確定中介中心性2028.11評估平均聚類係數2038.12計算圖的分類係數2048.13獲得一個圖的團數2058.14使用餘弦相似性創建文檔圖206第9章集成學習和降維2099.1簡介2099.2遞歸特徵消除2109.3應用主成分分析來降維2119.4應用綫性判彆分析來降維2139.5多模型堆疊和多數投票2149.6學習隨機森林2179.7使用RANSAC算法擬閤噪聲數據2209.8使用Bagging來改善結果2229.9用於更好學習的Boosting算法2249.10嵌套交叉驗證2279.11使用joblib重用模型2299.12層次聚類數據2319.13Theano之旅232第10章評估分類器、迴歸器和聚類23510.1簡介23510.2直接使用混淆矩陣分類23510.3計算精度、召迴率和F1分數23
前言/序言
前言?Preface數據分析是Python的殺手鐧。 ——匿名本書是《PythonDataAnalysis》的後續。那麼在《PythonDataAnalysis》已經足夠優秀(我願意這麼認為)的情況下,這本書有哪些新的內容嗎?本書是針對那些有一定經驗的Python程序員寫的。一年時間過去瞭,因此,我們將使用在《PythonDataAnalysis》中沒有用到的一些更新版本的軟件和軟件庫。另外,經過深入反思和調研,我做齣瞭以下的總結: 為瞭減輕自己的負擔,同時提高代碼的可重復使用率,我需要一個工具箱,我將這個工具箱命名為dautil並將它發布到瞭Pypi上(可以通過pip/easy_install安裝)。 通過反省,我深信需要簡化獲取和安裝所需要的軟件的過程,因此我通過DockerHub發布瞭一個包含瞭我們需要用到的軟件的Docker容器(pydacbk),在本書的第1章和綫上章節中你將瞭解更多關於如何安裝的細節。這個Docker容器還是不夠理想,因為它的體積已經相當大,所以我需要做齣一些艱難的決定。因為這個容器並不是本書的一部分,所以如果你有任何問題可以直接與我聯係,但是請記住我不會對鏡像做很大的修改。 本書會使用IPythonNotebook,這個工具已經成為數據分析時的標準工具。在綫上章節以及我寫的其他書中,我已經給齣瞭一些和IPythonNotebook相關的建議。 除瞭極少數案例外,本書中我主要使用的是Python3,因為2020年後官方將不再支持Python2。 為什麼需要這本書有人會說你並不需要書籍,你隻需要去做一個感興趣的項目,然後在做項目的同時就會搞明白那些東西。但是盡管接觸到大量的資源,這個過程可能還是會令你感到沮喪。打個比方,如果想烹調一碗美味的湯,你可以去嚮朋友和傢人尋求幫助,上網搜索或者收看烹飪節目,但是朋友和傢人不會一直在你身邊,網絡上的內容也是良莠不齊。以我的淺見,齣版社、審稿人和作者都在這本書上花費瞭大量的時間和精力,如果你不能從中有所收獲我會感到很詫異。 數據分析、數據科學、大數據——有什麼瞭不起的你應該看過將數據科學用數學/統計學、計算機科學以及專業領域的知識進行描述的維恩圖(Venndiagram)。數據分析是永恒的,它齣現在數據科學之前,甚至是計算機科學之前。你可以用筆和紙或者更先進的便攜計算器進行數據分析。 數據分析體現在很多方麵,比如說以做齣決策或提齣新的假設和問題為目的進行數據分析。數據科學以及大數據的熱潮、高待遇以及經濟迴報讓我想起瞭當數據存儲和商業智能還是時髦詞的年代。商業智能和數據存儲的終極目標是構建應用於管理的可視化圖錶。這涉及很多政治和組織方麵的利益,但是從技術的角度來看,這主要還是和數據庫相關。數據科學則不是以數據庫為中心,而是很大程度上依賴於機器學習。由於數據的量在不斷地變多,機器學習變得越來越不可或缺。數據大量增長的背後是人口的快速增長以及新技術的層齣不窮,比如說社交媒體和移動設備的齣現。事實上,數據增長可能是我們唯一可以肯定的將一直持續的趨勢。構建可視化圖錶和應用機器學習的區彆就類似於搜索引擎的演進。 搜索引擎(如果可以這麼稱呼)最初隻是手動創建的組織良好的鏈接集閤。而最終,純自動的方式取代瞭前者。當下,更多的數據將會被創建(而不是被銷毀),我們可以預見自動化數據分析領域的增長。 Python數據分析的簡要曆程各個Python軟件庫的曆史十分有趣,但我不是一個曆史學傢,所以下麵的記錄主要從我的視角來寫: 1989年:GuidoVanRossum在荷蘭的CWI實現瞭Python的第一個版本,當時是作為一個聖誕節的“興趣”項目。 1995年:JimHugunin創建瞭Numeric——Numpy的前身。 1999年:PearuPeterson寫瞭f2py作為連接Fortran和Python的橋梁。 2000年:Python2.0發布。 2001年:SciPy庫發布,同期創建的還有與Numeric競爭的庫Numarray。FernandoPerez發布瞭IPython,它最初是以“午後黑客”(afternoonhack)的名義發布的。NLTK(自然語言工具包)發布且用於研究項目。 2002年:JohnHunter創建瞭Matplotlib庫。 2005年:TravisOliphant發布瞭NumPy,NumPy最初是受Numarray啓發而對Numeric進行擴展的庫。 2006年:NumPy1.0發布,第1版SQLAlchemy發布。 2007年:DavidCournapeau將scikit-learn作為GoogleSummerofCode的項目,Cy-thon在Pyrex的基礎上開始開發,Cython後來集中用在瞭pandas和scikit-learn上以提升性能。 2008年:WesMcKinney開始開發pandas,Python3.0發布。 2011年:IPython0.12發行版本中引入瞭IPythonNotebook,Packt齣版社齣版瞭《NumPy1.5BeginnersGuide》。 2012年:Packt齣版社齣版瞭《NumPyCookbook》。 2013年:Packt齣版社齣版瞭第2版的《NumPyBeginnersGuide》。 2014年:FernandoPerez宣布瞭Jupyter項目,緻力於開發與語言無關的Notebook,Packt齣版社齣版瞭《LearningNumPyArray》和《PythonDataAnalysis》。 2015年:Packt齣版社齣版瞭第3版的《NumPyBeginnersGuide》以及第2版的《NumPyCookbook》。
Python數據分析實戰 下載 mobi epub pdf txt 電子書