日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

小白入门机器学习必备:编程语言环境介绍及搭建

發布時間:2025/3/15 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小白入门机器学习必备:编程语言环境介绍及搭建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


導讀:工欲善其事,必先利其器,機器學習也不例外。算法原理理解得再清楚,最終也需要通過編寫代碼來真正實現功能和解決問題。

本文將介紹當前機器學習主流的編程語言環境,當前機器學習使用最多的編程語言是Python,在業界口碑一直不錯的Python語言借著機器學習的東風一下躋身編程語言熱門榜的首位。

本文還將介紹Python語言下機器學習相關的支持庫,包括科學計算支持庫Numpy、機器學習庫Scikit-Learn和數據處理庫 Pandas。想要在實際工作中使用機器學習解決具體問題時,使用這些支持庫將大大提升效率。

作者:莫凡

來源:大數據DT(ID:hzdashuju)

01 常用環境

一般來說,算法理論的實踐方式有兩種,一種是自己動手將算法用代碼都實現一遍,另一種則是充分利用工具的便利性,快速了解掌握現有資源后,隨即開始著手解決現實問題。

對于要不要重復造輪子的爭論,我想是很難有決斷的,兩種方法各有利弊,這里我們選用第二種,這也貫徹了本文的宗旨:不是為了學習知識而制造知識,而是為了解決問題去學習知識。

機器學習經過這幾年的高速發展,已經積累了非常豐富的開放資源,通過充分利用這些資源,哪怕此前你對這個領域不了解,也能快速掌握并著手解決實際問題。

首先是編程語言,我們選擇Python。在前些年,Python和R語言在機器學習領域保持著雙雄并立的局面,大致可以認為工業界偏愛Python而學術界偏愛R,但隨著技術發展,特別是這幾年深度學習所需的支持庫毫無例外地都選擇了用Python實現之后,Python語言已經成為機器學習領域毫無疑問的“老大”。

由于機器學習的火熱,Python甚至擁有了與傳統編程語言C和Java一較高下的底氣,在多種編程語言排行榜上都大有后來居上的趨勢。那么Python,決定就是你了!

接下來是支持庫Numpy。機器學習涉及矩陣運算等大量數學運算,好在Python有兩大特點,一是靈活,二是庫多,Numpy就是Python中專門設計用于科學計算的專業支持庫,在業界有口皆碑。不只是機器學習,其他科學領域譬如天體物理涉及的數學運算,要么直接使用Numpy,要么基于Numpy構建更高層的功能庫。

最后是算法庫Scikit-Learn。基于Python的機器學習算法庫實際上有很多,每過一段時間就會冒出個“前五”“前十”這樣的排行,但穩坐榜首的一直是Scikit-Learn。

它不但種類齊備,市面上見得到的機器學習算法基本上都能在此找到對應的API,簡直是一家“機器學習算法超市”,而且封裝良好、結構清晰,你可以通過簡單幾行代碼就能完成一個復雜算法的調用,是機器學習領域入門的福音,更是進階的法寶。

另外再加上一個Pandas數據處理庫。它內置許多排序、統計之類的實用功能,屬于“沒它也不是不行,但有它會方便很多”的角色。業界實現機器學習,基本上都會用到Numpy、Scikit-Learn和Pandas這三件套。

02 Python簡介

Python是一種動態的高級編程語言,與C和Java需要編譯執行不同,Python代碼是通過解釋器解釋執行,一個明顯的區別是,Python的數據類型不用事先聲明,語法更為靈活多變,代碼看起來也更加簡潔,用C和Java需要十行代碼才能寫明白的意思,可能用Python寫一行就可以了。

高效快速是Python引以為傲的特點,Python社區甚至流傳一句口號:“Life is short, I use Python.

Python仍在不斷迭代,而且并不向前兼容,這也導致當前Python分裂成兩大版本分支,即Python 2.X和Python 3.X,雖然從語法上看還不至于成為兩款語言,但二者代碼是無法混用的,對于版本的選擇也是開始學習使用Python時所要確定的第一件事。

