《機器學習實戰》-01機器學習基礎 #win8-anaconda prompt配置jupyter notebook

夏普通發表於2018-12-07

說明:

作業的所有程式碼都要基於Python3。
學習大綱:https://blog.csdn.net/qq_34243930/article/details/84669684
(所有計劃均在學習大綱裡)

01機器學習基礎(第一週)

1.1 Python 基礎知識,Numpy、pandas、Matplotlib 等庫的簡介
1.2 開發環境的搭建:Python3 + Anaconda + Jupyter Notebook
1.3 Jupyter Notebook 使用簡介

第一節學習內容
學習時間: 12/2
任務1題目: 觀看機器學習實戰緒論視訊+天池o2o比賽完全流程解析PPT
在這裡插入圖片描述
任務詳解: 第一次視訊課主要以《機器學習實戰》第一章為基礎,主要介紹機器學習的基本概念、演算法型別、推薦學習路線和一些預備知識,包括Numpy、Pandas、Matplotlib 等Python 基本庫。還有天池o2o比賽完全流程解析。
作業: 註冊天池賬號,報名參加比賽。提交結果,檢視成績。(結果 submit1.csv檔案提供,只需按照直播視訊講述的方法提交檢視成績就好。submit1.csv 檔案已放置在上)

第二節學習內容
學習時間: 12/3
**任務1題目:**配置開發環境,熟悉 Jupyter Notebook
**任務詳解:**以Python3為開發語言,安裝軟體Anaconda。Anaconda自帶Jupyter Notebook,熟悉Jupyter Notebook的基本用法。
參考資料:
[Jupyter Notebook入門教程(上)]
( https://mp.weixin.qq.com/s/O2nTGOtqGR-V33-YJgPgJQ)
[Jupyter Notebook入門教程(下)]
( https://mp.weixin.qq.com/s/AwSzkjlpwvdUzh6CmHq6AQ)
**作業:**使用Jupyter Nootbook,對Numpy、Pandas、Matplotlib各寫一個小的demo程式。要求是解釋性說明和程式碼相結合的形式。

第一節學習內容筆記

視訊課:機器學習實戰-緒論

  1. 機器學習的基本概念
    什麼是機器學習?
    在這裡插入圖片描述
    什麼時候機器可以學習?
    在這裡插入圖片描述
    機器如何學習?
    在這裡插入圖片描述

  2. 機器學習的演算法型別
    按輸入空間劃分:
    —>具體的特徵/concrete features
    —>本身的特徵/raw features(需要特徵轉換)
    —>抽象的特徵/abstra features(困難,需要特徵轉換、提取)
    按輸出空間劃分:
    —分類問題(輸出是離散的)
    ------>【二元分類(例如垃圾郵件判別、答案正確率估計、疾病診斷)】
    ------>【多元分類(例如手寫字識別、圖片內容識別)】
    —>迴歸問題(輸出是連續的)
    —>結構化學習
    按不同協議分:
    —>批學習/Batch Learning(獲得的訓練資料是一批一批的,大量資料)
    —>線上學習/Online Learning(實時、動態)
    —>主動學習/Active Learning(讓機器具備主動問問題的能力,比如手寫字識別,機器自己生成一個數字,機器自己不確定是什麼,主動發問。優點:在獲得樣本的標籤比較困難的時候,可以節約時間、成本,只對於一些重要的標籤提出要求)
    按樣本標籤劃分:
    —>監督式學習(樣本有標籤)
    —>半監督式學習
    —>非監督式學習(樣本無標籤),如聚類
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述

  3. 機器學習路線
    吳恩達,Coursera,machine learning課程(不是CS229,入門非常好)
    臺灣大學 林軒田的《機器學習基石》(講解透徹,由淺入深)
    臺灣大學 林軒田的《機器學習技法》(乾貨,有概括,知識體系完善)
    周志華《機器學習》
    李航《統計學方法》
    吳恩達,deep learning.ai

  4. 選擇 《機器學習實戰》的原因
    在這裡插入圖片描述
    在這裡插入圖片描述

  5. 一些預備知識
    線性代數
    概率論
    Python
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述

PDF:天池o2o比賽完全流程解析

在這裡插入圖片描述
01-註冊天池賬號
—>登入天池官網:https://tianchi.aliyun.com/learn/index.htm?spm=5176.100067.5610723.11.3a3c1db7qlDAwu
—>註冊賬號(中國站)
—>報名參賽:天池首頁-天池大賽-入門賽-天池新人實戰賽o2o優惠券使用預測-報名
在這裡插入圖片描述
02-下載資料集
在這裡插入圖片描述

03-離線/線上構建機器學習模型
線上學習:
在這裡插入圖片描述
離線學習:
在這裡插入圖片描述

04-提交答案
(結果 submit1.csv檔案提供,只需按照講述的方法提交檢視成績就好。submit1.csv 檔案已放置在上)
提交結果:
在這裡插入圖片描述
在這裡插入圖片描述

05-檢視成績
在這裡插入圖片描述
在這裡插入圖片描述

第二節學習內容筆記

jupyter notebook可以一邊執行程式碼,一邊寫筆記。是一個進行文學程式設計的互動式筆記本。在這個筆記本里,可以寫程式碼,可以寫文件,可以有圖表展示。以前,我們在編輯器中寫程式碼,然後在word中寫文件來說明專案。通過Jupyter Notebook,我們可以集程式設計和寫作於一體,按照自己的思維邏輯開發程式。
Jupyter notebook(又稱IPython notebook)是一個互動式的筆記本,支援執行超過40種程式語言。本文中,我們將介紹Jupyter notebook的主要特點,瞭解為什麼它能成為人們創造優美的可互動式文件和教育資源的一個強大工具。
在使用這個notebook之前,你需要先進行安裝。你可以在Jupyter website上找到完整的安裝步驟。這裡,推薦使用Anaconda,因為Anaconda自帶了Numpy、Scipy、Matplotlib等多種python開發包和Jupyter notebook。

1、如何安裝Anaconda

https://blog.csdn.net/qq_34243930/article/details/82467378

2、配置jupyter notebook

步驟一:執行anaconda prompt
一般選單欄裡會有(例如win8):
在這裡插入圖片描述
如果找不到,按以下操作:
win+R輸入cmd進入命令列,跳轉到Anaconda的安裝目錄,然後執行(可直接複製)python .\Lib\_nsis.py mkmenus
在這裡插入圖片描述
步驟二:啟動Jupyter Notebook
在Anaconda Prompt輸入jupyter notebook可以啟動Jupyter Notebook:
在這裡插入圖片描述
這裡會自動開啟一個網頁:http://localhost:8888/tree
在這裡插入圖片描述
你會發現預設的資料夾路徑是C:\,我們可能需要在其他目錄下寫程式碼,所以要
3. 修改預設資料夾路徑:
開啟 cmd 輸入命令 jupyter notebook --generate-config
在這裡插入圖片描述
可以看到生成檔案的路徑,去找這個檔案:
在這裡插入圖片描述
這個就是生成的配置檔案,開啟後找到下圖這裡刪除前面的’#‘ 然後填寫自己的路徑,儲存。
在這裡插入圖片描述
4、重新啟動Jupyter Notebook
為了檢視是否是我修改後的目錄,我在目錄裡新建了資料夾:
在這裡插入圖片描述
再啟動Jupyter Notebook就是你改後的目錄!
在這裡插入圖片描述

3、Jupyter Notebook 的快捷鍵:

https://blog.csdn.net/qq_34243930/article/details/84946874

4、使用Jupyter Notebook

建立一個新的notebook,只需滑鼠左擊New,在下拉選項中選擇一個你想啟動的notebook型別即可。
在這裡插入圖片描述
遇到一個錯誤:
新建時點 Python3 出現錯誤提示如下 :Creating Notebook Failed
An error occurred while creating a new notebook.
error
解決方法:重啟一下軟體 換從cmd進入 或者prompt進入
成功了:
在這裡插入圖片描述
notebook由以下部分組成:
notebook名字
主工具欄,包括儲存notebook、匯出、過載、重啟核心等
快捷鍵
notebook主要部分,notebook編輯區
花時間熟悉選單,瞭解其中的選項。如果你想了解一些特殊模組、notebook或者一些庫,可以點選選單欄右側的Help按鈕。
在主區域(編輯區),你可以看到一個個單元(cell)。每個notebook都由許多cell組成,每個cell有不同的功能。
首先,第一個cell如下圖所示,以“In[ ]”開頭表示這是一個程式碼單元。在程式碼單元裡,你可以輸入任何程式碼並執行。例如,鍵盤輸入1+2,然後按“Shift+Enter”,程式碼將被執行,並顯示結果。同時,切換到新的cell中。
在這裡插入圖片描述
綠色的輪廓線所在的cell,就是當前工作單元。接下來,在第二個cell中,敲擊下列程式碼:
在這裡插入圖片描述
跟之前一樣,程式碼被執行,結果也正確顯示處理。但到這次沒有Out[2],是因為列印了結果,卻沒有返回值。
notebook一個非常有趣的特性是:可以返回之前的cell,修改並重新執行,以此來更新整個文件。
例如,回到第一個cell中,將輸入1+2改成2+3,重新按“Shift+Enter”執行該單元,結果被立即更新成5。
在這裡插入圖片描述
當你想使用不同引數除錯方程又不想執行整個指令碼的時候,這條特性非常有用。然而,你也可以通過選單欄Cell->Run all來重新執行整個notebook。
現在我們已經知道了如何輸入程式碼,那為什麼不嘗試獲得一個更加優美,解釋性更強的notebook呢?這可以通過使用其他型別的cells來獲得,例如Header和Markdown單元。
首先,我們在notebook的頂部新增一個標題。
做法是,選擇第一個cell,點選Insert->Insert cell above,則在這個cell上面會新增一個新的單元。
在這裡插入圖片描述
但是這個新cell預設是code型別,我們可以通過cell type選單選擇Markdown替換之前的code型別,這樣就可以新增標題了。
在這裡插入圖片描述
在這裡插入圖片描述
這個cell以#開頭,表示一級標題。如果你想列子標題的話,參考下面的方法:
#First level title
##Second level title
###Third level title
標題寫在#後面,然後重新執行cell,你會發現該單元新增了標題
注意,需要執行的!按“Shift+Enter”執行該單元
在這裡插入圖片描述
最終結果:
在這裡插入圖片描述
可以將新建的notebook重新命名,點選File->Rename,然後輸入新的名稱即可。這樣更改後的名字就會出現在視窗的左上角,位於Jupyter圖示的右側。
在這裡插入圖片描述
在這裡插入圖片描述
單元操作
刪除一個cell,先選中cell,點選Edit->Delete cell
移動一個cell的位置,點選Edit-> Move cell [up | down]
剪下、貼上cell,點選Edit->Cut Cell then Edit -> Paste Cell …,選擇需要的貼上形式。
如果有許多cells,而你只想執行一次,或者你想一次性執行大量程式碼,你就可以合併多個cells,點選Edit->Merge cell [above|below]
Markdown單元高階用法
markdown單元型別,即便它的型別是markdown,它同時也支援HTML程式碼。你可以在你的cell中建立更高階的樣式,比如新增圖片等等。舉個例子來說,如果你想在notebook中新增Jupyter的圖示,尺寸為100x100,並且放置在cell左側,可以這樣編寫:

<img src="http://blog.jupyter.org/content/images/2015/02/jupyter-sq-text.png"
style="width:100px;height:100px;float:left">

在這裡插入圖片描述
除此之外,markdown還支援LaTex語法。你可以在markdown cell中按照LaTex語法規則寫下方程式,然後直接執行,就可以看到結果。例如執行下面方程式:

$$\int_0^{+\infty} x^2dx$$

執行後就得到了LaTex方程式:
在這裡插入圖片描述
匯出功能
notebook另一個強大的功能就是匯出功能。你可以把你的notebook(例如是個圖解程式碼課程)匯出為如下多種形式:
HTM、Markdown、ReST、PDF(Through LaTex)、Raw Python
如果匯出成PDF格式,你甚至可以不使用LaTex就建立了一個漂亮的文件。或者,你可以將你的notebook儲存為HTML格式,釋出到個人網站上。你還可以匯出成ReST格式,作為軟體庫的文件。
在jupyter notebook中,選擇File->Download as,直接選擇需要轉換的格式就可以了。需要注意的是,轉換為pdf格式之前,同樣要保證已經安裝了xelatex。
在這裡插入圖片描述
Matplotlib整合
Matplotlib是用來畫圖的Python庫。與Jupyter notebook結合使用時,效果更好。
為了在Jupyter notebook中使用matplotlib,你需要告訴Jupyter獲取所有matplotlib生成的圖形,並把它們全部嵌入到notebook中。為此,只需輸入以下命令:

%matplotlib inline

執行此部落格裡v_3.0程式碼:https://blog.csdn.net/qq_34243930/article/details/84557429#t6
在這裡插入圖片描述
在這裡插入圖片描述
非本地核心
Jupyter notebook非常容易從本地電腦上啟動,也允許多個人通過網路連線到同一個Jupyter例項。你是否注意到,在上一部分的教程中,啟動Jupyter時出現了下面這條語句:
IPython Notebook執行在:http://localhost:8888/
這條語句表示你的notebook是本地執行,可以在瀏覽器中輸入地址:http://localhost:8888/
開啟你的notebook。通過修改配置,可以讓notebook面向公開訪問。這樣,任何人如果知道這個notebook地址,就通過瀏覽器可以遠端訪問並修改notebook。

使用從始至終需要注意,不能關閉Jupyter Notebook視窗,否則會失去連線。
在這裡插入圖片描述

相關文章