要說近幾年科技圈什么最火熱,無疑就是人工智能,各大科技公司紛紛投入這個浪潮之中,很多從事的是毫不相關的行業的企業也投入到了人工智能的開發與應用中,也想在里面分得一勺半羹。
提及人工智能,就不得不說到和他息息相關的開發工具,python就是最接近AI的預言之一。總所周知,機器學習和深度學習是開發人工智能兩個非常重要的模塊,而 Python擁有keras、Numpy、matplotlib、sklearn、等大量的庫,像matplotlib、sklearn、pandas這些庫都是做數據分析、數據處理、數據建模和繪圖的庫,基本上機器學習中對數據的爬取(scrapy)、對數據的處理和分析(pandas)、對數據的繪圖(matplotlib)和對數據的建模(sklearn)在Python中全都能找到對應的庫來進行處理。
那么要想學人工智能,想學Python,那以下這些是必不可少的:
首先,你要學Python如何爬取數據,你要做數據分析、數據建模,起碼你要有數據,這些數據來源有多種方法,但是很多都來自網絡,這就是爬蟲。
爬蟲:爬蟲主要分為兩個部分,第一個是網頁界面的獲取,第二個是網頁界面的解析;爬蟲的原理是利用代碼模擬瀏覽器訪問網站,與瀏覽器不同的是,爬蟲獲取到的是網頁的源代碼,沒有了瀏覽器的翻譯效果。
舉個列子
源代碼:
import urllib2
repr = urllib2.urlopen("URL")
html = repr.read
import re
省略一行代碼
print url
python爬蟲的話很多模塊包提供給開發者直接抓取網頁,urllib,urllib2,requests(urllib3)等等
然后,有了數據就可以進行數據處理和分析了,這個時候,你需要用到數據處理的一些庫。
數據處理:Numpy、scipy、pandas、matplotlib,這些庫分別可以進行矩陣計算、科學計算、數據處理、繪圖等操作,有了這些庫,你就可以一步步開始把數據處理成你需要的格式。
接著,數據符合你的格式以后,你就需要利用這些數據進行建模了,這個時候你用到的庫也有很多。
建模:當你開發一款智能電話機器人時候,建模是必須要的,這直接影響到你電話機器人好不好用的問題,像nltk、keras、sklearn,這些庫主要是用于自然語言處理、深度學習和機器學習的,把這些用好了,你的模型就構建出來了,你的產品雛形也就構成了。
最后,如果你的項目是基于Python開發的線上系統,你還可以學一學Python的Web開發,這樣,你做的模型還能直接用在線上系統。
Web開發:django、flask、tornado,這些庫搞明白了,你Web開發也就搞定了。
為什么開發AI要先掌握python呢?因為python有其他預言不具備的優勢,首先一點就是,對初學非常友好,python非常適合閱讀,特別是英語必要好的同學,pythone更像是一種偽代碼。在學習python你甚至都不用去搞懂預言本身的意義。
基于他的開源屬性,導致你只需要做一點點小小的改動,Python就能夠被移植到許多的平臺上面。如果你是基于系統特性這一點出發,你可以無需修改就可以讓你寫的程序在平臺上面運行。
可擴展性和可嵌入性。如果你需要你的一段關鍵代碼運行得更快或者希望某些算法不公開,你可以把你的部分程序用C或C++編寫,然后在你的Python程序中使用它們。你可以把Python嵌入你的C/C++程序,從而向你的程序用戶提供腳本功能。
所以,如果你想要去學習AI但是不懂Python,就好比想學習英語但是不懂單詞是一樣的道理。有句話叫“人生苦短,我用Python”,之所以這么說是因為Python在實現各個功能的時候要遠比其他語言簡練的多 。