量化金融分析師(AQF)|談?wù)?a href="http://www.h8045.cn/aqf/">python與人工智能
本世紀(jì),人工智能掀起了世界的新一波科技浪潮,越來越多的個(gè)人,企業(yè),組織投身到了人工智能的開發(fā)與應(yīng)用中。
說到人工智能不得不提到與之相關(guān)的語言與工具,python就是其中最為熱門的語言之一。
現(xiàn)階段,常規(guī)的人工智能包含常用機(jī)器學(xué)習(xí)和深度學(xué)習(xí)兩個(gè)很重要的模塊,而Python擁有matplotlib、Numpy、sklearn、keras等大量的庫,像pandas、sklearn、matplotlib這些庫都是做數(shù)據(jù)處理、數(shù)據(jù)分析、數(shù)據(jù)建模和繪圖的庫,基本上機(jī)器學(xué)習(xí)中對(duì)數(shù)據(jù)的爬?。╯crapy)、對(duì)數(shù)據(jù)的處理和分析(pandas)、對(duì)數(shù)據(jù)的繪圖(matplotlib)和對(duì)數(shù)據(jù)的建模(sklearn)在Python中全都能找到對(duì)應(yīng)的庫來進(jìn)行處理。
python優(yōu)勢
對(duì)于初學(xué)者而言,python非常簡單,非常適合人類閱讀。閱讀一個(gè)良好的Python程序就感覺像是在讀英語一樣,盡管這個(gè)英語的要求非常嚴(yán)格!Python的這種偽代碼本質(zhì)是它最大的優(yōu)點(diǎn)之一。它使你能夠?qū)W⒂诮鉀Q問題而不是去搞明白語言本身。
Python是FLOSS(自由/開放源碼軟件)之一。簡單地說,你可以自由地發(fā)布這個(gè)軟件的拷貝、閱讀它的源代碼、對(duì)它做改動(dòng)、把它的一部分用于新的自由軟件中。Python希望看到一個(gè)更加優(yōu)秀的人創(chuàng)造并經(jīng)常改進(jìn)。
由于它的開源本質(zhì),Python已經(jīng)被移植在許多平臺(tái)上(經(jīng)過改動(dòng)使它能夠工作在不同平臺(tái)上)。如果你小心地避免使用依賴于系統(tǒng)的特性,那么你的所有Python程序無需修改就可以在下述任何平臺(tái)上面運(yùn)行。這些平臺(tái)包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、PalmOS、QNX、VMS、Psion、AcomRISCOS、VxWorks、PlayStation、SharpZaurus、WindowsCE甚至還有PocketPC、Symbian以及Google基于linux開發(fā)的Android平臺(tái)!
Python解釋器把源代碼轉(zhuǎn)換成稱為字節(jié)碼的中間形式,然后再把它翻譯成計(jì)算機(jī)使用的機(jī)器語言并運(yùn)行。事實(shí)上,由于你不再需要擔(dān)心如何編譯程序,如何確保連接轉(zhuǎn)載正確的庫等等,所有這一切使得使用Python更加簡單。由于你只需要把你的Python程序拷貝到另外一臺(tái)計(jì)算機(jī)上,它就可以工作了,這也使得你的Python程序更加易于移植。
Python既支持面向過程的函數(shù)編程也支持面向?qū)ο蟮某橄缶幊?。在面向過程的語言中,程序是由過程或僅僅是可重用代碼的函數(shù)構(gòu)建起來的。在面向?qū)ο蟮恼Z言中,程序是由數(shù)據(jù)和功能組合而成的對(duì)象構(gòu)建起來的。與其他主要的語言如C++和Java相比,Python以一種非常強(qiáng)大又簡單的方式實(shí)現(xiàn)面向?qū)ο缶幊獭?/p>
可擴(kuò)展性和可嵌入性。如果你需要你的一段關(guān)鍵代碼運(yùn)行得更快或者希望某些算法不公開,你可以把你的部分程序用C或C++編寫,然后在你的Python程序中使用它們。你可以把Python嵌入你的C/C++程序,從而向你的程序用戶提供腳本功能。
所以,要想學(xué)習(xí)AI而不懂Python,那就相當(dāng)于想學(xué)英語而不認(rèn)識(shí)單詞。
>>>點(diǎn)擊學(xué)習(xí)CFA+AQF量化金融雙證班課程
Python需求
那么要想學(xué)人工智能,想學(xué)Python,那以下這些是必不可少的:
首先,你要學(xué)Python如何爬取數(shù)據(jù),你要做數(shù)據(jù)分析、數(shù)據(jù)建模,起碼你要有數(shù)據(jù),這些數(shù)據(jù)來源有多種方法,但是很多都來自網(wǎng)絡(luò),這就是爬蟲。
爬蟲:
requests、scrapy、selenium、beautifulSoup,這些庫都是寫網(wǎng)絡(luò)爬蟲需要使用到的,好好掌握這些東西,數(shù)據(jù)就有了。
然后,有了數(shù)據(jù)就可以進(jìn)行數(shù)據(jù)處理和分析了,這個(gè)時(shí)候,你需要用到數(shù)據(jù)處理的一些庫。
數(shù)據(jù)處理:
Numpy、scipy、pandas、matplotlib,這些庫分別可以進(jìn)行矩陣計(jì)算、科學(xué)計(jì)算、數(shù)據(jù)處理、繪圖等操作,有了這些庫,你就可以一步步開始把數(shù)據(jù)處理成你需要的格式。
接著,數(shù)據(jù)符合你的格式以后,你就需要利用這些數(shù)據(jù)進(jìn)行建模了,這個(gè)時(shí)候你用到的庫也有很多。
建模:
nltk、keras、sklearn,這些庫主要是用于自然語言處理、深度學(xué)習(xí)和機(jī)器學(xué)習(xí)的,把這些用好了,你的模型就構(gòu)建出來了。
最后,如果你的項(xiàng)目是基于Python開發(fā)的線上系統(tǒng),你還可以學(xué)一學(xué)Python的Web開發(fā),這樣,你做的模型還能直接用在線上系統(tǒng)。
Web開發(fā):
django、flask、tornado,這些庫搞明白了,你Web開發(fā)也就搞定了。
有句話叫“人生苦短,我用Python”,之所以這么說是因?yàn)镻ython在實(shí)現(xiàn)各個(gè)功能的時(shí)候要遠(yuǎn)比其他語言簡練的多。
在真實(shí)的工作中,我們需要做的事情是把大量的精力集中在數(shù)據(jù)上、數(shù)據(jù)分析和理解上,而不是花費(fèi)30%-50%的時(shí)間去寫代碼,Python不光是提供了機(jī)器學(xué)習(xí)所需要的一切工具庫,還能讓你專注在數(shù)據(jù)處理和分析上。
.png)


.png)


