本教程的知識點(diǎn)為:機(jī)器學(xué)習(xí)(常用科學(xué)計算庫的使用)基礎(chǔ)定位 機(jī)器學(xué)習(xí)概述 機(jī)器學(xué)習(xí)概述 1.5 機(jī)器學(xué)習(xí)算法分類 1 監(jiān)督學(xué)習(xí) 機(jī)器學(xué)習(xí)概述 1.7 Azure機(jī)器學(xué)習(xí)模型搭建實(shí)驗(yàn) Azure平臺簡介 Matplotlib 3.2 基礎(chǔ)繪圖功能 — 以折線圖為例 1 完善原始折線圖 — 給圖形添加輔助功能 Matplotlib 3.3 常見圖形繪制 1 常見圖形種類及意義 Numpy 4.2 N維數(shù)組-ndarray 1 ndarray的屬性 Numpy 4.4 ndarray運(yùn)算 問題 Pandas 5.1Pandas介紹 1 Pandas介紹 Pandas 5.3 基本數(shù)據(jù)操作 1 索引操作 Pandas 5.6 文件讀取與存儲 1 CSV Pandas 5.8 高級處理-數(shù)據(jù)離散化 1 為什么要離散化 Pandas 5.12 案例 1 需求
移步這里全套資料代碼:
博客文章1: http://www.reibang.com/p/f82881b822e6
感興趣的小伙伴可以自取哦~
全套教程部分目錄:
部分文件圖片:
機(jī)器學(xué)習(xí)概述
學(xué)習(xí)目標(biāo)
- 了解人工智能發(fā)展歷程
- 了解機(jī)器學(xué)習(xí)定義以及應(yīng)用場景
- 知道機(jī)器學(xué)習(xí)算法監(jiān)督學(xué)習(xí)與無監(jiān)督學(xué)習(xí)的區(qū)別
- 知道監(jiān)督學(xué)習(xí)中的分類驱富、回歸特點(diǎn)
- 知道機(jī)器學(xué)習(xí)的開發(fā)流程
1.7 Azure機(jī)器學(xué)習(xí)模型搭建實(shí)驗(yàn)
學(xué)習(xí)目標(biāo)
-
目標(biāo)
- 了解Azure機(jī)器學(xué)習(xí)平臺,知道機(jī)器學(xué)習(xí)流程
Azure平臺簡介
Azure Machine Learning(簡稱“AML”)是微軟在其公有云Azure上推出的基于Web使用的一項機(jī)器學(xué)習(xí)服務(wù)尺栖,機(jī)器學(xué)習(xí)屬人工智能的一個分支甥绿,它技術(shù)借助算法讓電腦對大量流動數(shù)據(jù)集進(jìn)行識別减响。這種方式能夠通過歷史數(shù)據(jù)來預(yù)測未來事件和行為脚囊,其實(shí)現(xiàn)方式明顯優(yōu)于傳統(tǒng)的商業(yè)智能形式。
微軟的目標(biāo)是簡化使用機(jī)器學(xué)習(xí)的過程芦拿,以便于開發(fā)人員士飒、業(yè)務(wù)分析師和數(shù)據(jù)科學(xué)家進(jìn)行廣泛、便捷地應(yīng)用蔗崎。
這款服務(wù)的目的在于“將機(jī)器學(xué)習(xí)動力與云計算的簡單性相結(jié)合”酵幕。
AML目前在微軟的Global Azure云服務(wù)平臺提供服務(wù),用戶可以通過站點(diǎn):**[ 申請免費(fèi)試用缓苛。
-
Azure機(jī)器學(xué)習(xí)實(shí)驗(yàn)
- 實(shí)驗(yàn)?zāi)康模毫私鈾C(jī)器學(xué)習(xí)從數(shù)據(jù)到建模并最終評估預(yù)測的整個流程芳撒。
1.8 深度學(xué)習(xí)簡介
學(xué)習(xí)目標(biāo)
-
目標(biāo)
- 了解什么是深度學(xué)習(xí)
1 深度學(xué)習(xí) —— 神經(jīng)網(wǎng)絡(luò)簡介
深度學(xué)習(xí)(Deep Learning)(也稱為深度結(jié)構(gòu)學(xué)習(xí)【Deep Structured Learning】、層次學(xué)習(xí)【Hierarchical Learning】或者是深度機(jī)器學(xué)習(xí)【Deep Machine Learning】)是一類算法集合未桥,是機(jī)器學(xué)習(xí)的一個分支笔刹。
深度學(xué)習(xí)方法近年來,在會話識別冬耿、圖像識別和對象偵測等領(lǐng)域表現(xiàn)出了驚人的準(zhǔn)確性舌菜。
但是,“深度學(xué)習(xí)”這個詞語很古老亦镶,它在1986年由Dechter在機(jī)器學(xué)習(xí)領(lǐng)域提出日月,然后在2000年有Aizenberg等人引入到人工神經(jīng)網(wǎng)絡(luò)中。而現(xiàn)在缤骨,由于Alex Krizhevsky在2012年使用卷積網(wǎng)絡(luò)結(jié)構(gòu)贏得了ImageNet比賽之后受到大家的矚目爱咬。
卷積網(wǎng)絡(luò)之父:Yann LeCun
-
深度學(xué)習(xí)演示
- [鏈接:
2 深度學(xué)習(xí)各層負(fù)責(zé)內(nèi)容
神經(jīng)網(wǎng)絡(luò)各層負(fù)責(zé)內(nèi)容:
1層:負(fù)責(zé)識別顏色及簡單紋理
2層:一些神經(jīng)元可以識別更加細(xì)化的紋理,布紋绊起,刻紋精拟,葉紋等
3層:一些神經(jīng)元負(fù)責(zé)感受黑夜里的黃色燭光,高光勒庄,螢火串前,雞蛋黃色等。
4層:一些神經(jīng)元識別萌狗的臉实蔽,寵物形貌荡碾,圓柱體事物,七星瓢蟲等的存在局装。
5層:一些神經(jīng)元負(fù)責(zé)識別花坛吁,黑眼圈動物劳殖,鳥,鍵盤拨脉,原型屋頂?shù)取?/strong>
4 小結(jié)
- 深度學(xué)習(xí)的發(fā)展源頭--神經(jīng)網(wǎng)絡(luò)【了解】
- 多層神經(jīng)網(wǎng)絡(luò)哆姻,在最初幾層是識別簡單內(nèi)容,后面幾層是識別一些復(fù)雜內(nèi)容玫膀∶В【了解】
機(jī)器學(xué)習(xí)基礎(chǔ)環(huán)境安裝與使用
學(xué)習(xí)目標(biāo)
完成機(jī)器學(xué)習(xí)基礎(chǔ)階段的環(huán)境安裝
學(xué)會使用jupyter notebook平臺完成代碼編寫運(yùn)行
2.1 庫的安裝
學(xué)習(xí)目標(biāo)
-
目標(biāo)
- 搭建好機(jī)器學(xué)習(xí)基礎(chǔ)階段的環(huán)境
整個機(jī)器學(xué)習(xí)基礎(chǔ)階段會用到Matplotlib、Numpy帖旨、Pandas等庫箕昭,為了統(tǒng)一版本號在環(huán)境中使用,將所有的庫及其版本放到了文件requirements.txt當(dāng)中解阅,然后統(tǒng)一安裝
新建一個用于人工智能環(huán)境的虛擬環(huán)境
mkvirtualenv ai
matplotlib==2.2.2
numpy==1.14.2
pandas==0.20.3
tables==3.4.2
jupyter==1.0.0
注意:
- 每個包安裝的過程中落竹,盡量指定穩(wěn)定版本進(jìn)行安裝
使用pip命令安裝
pip3 install -r requirements.txt
小結(jié)
-
機(jī)器學(xué)習(xí)(科學(xué)計算庫)階段環(huán)境的搭建和基本庫的安裝
- 注意:最好安裝指定的穩(wěn)定版本
2.2 Jupyter Notebook使用
學(xué)習(xí)目標(biāo)
-
目標(biāo)
- 學(xué)會使用Jupyter Notebook
1 Jupyter Notebook介紹
Jupyter項目是一個非盈利的開源項目,源于2014年的ipython項目货抄,因?yàn)樗饾u發(fā)展為支持跨所有編程語言的交互式數(shù)據(jù)科學(xué)和科學(xué)計算
- Jupyter Notebook述召,原名IPython Notbook,是IPython的加強(qiáng)網(wǎng)頁版蟹地,一個開源Web應(yīng)用程序
- 名字源自Julia积暖、Python 和 R(數(shù)據(jù)科學(xué)的三種開源語言)
- 是一款程序員和科學(xué)工作者的編程/文檔/筆記/展示軟件
- .ipynb文件格式是用于計算型敘述的JSON文檔格式的正式規(guī)范
2 為什么使用Jupyter Notebook?
-
傳統(tǒng)軟件開發(fā):工程/目標(biāo)明確
- 需求分析,設(shè)計架構(gòu)锈津,開發(fā)模塊呀酸,測試
-
數(shù)據(jù)挖掘:藝術(shù)/目標(biāo)不明確
- 目的是具體的洞察目標(biāo),而不是機(jī)械的完成任務(wù)
- 通過執(zhí)行代碼來理解問題
- 迭代式地改進(jìn)代碼來改進(jìn)解決方法
實(shí)時運(yùn)行的代碼琼梆、敘事性的文本和可視化被整合在一起性誉,方便使用代碼和數(shù)據(jù)來講述故事
對比Jupyter Notebook和Pycharm
- 畫圖
- 數(shù)據(jù)展示
- 總結(jié):Jupyter Notebook 相比 Pycharm 在畫圖和數(shù)據(jù)展示方面更有優(yōu)勢。
3 Jupyter Notebook的使用-helloworld
3.1 界面啟動茎杂、創(chuàng)建文件
-
3.1.1 界面啟動
環(huán)境搭建好后错览,本機(jī)輸入jupyter notebook命令,會自動彈出瀏覽器窗口打開Jupyter Notebook
# 進(jìn)入虛擬環(huán)境
workon ai
# 輸入命令
jupyter notebook
本地notebook的默認(rèn)URL為:[
想讓notebook打開指定目錄煌往,只要進(jìn)入此目錄后執(zhí)行命令即可
-
3.1.2 新建notebook文檔
- notebook的文檔格式是
.ipynb
-
3.1.3 內(nèi)容界面操作-helloworld
標(biāo)題欄:點(diǎn)擊標(biāo)題(如Untitled)修改文檔名
編輯欄:
3.2 cell操作
-
什么是cell倾哺?
- cell:一對In Out會話被視作一個代碼單元,稱為cell
- cell行號前的 * 刽脖,表示代碼正在運(yùn)行
Jupyter支持兩種模式:
-
編輯模式(Enter)
- 命令模式下
回車Enter
或鼠標(biāo)雙擊
cell進(jìn)入編輯模式 - 可以操作cell內(nèi)文本或代碼羞海,剪切/復(fù)制/粘貼移動等操作
- 命令模式下
-
命令模式(Esc)
- 按
Esc
退出編輯,進(jìn)入命令模式 - 可以操作cell單元本身進(jìn)行剪切/復(fù)制/粘貼/移動等操作
- 按
3.2.1 鼠標(biāo)操作
3.2.2 快捷鍵操作
-
兩種模式通用快捷鍵
Shift+Enter
曲管,執(zhí)行本單元代碼却邓,并跳轉(zhuǎn)到下一單元Ctrl+Enter
,執(zhí)行本單元代碼院水,留在本單元
-
命令模式:按ESC進(jìn)入
Y
腊徙,cell切換到Code模式M
简十,cell切換到Markdown模式A
,在當(dāng)前cell的上面添加cellB
撬腾,在當(dāng)前cell的下面添加cell
-
其他(了解)
雙擊D
:刪除當(dāng)前cellZ
螟蝙,回退
-
編輯模式:按Enter進(jìn)入
補(bǔ)全代碼:變量、方法后跟
Tab鍵
為一行或多行代碼添加/取消注釋:
Ctrl+/
(Mac:CMD+/)
-
其他(了解):
- 多光標(biāo)操作:
Ctrl鍵點(diǎn)擊鼠標(biāo)
(Mac:CMD+點(diǎn)擊鼠標(biāo)) - 回退:
Ctrl+Z
(Mac:CMD+Z) - 重做:
Ctrl+Y
(Mac:CMD+Y)
- 多光標(biāo)操作:
3.3 markdown演示
掌握標(biāo)題和縮進(jìn)即可
一級標(biāo)題
二級標(biāo)題
三級標(biāo)題
四級標(biāo)題
五級標(biāo)題
-
縮進(jìn)
-
二級縮進(jìn)
- 三級縮進(jìn)
-
4 Jupyter Notebook中自動補(bǔ)全代碼等相關(guān)功能拓展【了解】
效果展示:
4.1 安裝jupyter_contrib_nbextensions庫
安裝該庫的命令如下:
python -m pip install jupyter_contrib_nbextensions
然后執(zhí)行:
jupyter contrib nbextension install --user --skip-running-check
在原來的基礎(chǔ)上勾選: “Table of Contents” 以及 “Hinterland”
部分功能:
5 小結(jié)
-
是什么
- 是一個ipython的web加強(qiáng)版
-
為什么要使用jupyter
- 用于數(shù)據(jù)探索過程
-
怎么用
- 1.通過jupyter notebook 就可以使用
- 2.保存文件是.ipynb
- 3.每個內(nèi)容,都對應(yīng)的是一個cell
-
快捷鍵
- Shift+Enter民傻,執(zhí)行本單元代碼胰默,并跳轉(zhuǎn)到下一單元
- Ctrl+Enter,執(zhí)行本單元代碼饰潜,留在本單元
Matplotlib
學(xué)習(xí)目標(biāo)
- 應(yīng)用Matplotlib的基本功能實(shí)現(xiàn)圖形顯示
- 應(yīng)用Matplotlib實(shí)現(xiàn)多圖顯示
- 應(yīng)用Matplotlib實(shí)現(xiàn)不同畫圖種類
3.1 Matplotlib之HelloWorld
學(xué)習(xí)目標(biāo)
-
目標(biāo)
- 了解什么是matplotlib
- 為什么要學(xué)習(xí)matplotlib
- matplotlib簡單圖形的繪制
1 什么是Matplotlib
是專門用于開發(fā)2D圖表(包括3D圖表)
以漸進(jìn)初坠、交互式方式實(shí)現(xiàn)數(shù)據(jù)可視化
2 為什么要學(xué)習(xí)Matplotlib
可視化是在整個數(shù)據(jù)挖掘的關(guān)鍵輔助工具,可以清晰的理解數(shù)據(jù)彭雾,從而調(diào)整我們的分析方法。
- 能將數(shù)據(jù)進(jìn)行可視化,更直觀的呈現(xiàn)
- 使數(shù)據(jù)更加客觀锁保、更具說服力
例如下面兩個圖為數(shù)字展示和圖形展示:
3 實(shí)現(xiàn)一個簡單的Matplotlib畫圖 — 以折線圖為例
3.1 matplotlib.pyplot模塊
matplotlib.pytplot包含了一系列類似于matlab的畫圖函數(shù)薯酝。
import matplotlib.pyplot as plt
3.2 圖形繪制流程:
1.創(chuàng)建畫布 -- plt.figure()
plt.figure(figsize=(), dpi=)
figsize:指定圖的長寬
dpi:圖像的清晰度
返回fig對象
* 2.繪制圖像 -- plt.plot(x, y)
* ```python
以折線圖為例
- 3.顯示圖像 -- plt.show()
3.3 折線圖繪制與顯示
舉例:展現(xiàn)上海一周的天氣,比如從星期一到星期日的天氣溫度如下
import matplotlib.pyplot as plt
# 1.創(chuàng)建畫布
plt.figure(figsize=(10, 10), dpi=100)
# 2.繪制折線圖
plt.plot([1, 2, 3, 4, 5, 6 ,7], [17,17,18,15,11,11,13])
# 3.顯示圖像
plt.show()
4 認(rèn)識Matplotlib圖像結(jié)構(gòu)(了解)
5 小結(jié)
-
什么是matplotlib【了解】
- 是專門用于開發(fā)2D(3D)圖表的包
-
繪制圖像流程【掌握】
- 1.創(chuàng)建畫布 -- plt.figure(figsize=(20,8))
- 2.繪制圖像 -- plt.plot(x, y)
- 3.顯示圖像 -- plt.show()