Start:關注本公眾號後,可直接聯繫後臺獲取排版美化的詳細文檔!
Hints:本篇文章所編纂的資料均來自網絡,特此感謝參與奉獻的有關人員。
Numpy:提供數值數組和函數
Scipy:科學計算庫
Matplotlib:數據可視化
Numpy 數組的優勢
1 Numpy數組能夠運用向量化運算來處理整個數組,而完成同樣的任務,python的列表則通常必須藉助循環語句遍歷列表,並對逐個元素進行相應的處理
2 Numpy使用了優化過的C API,所以運算速度格外快
3 與python標準的列表相比,Numpy數組使用的切片和索引方法更加高效。
夏皮羅-威爾克檢驗法可以對正態性進行檢驗。Anderson-Darling檢驗可以用來檢驗正態分布及其它分布,如指數分布,對數分布和甘貝爾Gumbel分布。
Pandas的核心數據結構:Series和DataFrame
HDF5 (Hierarchical Data Format)是一種常見的跨平臺數據儲存文件,可以存儲不同類型的圖像和數碼數據,並且可以在不同類型的機器上傳輸,同時還有統一處理這種文件格式的函數庫。
模塊xlrd能用來解析讀取.xls和.xlsx文件中的數據
使用Rest web服務和Json
使用feedparser解析Rss文件
使用beautiful soup解析HTML
使用pickle解析pkl文件
箱形圖、對數圖、散點圖、泡式圖、三維圖、時滯圖、自相關圖
移動平均值、窗口函數(矩形窗、三角形窗、布萊克曼窗口bartlett window, 漢寧窗hanning window、巴特萊特窗)、協整(通過檢測兩個序列之間線性關係的殘差穩定性-ADF檢測)、自相關性、自回歸模型(ARMA模型)、生成周期信號(希爾伯特-黃變換)、傅立葉變換、譜分析、濾波(中值濾波器median filter 計算滾動窗口中數據的中值, wiener濾波器 通過統計數值來刪除噪音,detrend濾波器 刪除趨勢)
SQLite3: Python標準的輕型的關係型資料庫
SQLAlcgemyL: 以基於設計模式design pattern的對象關係映射ORM而聞名。把Python的類映射為資料庫的數據表,需要使用SQLAlchemy應用程式接口來跟資料庫打交道,而非使用SQL命令。
Pony ORM用純python編寫的ORM,能自動進行查詢優化,提供了一個圖形用戶界面的資料庫模式編輯器,支持自動事務處理,自動緩存,組合關鍵字。
Dataset 懶人資料庫,SQLAlchemy的一個包裝器
MongoDB:是一個面向文檔的NoSQL資料庫
Redis存儲資料庫:Redis是一個in-memory型的鍵-值資料庫,用c語言編寫而成,處於內存存儲模式時,Redis的速度快的驚人,並且讀寫操作的速度幾乎一樣快。
Apache Cassandra是結合了鍵-值和傳統關係型資料庫特性的混合資料庫。對於傳統的關係型資料庫而言,數據表中的列是固定。可是,對於Cassandra來說,同一個數據表中的各行可以具有不同的列。
NLTK是一個用來分析自然語言文本的Python應用程式接口。
濾除停用字
詞袋模型:一篇文檔是由其中的詞構成的一個集合(袋子),詞與詞之間沒有順序以及先後的關係。
詞頻分析:NLTK提供的FreqDist類可以用來將單詞封裝成字典,並計算給定單詞列表中各個單詞出現的次數。
樸素貝葉斯分類:可以根據某些特徵來分辨一部電影屬於哪個流派
情感分析:觀點挖掘和情感分析
創建詞云:利用wordle生成詞雲
社交網絡分析:網絡中的節點代表的是網絡中的參與者。節點之間的連線代表的是參與者之間的相互關係。利用Python庫NetworkX分析網絡
監督學習:要求為訓練數據提供標籤
無監督學習:學習算法不需要人工輸入,能夠自行發現數據中存在的模式
強化學習:這種類型的學習技術無需要進行輔導,但需要提供一些反饋信息
基於邏輯回歸的分類
基於支持向量機的分類
基於ElasticNetCV的回歸分析
支持向量機回歸
基於相似性傳播算法的聚類分析: 相似性傳播算法中,數據集中的各個元素,都會通過特徵值被映射到歐式空間。然後,計算數據點之間的歐式距離,以此構建一個矩陣。
均值漂移算法:另外一種不需要估算聚類數的聚類算法
遺傳算法:算法在搜索和優化方面用途廣泛,可以使用遺傳算法來搜索回歸問題或分類問題的最佳參數
神經網絡
決策樹
性能、功能、健壯性、可維護性、可測性、可用性
性能分析:找出代碼中哪些部分比較慢,或者佔用內存比較多
安裝Cython:cython程序實際上充當了python和C++之間的膠水,cython工具,可以把Python代碼編譯成接近機器語言的代碼。
調用c代碼:可以從cython調用c函數。
利用multiprocessing創建進程池,multiprocessing是Python的一個標準模塊,可以用於多處理器機器。Multiprocessing通過創建多個進程,成功解決了全局解釋器GIL問題。GIL會鎖定Python的字節碼,導致只有一個線程可以訪問字節碼。
通過Joblib提高fo循環的並發性,Joblib是一個由scikit-learn的開發者創建的Python庫,旨在改善長時間運行的python函數的性能。實際上,joblib是通過在幕後使用多進程或者線程技術實現高速緩存和並行化來達到提升性能的目的。
Bottleneck是受到Numpy 和Scipy的啟發而創建的一組函數,著眼於高性能,都是由cython寫成的。Bottleneck為數組維數,坐標軸和數據類型的每種組合都提供了單獨的cython函數。
通過Jug實現MapReduce,Jug是一個分布式計算框架,以任務作為並行化的主要單位。MapReduce是一種分布式算法,可以通過計算機集群來處理大規模數據。
安裝MPI for python, 消息傳遞接口是一種標準協議,由計算機專家開發用來實現分布式計算機的廣泛協作,MPI不依賴具體的硬體和計算機語言,MPI函數可以完成發送和接受操作,實現MapReduce功能和同步。
IPython Parallel是用於並行計算的IPython應用程式接口。
關注本公眾號,隨意打賞,聯繫後臺,即可獲取相關學習資料
公眾號二維碼
End:如果有興趣了解金融量化交易和其他數據分析的實用技術,歡迎關注本公眾