之前一般認為,Python 2.X的發展時間更長,各方面的支持庫更多且更成熟,不少人推薦從這個版本入手。但隨著Python團隊宣布將于2020年停止對Python 2.X的維護,各大社區都早已開始了從2.X向3.X遷移的工作,所以現在開始學Python的話更建議選擇3.X。Python官網見圖2-1。

▲圖2-1 Python官網首頁

1. Python的安裝

Python具有很強的泛用性,支持Windows、Linux/UNIX、Mac OS X等主流操作系統平臺,安裝也很簡單,可以通過

https://www.python.org/downloads

選擇你使用的操作系統平臺所對應的在線或離線安裝包并進行安裝。在安裝包下載頁面同時提供了多個版本的Python安裝包,如果初次接觸可能讓你覺得難以選擇。不過請放心,你也可以直接下載最新版本的Python安裝包。

▲圖2-2 Python下載頁面

Python是一款開源編程語言,你也可以選擇通過源代碼進行編譯安裝。

2. Python的基本用法?

Python是一款通用編程語言,語法滿足圖靈完備性,這里無法完全展開說明。

不過,如果你熟悉C或者Java語言,那么可以認為Python的語法就是它們的高度精簡版,除了上面提到的不用進行類型聲明外,Python還少了用來表示作用域的大括號以及語句結尾的分號,但同時,在Python中縮進不僅僅是代碼規范,而是語法層面的強制要求。

如果你有語言基礎,記住這些區別,應該就能很快熟練地使用Python。

這里僅對兩項常用的Python工具進行說明,即Python庫安裝工具Pip和Conda。豐富的第三方支持庫是Python功能強大的原因之一。在使用Python實現功能時,往往需要依賴第三方支持庫,這些第三方庫需要先安裝再使用。安裝方法是通過Pip或Conda工具,在命令行輸入命令:

pip?install?庫名

conda?庫名

進行聯網下載并自動安裝。

一般當你成功安裝Python后,就能在命令行中直接使用Pip命令了,而Conda則可能需要額外進行安裝才能夠使用。Conda的功能更為強大,但如果你并不了解Python及相關背景知識,推薦通過Pip工具來下載安裝第三方庫。

在庫的使用方面,Python也與其他編程語言一樣,需要先導入再使用,語法是:

import?庫名

import之后就能正常使用庫的資源了。如果庫名較長,還可以使用:

import?庫名?as?別名

設定別名之后,通過別名也能夠使用庫的資源。

要使用庫里的某個類,可以通過“庫名.類名”的方法調用。如果認為這樣寫麻煩,或者導致單行語句太長,可以在導入時使用:

from?庫名?import?類名

這樣就可以在代碼中直接使用類名了。

03 Numpy簡介

Numpy是Python語言的科學計算支持庫,提供了線性代數、傅里葉變換等非常有用的數學工具。Numpy是Python圈子里非常知名的基礎庫,即使你并不直接進行科學計算,但如圖像處理等相關功能庫,其底層實現仍需要數學工具進行支持,則需要首先安裝Numpy庫。Numpy官網見圖2-3。

▲圖2-3 Numpy官網首頁

1. Numpy的安裝

Numpy的安裝很簡單,使用Pip直接安裝即可。命令如下:

pip?install?-U?numpy

2. Numpy的基本用法

Numpy擁有強大的科學計算功能,也許剛一接觸容易眼花繚亂,不知從何入手。不過不必擔心,Array數據類型是Numpy的核心數據結構,與Python的List類型相似,但功能要強大得多。Numpy相關功能都是圍繞著Array類型建設的,可以作為你了解Numpy的一條中心線索。

使用Numpy包很簡單,只要用import導入即可。業界習慣在導入時使用“np”作為它的別名:

import?numpy?as?np

