機器學習框架學習筆記-初識

在學習scikit-learn以前容我作一點介紹python

scikit-learn(http://scikit-learn. org/stable/documentation(在這個網頁上能夠看到每一個算法的詳細文檔 )) 算法

是一個開源的項目 ,裏面包含了目前最早進的機器學習算法 數據庫

若是你想使用或者是學習這個框架的話
編程

Anaconda

請你下載Anaconda(www.anaconda.com/數組


Anaconda 是用於大規模數據處理、預測分析和科學計算的 Python 發行版。
瀏覽器

Anaconda 已經預先安裝 好 NumPy、SciPy、matplotlib、pandas、IPython、Jupyter Notebook 和 scikit-learn。
bash

因此你能夠直接下載使用。數據結構

打開以後咱們能夠看到界面上面有不少的集成的工具框架


Jupyter Notebook

Jupyter Notebook 是能夠在瀏覽器中運行代碼的交互環境。
機器學習

簡單的說就是一個編譯器



打開以後的界面 (這個是你本地文件)

若是你想改變編輯器讀取你的本地文件位置的話能夠用下面的辦法 

blog.csdn.net/slz0813/art…(更改jupyter-notebook默認workspace目錄 )

下面就開始讓咱們建立第一個程序吧!



建立第一個程序 





NumPy

NumPy 是 Python 科學計算的基礎包之一。它的功能包括多維數組、高級數學函數(好比 線性代數運算和傅里葉變換),以及僞隨機數生成器。




SciPy 

SciPy 是 Python 中用於科學計算的函數集合。它具備線性代數高級程序、數學函數優化、 信號處理、特殊數學函數和統計分佈等多項功能。



matplotlib

matplotlib 是 Python 主要的科學繪圖庫,其功能爲生成可發佈的可視化內容,如折 線圖、直方圖、散點圖等。將數據及各類分析可視化,可讓你產生深入的理解。



pandas

pandas 是用於處理和分析數據的 Python 庫。它基於一種叫做 DataFrame 的數據結構,這 種數據結構模仿了R 語言中的DataFrame。簡單來講,一個pandas DataFrame 是一張表 格,相似於Excel 表格。pandas 中包含大量用於修改表格和操做表格的方法,尤爲是可 以像SQL 同樣對錶格進行查詢和鏈接。


補充內容:

看到上面的內容以爲仍是看不懂這個是在說什麼的話,請看看補充內容。

NumPy、SciPy、matplotlib、pandas、IPython、Jupyter Notebook 和 scikit-learn做爲python重要的庫,下面對各個各個庫進行詳細的解釋,這樣方便理解記憶。


NumPy (Numerical Python的簡稱)是Python科學計算的基礎包

它提供瞭如下功能(不限於此):
  1. 快速高效的多維數組對象ndarray。 
  2. 用於對數組執行元素級計算以及直接對數組執行數學運算的函數。 
  3. 用於讀寫硬盤上基於數組的數據集的工具。 
  4. 線性代數運算、傅里葉變換,以及隨機數生成。 
  5. -成熟的C API, 用於Python插件和原生C、C++、Fortran代碼訪問NumPy的 數據結構和計算工具。 

除了爲Python提供快速的數組處理能力,NumPy在數據分析方面還有另一個主要做用,即做爲在算法和庫之間傳遞數據的容器。對於數值型數據,NumPy數組在存儲和處理數據時要比內置的Python數據結構高效得多。此外,由低級語言(好比C 和Fortran)編寫的庫能夠直接操做NumPy數組中的數據,無需進行任何數據複製工做。所以,許多Python的數值計算工具要麼使用NumPy數組做爲主要的數據結構,要麼能夠與NumPy進行無縫交互操做。 

參考書籍:利用Python進行數據分析複製代碼


pandas 是用於處理和分析數據的 Python 庫

它提供瞭如下功能(不限於此):

  1. 有標籤軸的數據結構,支持自動或清晰的數據對齊。這能夠防止因爲數據不對齊,或處理來源不一樣的索引不一樣的數據,所形成的錯誤。
  2.  集成時間序列功能。 
  3. 相同的數據結構用於處理時間序列數據和非時間序列數據。 
  4. 保存元數據的算術運算和壓縮。 靈活處理缺失數據。 
  5. 合併和其它流行數據庫(例如基於SQL的數據庫)的關係操做。 

pandas兼具NumPy高性能的數組計算功能以及電子表格和關係型數據庫(如 SQL)靈活的數據處理功能。它提供了複雜精細的索引功能,能更加便捷地完成重 塑、切片和切塊、聚合以及選取數據子集等操做。

參考數據:利用Python進行數據分析複製代碼


matplotlib是 Python 主要的科學繪圖庫

matplotlib是最流行的用於繪製圖表和其它二維數據可視化的Python庫。它最初由 John D.Hunter(JDH)建立,目前由一個龐大的開發團隊維護。它很是適合建立出 版物上用的圖表。


SciPy是一組專門解決科學計算中各類標準問題域的包的集合

它提供瞭如下功能(不限於此):

  1. scipy.integrate:數值積分例程和微分方程求解器。  
  2. scipy.linalg:擴展了由numpy.linalg提供的線性代數例程和矩陣分解功能。 
  3. scipy.optimize:函數優化器(最小化器)以及根查找算法。 
  4. scipy.signal:信號處理工具。 scipy.sparse:稀疏矩陣和稀疏線性系統求解器。 scipy.special:SPECFUN(這是一個實現了許多經常使用數學函數(如伽瑪函數) 的Fortran庫)的包裝器。 
  5. scipy.stats:標準連續和離散機率分佈(如密度函數、採樣器、連續分佈函數 等)、各類統計檢驗方法,以及更好的描述統計法。 


scikit-learn 

Scikit-learn(之前稱爲scikits.learn)是一個用於Python編程語言的免費軟件機器學習庫。 它具備各類分類,迴歸和聚類算法,包括支持向量機,隨機森林,梯度加強,k -means和DBSCAN,旨在與Python數值和科學庫NumPy和SciPy互操做。

它的子模塊包括:

  1. 分類:SVM、近鄰、隨機森林、邏輯迴歸等等。 
  2. 迴歸:Lasso、嶺迴歸等等。
  3. 聚類:k-均值、譜聚類等等。 
  4. 降維:PCA、特徵選擇、矩陣分解等等。 
  5. 選型:網格搜索、交叉驗證、度量。 預處理:特徵提取、標準化。
相關文章
相關標籤/搜索