【機(jī)器學(xué)習(xí)實(shí)踐(1)】配置python編程環(huán)境
2013-8-14
機(jī)器學(xué)習(xí)實(shí)踐這一系列文章企锌,是作者參考一些有價(jià)值的機(jī)器學(xué)習(xí)實(shí)踐實(shí)例后的總結(jié)宅静。
和網(wǎng)上最多的機(jī)器學(xué)習(xí)文章的最大區(qū)別是:這一系列文章戚长,都立足于代碼實(shí)現(xiàn)和實(shí)際效果展現(xiàn)闪盔。
大部分文章會(huì)使用python實(shí)現(xiàn)算法雀瓢。歡迎轉(zhuǎn)載陡舅,轉(zhuǎn)載時(shí)請(qǐng)注明出處:轉(zhuǎn)自 “Miner帆的博客《數(shù)據(jù)火花》:http://blog.csdn.net/dataspark"
為什么選擇python圆存?
作為一種看似簡(jiǎn)潔卻內(nèi)涵豐富的語(yǔ)言叼旋,python本身在機(jī)器學(xué)習(xí)/數(shù)據(jù)挖掘方面并沒(méi)有什么優(yōu)勢(shì)。python雖然形式簡(jiǎn)單沦辙,但繁瑣的語(yǔ)法細(xì)節(jié)讓我覺(jué)得它的學(xué)習(xí)成本并不低夫植。
但scipy(http://www.scipy.org/)等強(qiáng)大的第三方庫(kù),讓python在機(jī)器學(xué)習(xí)方面得心應(yīng)手油讯。
坦白而言详民,我對(duì)python沒(méi)有什么特別的好感,甚至在相當(dāng)長(zhǎng)時(shí)間里陌兑,我排斥學(xué)習(xí)python(畢竟已經(jīng)用了10多年的C/C++沈跨,加上一些輕量級(jí)腳本語(yǔ)言,幾乎完全夠用了)兔综。但由于scipy系列庫(kù)饿凛,讓python成為我眼中最強(qiáng)大的(至少比R更強(qiáng)大)免費(fèi)科學(xué)計(jì)算工具。做數(shù)據(jù)挖掘調(diào)研時(shí)软驰,python幾乎是不二選擇涧窒。
但使用這些科學(xué)計(jì)算相關(guān)的庫(kù),可能會(huì)帶來(lái)一些不適:
1. 科學(xué)計(jì)算的編程風(fēng)格锭亏,可能會(huì)與純正的面向?qū)ο笙嚆>牢猓趯?shí)際使用中,為了利用強(qiáng)大的計(jì)算工具贰镣,我們可能會(huì)把一些數(shù)據(jù)結(jié)構(gòu)封裝得比較簡(jiǎn)陋呜象;
2. 增加了額外的學(xué)習(xí)成本,這些科學(xué)計(jì)算庫(kù)里大量的數(shù)據(jù)結(jié)構(gòu)和方法(相當(dāng)一部分方法還比較晦澀)碑隆,需要花更多時(shí)間去掌握恭陡。
盡管這樣,python的學(xué)習(xí)成本也不會(huì)比matlab高上煤,對(duì)于新的matlab工具箱休玩,你不還是需要額外的學(xué)習(xí)成本么?
為什么選擇python?
1. 因?yàn)閟cipy、numpy拴疤、matplot……這些永部,讓它在數(shù)據(jù)分析時(shí),非常強(qiáng)大呐矾;
2. python vs matlab: ptyhon免費(fèi)
3. python vs R: ?python是一門真正的計(jì)算機(jī)語(yǔ)言苔埋。R更適合統(tǒng)計(jì)學(xué)家玩, python更適合程序員用(比如字符串處理等基本操作蜒犯,還是交給真正的計(jì)算機(jī)語(yǔ)言處理吧)组橄。
此外,在版本上罚随,選擇了使用更廣泛的python2.x(目前是2.7.5)而不是3.x玉工。
選擇工作環(huán)境
在【機(jī)器學(xué)習(xí)實(shí)踐】系列文章中,我們都使用windows系統(tǒng)淘菩、eclipse編輯器(PyDEV插件)遵班、winpython集成環(huán)境。
我本身更傾向于linux環(huán)境下寫程序潮改,但由于在調(diào)研階段狭郑,需要有不少可視化分析,windows比linux更適合可視化汇在。
eclipse愿阐,因?yàn)樗耐ㄓ眯裕€因?yàn)樗赓M(fèi)趾疚。pydev插件使能自由地處理python編程。
感謝一些集成發(fā)布出來(lái)的工具以蕴,像winpython 糙麦,它集成 了scipy、numpy丛肮、matplot等我們需要的科學(xué)計(jì)算庫(kù)赡磅。這讓我們不必安裝python后,再一個(gè)一個(gè)地安裝需要的庫(kù)宝与,還可能會(huì)遇到庫(kù)的依賴和版本兼容問(wèn)題焚廊。
配置工作環(huán)境
1. 安裝winpython
winpython的官方網(wǎng)址:https://code.google.com/p/winpython/
考慮到國(guó)內(nèi)網(wǎng)速情況,我在百度盤放了個(gè)32bit的版本:http://pan.baidu.com/share/link?shareid=4012255606&uk=939810364
雙擊安裝习劫,不再冗述咆瘟。
假設(shè)安裝的位置為:D:\software\develop\WinPython-32bit-2.7.5.2
2. 安裝eclipse + pydev
安裝方法:
1).?到http://www.eclipse.org/下載eclipse最新版本的壓縮包,如果下載速度過(guò)慢诽里,你可以到我的網(wǎng)盤來(lái)獲忍徊汀:http://pan.baidu.com/share/link?shareid=1468424775&uk=939810364
2).?解壓eclipse壓縮包赏殃,即可使用;
3).?在http://marketplace.eclipse.org/?中搜索PyDev插件并蝗,點(diǎn)擊綠色的向下箭頭
或
3').?在?Eclipse?菜單欄中找到?Help欄盈罐,選擇?Help?>?eclipse?marketplace,?搜索PyDev闸天,在結(jié)果中點(diǎn)擊Install
當(dāng)有許可條款出現(xiàn)時(shí)暖呕,記得點(diǎn)“同意”。
3. 配置eclipse集成編譯環(huán)境
在裝好winpython和eclipse后苞氮。打開(kāi)eclipse湾揽,選擇file->new->project,在打開(kāi)的對(duì)話框中選擇PyDev Project笼吟,如下圖:
點(diǎn) ”next“進(jìn)入下一步設(shè)置:
點(diǎn)擊:Please configure an interpreter .... 這行字库物,配置解釋器。
點(diǎn)擊 ”New" ->"Browse" 找到剛才安裝的winpython的位置贷帮,選擇python.exe文件
然后戚揭,eclispe會(huì)自動(dòng)加載相同目錄下的python庫(kù)
點(diǎn)擊OK,等eclipse自動(dòng)設(shè)置撵枢。完成后民晒,我們的python環(huán)境就搭好了。