導入后就可以使用了,常用功能如下。

  • array

    數據創建

    創建Array類型數據

  • zeros

    數據創建

    創建值為0的Array類型數據

  • ones

    數據創建

    創建值為1的Array類型數據

  • eye

    數據創建

    創建單位矩陣

  • arange

    數據創建

    類似內置函數range,生成等差數值

  • linspace

    數據創建

    生成可指定是否包含終值的等差數值

  • random.rand

    數據創建

    隨機生成數值

  • T

    數據操作

    轉置操作

  • reshape

    數據操作

    不改變原數據的維度變換

  • resize

    數據操作

    修改原數據的維度變換

  • mean

    統計操作

    取均值

  • sum

    統計操作

    求和

  • max

    統計操作

    取最大值

  • min

    統計操作

    取最小值

  • var

    統計操作

    求方差

  • std

    統計操作

    求標準差

  • corrcoef

    統計操作

    計算相關系數

  • append

    數據操作

    新增

  • insert

    數據操作

    插入

  • delete

    數據操作

    刪除

  • concatenate

    數據操作

    按行(列)連接數據表

  • add

    數學運算

    標(向)量加法

  • subtract

    數學運算

    標(向)量減法

  • multiply

    數學運算

    標(向)量乘法

  • divide

    數學運算

    標(向)量除法

  • exp

    數學運算

    以e為底的指數運算

  • log

    數學運算

    以e為底的對數運算

  • dot

    數學運算

    點乘

04 Scikit-Learn簡介

正如機器學習中推薦使用Python語言,用Python語言使用機器學習算法時,推薦使用Scikit-Learn工具。

或者應該反過來,現在機器學習推薦使用Python,正是因為Python擁有Scikit-Learn這樣功能強大的支持包,它已經把底層的臟活、累活都默默完成了,讓使用者能夠將寶貴的注意力和精力集中在解決問題上,極大地提高了產出效率。Scikit-Learn官網見圖2-4。

▲圖2-4 Scikit-Learn官網首頁

1. Scikit-Learn的安裝

安裝Scikit-Learn可以有兩種方法。通過Pip安裝,命令如下:

pip?install?-U?scikit-learn

或通過 Conda安裝,命令如下:

conda?install?scikit-learn

2. Scikit-Learn的基本用法

Scikit-Learn庫包含了常見的機器學習算法,而且還在不斷更新,常見機器學習算法都可以在Scikit-Learn庫中找到,不妨將它當作機器學習算法的百科全書來使用。這里簡要介紹它的用法。

使用Scikit-Learn包很簡單,使用import導入即可,但須注意Scikit-Learn包的包名為sklearn:

import?sklearn

調用機器學習算法也非常簡單,Scikit-Learn庫已經將算法按模型分類,查找起來非常方便。如線性回歸算法可以從線性模型中找到,用法如下:

from?sklearn?import?linear_model model?=?linear_model.LinearRegression()

Logistic回歸算法也是依據線性模型,同樣也在其下:

from?sklearn.linear_model?import?LogisticRegression model?=linear_model.LogisticRegression()

類似的還有基于近鄰模型的KNN算法:

from?sklearn.neighbors?import?NearestNeighbors model?=NearestNeighbors()

生成模型后,一般使用fit方法給模型“喂”數據及進行訓練。完成訓練的模型可以使用predict方法進行預測。

Scikit-Learn庫對機器學習算法進行了高度封裝,使用過程非常簡單,只要根據格式填入數據即可,不涉及額外的數學運算操作,甚至可以說只要知道機器學習算法的名字和優劣,就能直接使用,非常便利。

05 Pandas簡介

Pandas是Python語言中知名的數據處理庫。數據是模型算法的燃料,也決定了算法能夠達到的上限。一般在學習中接觸的數據都十分規整,可以直接供模型使用。

但實際上,從生產環境中采集得到的“野生”數據則需要首先進行數據清洗工作,最常見的如填充丟失字段值。數據清洗工作一般使用Pandas來完成,特征工程也可通過Pandas完成。Pandas官網見圖2-5。

