在學習scikit-learn以前容我作一點介紹python
scikit-learn(http://scikit-learn. org/stable/documentation(在這個網頁上能夠看到每一個算法的詳細文檔 )) 算法
是一個開源的項目 ,裏面包含了目前最早進的機器學習算法 數據庫
若是你想使用或者是學習這個框架的話
編程
請你下載Anaconda(www.anaconda.com/)數組
Anaconda 是用於大規模數據處理、預測分析和科學計算的 Python 發行版。
瀏覽器
Anaconda 已經預先安裝 好 NumPy、SciPy、matplotlib、pandas、IPython、Jupyter Notebook 和 scikit-learn。
bash
因此你能夠直接下載使用。數據結構
打開以後咱們能夠看到界面上面有不少的集成的工具框架
Jupyter Notebook 是能夠在瀏覽器中運行代碼的交互環境。
機器學習
簡單的說就是一個編譯器
打開以後的界面 (這個是你本地文件)
若是你想改變編輯器讀取你的本地文件位置的話能夠用下面的辦法
blog.csdn.net/slz0813/art…(更改jupyter-notebook默認workspace目錄 )
下面就開始讓咱們建立第一個程序吧!
建立第一個程序
NumPy 是 Python 科學計算的基礎包之一。它的功能包括多維數組、高級數學函數(好比 線性代數運算和傅里葉變換),以及僞隨機數生成器。
SciPy 是 Python 中用於科學計算的函數集合。它具備線性代數高級程序、數學函數優化、 信號處理、特殊數學函數和統計分佈等多項功能。
matplotlib 是 Python 主要的科學繪圖庫,其功能爲生成可發佈的可視化內容,如折 線圖、直方圖、散點圖等。將數據及各類分析可視化,可讓你產生深入的理解。
pandas 是用於處理和分析數據的 Python 庫。它基於一種叫做 DataFrame 的數據結構,這 種數據結構模仿了R 語言中的DataFrame。簡單來講,一個pandas DataFrame 是一張表 格,相似於Excel 表格。pandas 中包含大量用於修改表格和操做表格的方法,尤爲是可 以像SQL 同樣對錶格進行查詢和鏈接。
看到上面的內容以爲仍是看不懂這個是在說什麼的話,請看看補充內容。
NumPy、SciPy、matplotlib、pandas、IPython、Jupyter Notebook 和 scikit-learn做爲python重要的庫,下面對各個各個庫進行詳細的解釋,這樣方便理解記憶。
除了爲Python提供快速的數組處理能力,NumPy在數據分析方面還有另一個主要做用,即做爲在算法和庫之間傳遞數據的容器。對於數值型數據,NumPy數組在存儲和處理數據時要比內置的Python數據結構高效得多。此外,由低級語言(好比C 和Fortran)編寫的庫能夠直接操做NumPy數組中的數據,無需進行任何數據複製工做。所以,許多Python的數值計算工具要麼使用NumPy數組做爲主要的數據結構,要麼能夠與NumPy進行無縫交互操做。
參考書籍:利用Python進行數據分析複製代碼
它提供瞭如下功能(不限於此):
pandas兼具NumPy高性能的數組計算功能以及電子表格和關係型數據庫(如 SQL)靈活的數據處理功能。它提供了複雜精細的索引功能,能更加便捷地完成重 塑、切片和切塊、聚合以及選取數據子集等操做。
參考數據:利用Python進行數據分析複製代碼
matplotlib是最流行的用於繪製圖表和其它二維數據可視化的Python庫。它最初由 John D.Hunter(JDH)建立,目前由一個龐大的開發團隊維護。它很是適合建立出 版物上用的圖表。
它提供瞭如下功能(不限於此):
Scikit-learn(之前稱爲scikits.learn)是一個用於Python編程語言的免費軟件機器學習庫。 它具備各類分類,迴歸和聚類算法,包括支持向量機,隨機森林,梯度加強,k -means和DBSCAN,旨在與Python數值和科學庫NumPy和SciPy互操做。
它的子模塊包括: