相信大家都知道 Python 和 人工智能有著密不可分的關(guān)系,Python 做人工智能有巨大優(yōu)勢。
為什么選擇Python?
在數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)領(lǐng)域最重要的兩大程序語言就是 Python 和 R,Python 簡潔易學(xué)、應(yīng)用范圍廣(不限于數(shù)據(jù)分析)且學(xué)習(xí)曲線平緩,適合作為第一個(gè)入門的程序語言,透過 pandas、SciPy/NumPy、sckikit-learn、matplotlib 和 statsmodels 可以進(jìn)行數(shù)據(jù)分析的工作,適合工程任務(wù)和需要和網(wǎng)絡(luò)應(yīng)用程序整合的項(xiàng)目。至于 R 由于是統(tǒng)計(jì)學(xué)家開發(fā)的程序語言,則是擅長于統(tǒng)計(jì)分析、圖表繪制,常用于學(xué)術(shù)研究領(lǐng)域,建議也要有一定程度的掌握。一般情況下 Python 和 R 并非互斥,而是互補(bǔ),許多數(shù)據(jù)工程師、科學(xué)家往往是在 Python 和 R 兩個(gè)語言中轉(zhuǎn)換,小量模型驗(yàn)證、統(tǒng)計(jì)分析和圖表繪制使用R,當(dāng)要撰寫算法和數(shù)據(jù)庫、網(wǎng)絡(luò)服務(wù)互動等情況時(shí)在移轉(zhuǎn)到 Python。為了降低學(xué)習(xí)成本。
此外 Python 本身是一種通用語言,除了數(shù)據(jù)科學(xué)外也可以廣泛使用在 網(wǎng)絡(luò)開發(fā)、網(wǎng)站建置、游戲開發(fā)、網(wǎng)絡(luò)爬蟲等領(lǐng)域,當(dāng)你需要整合系統(tǒng)產(chǎn)品服務(wù)時(shí),可以擔(dān)任一站式的開發(fā)語言,更重要的是 Python 也可以當(dāng)成 膠水語言非常輕易和 C/C++ 等效能較佳的語言整合。簡而言之,Python 是一種簡潔易學(xué)但功能強(qiáng)大,值得投資的程序語言,所以我們這邊先使用 Python 進(jìn)行介紹。
若對于 Python 和 R 比較,這邊有兩篇文章可以參考數(shù)據(jù)科學(xué)界華山論劍:R 與 Python 巔峰對決、Which is better for data analysis:R or Python?。
如何開始入門機(jī)器學(xué)習(xí)?
事實(shí)上,數(shù)據(jù)科學(xué)是個(gè)跨領(lǐng)域?qū)W門,在學(xué)習(xí)如何使用Python 進(jìn)行機(jī)器學(xué)習(xí)過程中通常必須掌握以下知識:
- 機(jī)器學(xué)習(xí)算法
- Python 程序語言和資料分析函式庫
- 線性代數(shù) / 統(tǒng)計(jì)學(xué)等相關(guān)學(xué)門
- 專業(yè)領(lǐng)域的領(lǐng)域知識( Domain Knowledge )
為了掌握以上三大領(lǐng)域知識(我們先把焦點(diǎn)放在機(jī)器學(xué)習(xí)核心技法,暫時(shí)忽略數(shù)據(jù)科學(xué)中對于領(lǐng)域知識的掌握),具體來說我們可以有以下步驟可以參考:
1. 掌握基礎(chǔ)Python 程序語言知識
- Codecademy
- DataCamp(也可以學(xué)R)
- Learn X in Y Minutes(X = Python)
- Learn Python theHard Way
2. 了解基礎(chǔ)數(shù)學(xué)/統(tǒng)計(jì)學(xué)和機(jī)器學(xué)習(xí)基礎(chǔ)知識
- 可汗學(xué)院線性代數(shù)
- Introto Deive Statistics
- Introto Inferential Statistics
- Andrew Ng 機(jī)器學(xué)習(xí)課程
- Andrew Ng 機(jī)器學(xué)習(xí)筆記
- CarnegieMellon University Machine Learning
- MachineLearning Foundations (機(jī)器學(xué)習(xí)基石)
3. 知道如何使用Python 科學(xué)計(jì)算函式庫和套件
推薦安裝Anaconda,支持跨平臺多種版本Python,默認(rèn)將數(shù)據(jù)分析、科學(xué)計(jì)算的套件裝好,自帶spyder 編輯器、JupyterNotebook(IPythonNotebook),可以提供一個(gè)網(wǎng)頁版接口,讓用戶可以透過瀏覽器進(jìn)行Julia、Python或R 程序的開發(fā)與維護(hù)。
- numpy:科學(xué)分析,ScipyLecture Notes 教學(xué)文件
- pandas:資料分析
- matplotlib:會制圖瞟
- scikit-learn:機(jī)器學(xué)習(xí)工具
4. 使用scikit-learn 學(xué)習(xí)Python 機(jī)器學(xué)習(xí)應(yīng)用
MachineLearning: Python 機(jī)器學(xué)習(xí):使用Pytho-n
5. 運(yùn)用Python 實(shí)作機(jī)器學(xué)習(xí)算法
- 感知器
- 判定樹
- 線性回歸
- k-means分群
6. 實(shí)作進(jìn)階機(jī)器學(xué)習(xí)算法
- SVM
- KNN
- RandomForests
- 降低維度
- 驗(yàn)證模型
7. 了解深度學(xué)習(xí)(DeepLearning)在Python 的實(shí)作和應(yīng)用
- NTU Applied DeepLearning
- Stanford DeepLearning
- 深度學(xué)習(xí)(Deep Learning)自學(xué)素材推薦
轉(zhuǎn)載自:https://www.php.cn/python-tutorials-459063.html
以上就是小編為大家?guī)淼?學(xué)python做人工智能 的全部內(nèi)容。