▲圖2-5 Pandas官網首頁

1. Pandas的安裝

安裝Pandas可以有兩種方法。通過Pip安裝,命令如下:

pip?install?-U?pandas

或通過 Conda安裝,命令如下:

conda?install?pandas

2. Pandas的基本用法

Pandas針對數據處理的常用功能而設計,具有從不同格式的文件中讀寫數據的功能,使用Pandas進行一些統計操作特別便利。與Numpy類似,Pandas也有兩個核心的數據類型,即Series和DataFrame。

  • Series:一維數據,可以認為是一個統計功能增強版的List類型。

  • DataFrame:多維數據,由多個Series組成,不妨認為是電子表格里的Sheet。

使用Pandas 包很簡單,只要import導入即可。業界習慣在導入時使用“pd”作為它的別名:

import?pandas?as?pd

導入后就可以使用了,其常用功能如下。

  • read_csv

    讀取數據

    從CSV格式文件中讀取數據

  • read_excel

    讀取數據

    從電子表格中讀取數據

  • read_json

    讀取數據

    從json格式的文件中讀取數據

  • read_clipboard

    讀取數據

    從剪切板讀取數據

  • to_csv

    寫入數據

    將數據寫入CSV格式文件

  • to_excel

    寫入數據

    將數據寫入電子表格

  • to_json

    寫入數據

    將數據寫入json格式文件

  • to_clipboard

    寫入數據

    將數據寫入剪切板

  • Series

    寫入數據

    創建Series類型數據

  • DataFrame

    寫入數據

    創建DataFrame類型數據

  • head

    信息查看

    從頭開始查看N位數據

  • tail

    信息查看

    從末尾開始查看N位數據

  • shape

    信息查看

    行列數信息

  • dropna

    數據操作

    刪除空值

  • fillna

    數據操作

    填充空值

  • sort_values

    數據操作

    正(逆)序排序

  • append

    數據操作

    橫向(按行)連接兩個數據表

  • concat

    數據操作

    縱向(按列)連接兩個數據表

  • value_counts

    統計操作

    值計數

  • describe

    統計操作

    總體概況信息

  • info

    統計操作

    數值類型統計

  • mean

    統計操作

    取均值

  • corr

    統計操作

    計算相關系數

  • count

    統計操作

    非空值計數

  • max

    統計操作

    取最大值

  • min

    統計操作

    取最小值

  • median

    統計操作

    計算中位數

  • std

    統計操作

    計算標準差

關于作者:莫凡,新技術深度愛好者,曾經從事信息安全前沿技術跟蹤研究和數據分析工作,在各類信息安全類技術期刊發表文章五十余篇,現轉為投身高端知識“白菜化”項目,希望能讓將更多聽起來高大上的名詞沾一沾“人間煙火”,成為日常生活中真正用得上的知識。

本文摘編自《機器學習算法的數學解析與Python實現》,經出版方授權發布。

延伸閱讀

《機器學習算法的數學解析與Python實現》

點擊上圖了解及購買

轉載請聯系微信:DoctorData

推薦語:從生活案例中理解算法,發現算法的樂趣,再把算法應用到機器學習中。零基礎掌握算法精髓,快速進入人工智能開發領域。

有話要說????

Q:?入門機器學習,你準備好了嗎?

歡迎留言與大家分享

猜你想看????

  • 新手學Python, 如何從"入門到入土"變為"從入門到快速上車"?

  • 機器學習入門必讀:6種簡單實用算法及學習曲線、思維導圖

  • 2020大風口!什么是圖神經網絡?有什么用?終于有人講明白了

  • 學AI哪家強?2019全球排行清華第1,北大第2

據統計,99%的大咖都完成了這個神操作

????

原來你也在看

總結

以上是生活随笔為你收集整理的小白入门机器学习必备:编程语言环境介绍及搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。