Python和機(jī)器學(xué)習(xí)(ML)是數(shù)據(jù)科學(xué)家最需要的兩個(gè)技能。Python是機(jī)器學(xué)習(xí)中最受歡迎的編程語(yǔ)言。原因之一是Python廣泛的軟件包可用性,這使ML更容易。如果您不熟悉機(jī)器學(xué)習(xí),請(qǐng)從初學(xué)者機(jī)器學(xué)習(xí):算法類(lèi)型概述開(kāi)始。機(jī)器學(xué)習(xí)具有不同的算法(類(lèi)型),這些算法專(zhuān)注于解決不同的問(wèn)題。借助ML的基礎(chǔ)知識(shí),您將更好地了解每個(gè)PythonML庫(kù),因?yàn)樗?jīng)常針對(duì)各種任務(wù)。現(xiàn)在我們準(zhǔn)備看一下機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)的前6個(gè)Python軟件包/庫(kù)。
一、NumPy
NumPy是Python中科學(xué)計(jì)算的基本軟件包。其他大多數(shù)用于機(jī)器學(xué)習(xí)的Python庫(kù)都是基于NumPy構(gòu)建的。沒(méi)有NumPy,您將無(wú)法使用Python進(jìn)行數(shù)據(jù)科學(xué)。
NumPy的一些功能包括:
?多維數(shù)組和矩陣創(chuàng)建。
?綜合數(shù)學(xué)函數(shù)。
?隨機(jī)數(shù)生成器。
?線(xiàn)性代數(shù)例程。
?離散傅立葉變換。
?快速向量化操作。
進(jìn)一步閱讀:PythonNumPy教程:數(shù)據(jù)科學(xué)實(shí)用基礎(chǔ)
這是關(guān)于PythonNumPy(數(shù)組)數(shù)據(jù)科學(xué)基礎(chǔ)的入門(mén)指南。通過(guò)示例學(xué)習(xí)該基本庫(kù)。
二、大熊貓
pandas是用于數(shù)據(jù)分析和處理的基礎(chǔ)庫(kù)。
如果您是數(shù)據(jù)科學(xué)的新手,您可能會(huì)想知道它與ML有什么關(guān)系?
在訓(xùn)練ML算法/模型之前,需要對(duì)數(shù)據(jù)進(jìn)行處理和清理。對(duì)于機(jī)器學(xué)習(xí)從業(yè)人員來(lái)說(shuō),此過(guò)程通常會(huì)花費(fèi)大部分時(shí)間。熊貓使結(jié)構(gòu)化數(shù)據(jù)集的這一過(guò)程變得更加容易。
熊貓?zhí)峁┝藦?qiáng)大的數(shù)據(jù)結(jié)構(gòu),例如DataFrames。我們可以使用它來(lái):
?在Python和各種來(lái)源(例如CSV文件和SQL數(shù)據(jù)庫(kù))之間導(dǎo)入或?qū)懭霐?shù)據(jù)。
?根據(jù)描述性統(tǒng)計(jì)數(shù)據(jù)分析數(shù)據(jù)。
?靈活地分組。
?操作和轉(zhuǎn)換數(shù)據(jù)集。
進(jìn)一步閱讀:學(xué)習(xí)數(shù)據(jù)科學(xué)的Python熊貓:快速教程
本完整的教程可幫助您獲得有關(guān)數(shù)據(jù)分析和操作的實(shí)踐經(jīng)驗(yàn)。了解有關(guān)Pythonpandas庫(kù)用于機(jī)器學(xué)習(xí)的基本功能/方法的更多信息。
三、海生
Seaborn是一個(gè)流行的Python庫(kù),用于進(jìn)行統(tǒng)計(jì)數(shù)據(jù)可視化。它基于matplotlib并與pandas數(shù)據(jù)結(jié)構(gòu)集成。
Seaborn對(duì)于探索和理解數(shù)據(jù)特別有用。seaborn提供的一些功能:
?可視化單變量和雙變量分布的選項(xiàng)。
?可視化數(shù)字和分類(lèi)變量的選項(xiàng)。
?線(xiàn)性回歸模型的自動(dòng)估計(jì)和繪圖。
?能夠構(gòu)建復(fù)雜的可視化效果,例如多圖網(wǎng)格。
深度閱讀:如何使用PythonSeaborn進(jìn)行探索性數(shù)據(jù)分析
通過(guò)使用直方圖,熱圖,散點(diǎn)圖,條形圖等示例數(shù)據(jù)集來(lái)探索seaborn的功能。
四、Scikit學(xué)習(xí)(Sklearn)
scikit-learn是用于機(jī)器學(xué)習(xí)的最受歡迎的Python庫(kù)之一,它支持有監(jiān)督和無(wú)監(jiān)督學(xué)習(xí)。它提供了用于擬合模型,預(yù)處理數(shù)據(jù),選擇和評(píng)估模型等的工具。它基于NumPy,SciPy和matplotlib庫(kù)構(gòu)建。
scikit-learn的一些主要功能包括:
?擬合機(jī)器學(xué)習(xí)算法和模型,例如分類(lèi),回歸,聚類(lèi)。
?轉(zhuǎn)換和預(yù)處理數(shù)據(jù)。
?支持機(jī)器學(xué)習(xí)管道集成。
?模型評(píng)估,例如交叉驗(yàn)證。
進(jìn)一步閱讀:
1.scikit-learn用戶(hù)指南
閱讀官方文檔以獲取有關(guān)功能的說(shuō)明。
2.機(jī)器學(xué)習(xí)中的線(xiàn)性回歸:實(shí)用Python教程
查看有關(guān)線(xiàn)性回歸的詳細(xì)教程,線(xiàn)性回歸是基礎(chǔ)監(jiān)督的預(yù)測(cè)算法。
3.如何使用Python分三步可視化決策樹(shù)
一個(gè)使用Scikit-Learn應(yīng)用決策樹(shù)算法的簡(jiǎn)單示例。
五、TensorFlow和Keras
TensorFlow是Google最早開(kāi)發(fā)和使用的端到端開(kāi)源機(jī)器學(xué)習(xí)平臺(tái)。它使初學(xué)者和專(zhuān)家都更容易創(chuàng)建ML模型。在構(gòu)建深度學(xué)習(xí)模型時(shí),這尤其普遍。深度學(xué)習(xí)在文本和圖像數(shù)據(jù)方面非常成功,而文本和圖像數(shù)據(jù)是機(jī)器學(xué)習(xí)的流行應(yīng)用。
Keras(tf.keras)是建設(shè)和培訓(xùn)深度學(xué)習(xí)模型對(duì)TensorFlow頂部的高級(jí)API。它使TensorFlow易于使用。Keras曾經(jīng)是一個(gè)獨(dú)立的框架,但現(xiàn)在在TensorFlow中受支持。它可以用于原型設(shè)計(jì),研究和生產(chǎn)。
TensorFlow的一些常用功能包括:
?深度學(xué)習(xí)(深度神經(jīng)網(wǎng)絡(luò))。
?圖像處理。
?文字分析。
?強(qiáng)化學(xué)習(xí)。
進(jìn)一步閱讀:
1.TensorFlow/Keras教程
檢查官方文檔以了解基礎(chǔ)知識(shí)。
2.如何使用深度學(xué)習(xí)進(jìn)行情感分析(LSTMKeras)
了解如何逐步構(gòu)建深度學(xué)習(xí)模型以對(duì)Yelp審查數(shù)據(jù)進(jìn)行分類(lèi)。
3.時(shí)間序列預(yù)測(cè)的3個(gè)步驟:使用TensorFlowKeras的LSTM
使用Python的機(jī)器學(xué)習(xí)時(shí)間序列分析示例。了解如何轉(zhuǎn)換數(shù)據(jù)集并使用TensorFlowKeras模型擬合LSTM。
4.使用Python進(jìn)行超參數(shù)調(diào)整:Keras分步指南
神經(jīng)網(wǎng)絡(luò)有許多超參數(shù),這使調(diào)整變得更加困難。這是使用Python中的KerasTensorFlow進(jìn)行超參數(shù)調(diào)整的實(shí)用指南。實(shí)施這種機(jī)器學(xué)習(xí)技術(shù)以提高模型的性能。
六、火炬
PyTorch是一個(gè)與TensorFlow競(jìng)爭(zhēng)開(kāi)發(fā)深度學(xué)習(xí)模型的框架。這個(gè)圖書(shū)館已經(jīng)發(fā)展壯大,現(xiàn)在在學(xué)術(shù)界比TensorFlow更為流行。
TensorFlow以前需要開(kāi)發(fā)人員創(chuàng)建和編譯靜態(tài)圖,然后才能看到數(shù)學(xué)運(yùn)算。PyTorch使用動(dòng)態(tài)圖,使用戶(hù)可以更快地發(fā)現(xiàn)錯(cuò)誤。在TensorFlow2.0發(fā)行時(shí),研究社區(qū)已經(jīng)牢牢抓住PyTorch的功能,并且功能相似。
但是,與TensorFlow相比,PyTorch仍未被廣泛認(rèn)為可用于生產(chǎn),后者具有更高的可擴(kuò)展性。
如今,兩個(gè)框架都提供了類(lèi)似的功能,PyTorch在學(xué)術(shù)界占有一席之地,而TensorFlow則在業(yè)界處于發(fā)展趨勢(shì)。
PyTorch的一些主要應(yīng)用程序包括:
?計(jì)算機(jī)視覺(jué)。
?自然語(yǔ)言處理(NLP)。
?強(qiáng)化學(xué)習(xí)。
進(jìn)一步閱讀:如何在Python中使用NLP:實(shí)用的分步示例
這是IndeedJob帖子中NLTK軟件包的一個(gè)應(yīng)用程序。
科學(xué)
SciPy是一組用于對(duì)NumPy數(shù)據(jù)進(jìn)行高級(jí)數(shù)學(xué)運(yùn)算的模塊。它是scikit-learn等高級(jí)庫(kù)的基礎(chǔ)軟件包。一些功能包括:
?傅立葉變換。
?優(yōu)化。
?信號(hào)處理。
?線(xiàn)性代數(shù)。
?概率和統(tǒng)計(jì)。
?圖像處理。
相關(guān)閱讀:SciPy教程
Matplotlib
Matplotlib是Python中全面的數(shù)據(jù)可視化庫(kù)。一些功能包括:
?創(chuàng)建交互式圖。
?提供情節(jié)的靈活定制。
它是支持seaborn的基礎(chǔ)庫(kù),它更易于使用。但是,當(dāng)我們想進(jìn)一步自定義繪圖時(shí),則需要matplotlib。
以上就是6個(gè)用于數(shù)據(jù)科學(xué)和ML的重要Python庫(kù)的全部?jī)?nèi)容,想了解更多關(guān)于數(shù)據(jù)科學(xué)的信息,請(qǐng)繼續(xù)關(guān)注中培偉業(yè)。