機(jī)器學(xué)習(xí)筆記(1)-入門

作者:郭小林 2017-03-26

目錄大綱

引子

環(huán)境搭建

helloworld

書籍

網(wǎng)絡(luò)資料

引子

昨天在家里看《今日頭條》的時(shí)候,意外的收到一條推送視頻《Google機(jī)器學(xué)習(xí)入門 第一講Hello World》,就點(diǎn)進(jìn)去看了看,發(fā)現(xiàn)原來還是可以入門的。 關(guān)于機(jī)器學(xué)習(xí),有四件事,我感覺冥冥之中讓我?guī)У綑C(jī)器學(xué)習(xí)的大門之中。

一是其實(shí)很早前就聽說過機(jī)器學(xué)習(xí),公司的策劃胡子很早前就開始研究機(jī)器學(xué)習(xí)了,不過據(jù)說機(jī)器學(xué)習(xí)里面大量的公式,然后我就一直沒敢看。雖然大學(xué)時(shí)候?qū)W過高數(shù)、線代和概率論,但是都十幾年過去了,一直在現(xiàn)實(shí)生活中很少使用,所以就基本已經(jīng)全部還給老師了。

第二個(gè)就是最近和一個(gè)10年在北京完美的清華畢業(yè)的一個(gè)碩士同事聊天,發(fā)現(xiàn)他現(xiàn)在也在搞DeepLearning相關(guān)的東西,而且據(jù)他說,他們公司的應(yīng)屆生都可以開到年薪60w了,我那個(gè)羨慕呀...
不過他現(xiàn)在每天的朋友圈都是在看各種paper,各種traing data...

第三件事就是各種新聞都在說各大學(xué)都在開設(shè)機(jī)器學(xué)習(xí)相關(guān)的課程,包括我的母校; 同時(shí)還有搜了下互聯(lián)網(wǎng)的一些高級(jí)職位,基本都是跟機(jī)器學(xué)習(xí)有點(diǎn)關(guān)系。

第四件事就是上周和師兄吃飯交流的時(shí)候,得知他們現(xiàn)在在做教育App, 里面也是各種機(jī)器學(xué)習(xí)和DeepLearning的牛人。

這一切都讓我覺得如果現(xiàn)在還不學(xué)習(xí),那我就要跟社會(huì)脫節(jié)了。正在時(shí)候,就收到了今日頭條的推送,而且看了google的helloworld視頻讓我覺得,雖然機(jī)器學(xué)習(xí)是個(gè)很復(fù)雜的學(xué)科,但是起碼還是可以利用做點(diǎn)簡(jiǎn)單的事情的。那些遺忘在角落的數(shù)學(xué)公式我也可以慢慢的撿起來的。

環(huán)境搭建

http://scikit-learn.org/stable/install.html 這個(gè)是scikit-learn的官網(wǎng),可以照著上面的來裝。

當(dāng)然最簡(jiǎn)單的是下載anaconda, 它會(huì)管理和安裝機(jī)器學(xué)習(xí)相關(guān)的所有東西,包括python和numpy,scipy這些庫(kù)。

當(dāng)然還需要安裝 pip, 有些庫(kù)是需要借助pip來安裝的 , 比如

wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py

pip install pydot  
pip install pydotplus (較新的python版本需要這個(gè)庫(kù),比如3.6, 用來生成pdf決策樹,后面的demo會(huì)使用)

這些都安裝好了后,重新打開終端,運(yùn)行以下命令

$ which python
/Users/XXX/anaconda/bin/python

$ python
Python 3.6.0 |Anaconda custom (x86_64)| (default, Dec 23 2016, 13:19:00) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 

這里的python是anaconda自己安裝的單獨(dú)的版本,和系統(tǒng)路徑的python路徑不同,
系統(tǒng)的python是 /usr/bin/python, 實(shí)際鏈接的是

$ ls -l /usr/bin/python2.7
lrwxr-xr-x  1 root  wheel    75B  9 24  2016 /usr/bin/python2.7 -> 
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7

強(qiáng)烈建議不要修改這些soft link,如果需要使用特定的自己安裝的版本,那么可以在 ~/.bashrc中做一個(gè)別名 python , 比如

vim ~/.bashrc
alias python="/usr/local/bin/python3.6"
source ~/.bashrc

除了這些,還需要一個(gè)graphviz的程序,這個(gè)可以通過port或者h(yuǎn)omebrew來安裝,

sudo port install graphviz

這個(gè)同時(shí)還會(huì)安裝和更新很多依賴軟件

這些都搞定了之后 就可以開始我們的第一個(gè)程序HelloWorld了

HelloWorld

Google Machine Learning -- HelloWorld視頻

$ cat hello.py 
from sklearn import tree

# features = [[140, "smooth"], [130, "smooth"], [150, "bumpy"], [170, "bumpy"]]
features = [[140, 1], [130, 1], [150, 0], [170, 0]]
# labels = ["apple", "apple", "orange", "orange"]
labels = [0, 0, 1, 1]

clf = tree.DecisionTreeClassifier()
clf = clf.fit(features, labels)

print( clf.predict([[150, 0]]) )
將上面的代碼保存在 hello.py文件中,然后運(yùn)行,
即可得到結(jié)果
$ python hello.py
[1]

target中 0, 1分別代表的是apple和orange,說明了我們的代碼是ok的

然后剩下的就可以繼續(xù)跟著視頻學(xué)了

或者直接在sk-learn的官網(wǎng)上根據(jù)入門教程一步一步的學(xué)習(xí)一些demo

http://scikit-learn.org/stable/tutorial/index.html

書籍

機(jī)器學(xué)習(xí)實(shí)戰(zhàn) 我是在kindle上買的這本的電子版的

機(jī)器學(xué)習(xí) - 弗拉赫(Peter Flach)

機(jī)器學(xué)習(xí) - 周志華版

圖解機(jī)器學(xué)習(xí)

另外的網(wǎng)上推薦的
機(jī)器學(xué)習(xí)書單

下面是deep learning的

Deep Learning的幾本書

網(wǎng)絡(luò)資料

github

機(jī)器學(xué)習(xí)實(shí)戰(zhàn) 中英文pdf code

Machine Learning、Deep Learning、PostgreSQL、Distributed System、Node.Js、Golang

常用機(jī)器學(xué)習(xí)算法的實(shí)踐筆記

機(jī)器學(xué)習(xí)資源大全中文版,包括機(jī)器學(xué)習(xí)領(lǐng)域的框架、庫(kù)以及軟件

https://github.com/bighunter513/machine-learning-python

其它

機(jī)器學(xué)習(xí)算法Top10

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容