![機(jī)器學(xué)習(xí)簡明教程-基于Python語言實(shí)現(xiàn) 課件 第1章概述_第1頁](http://file4.renrendoc.com/view8/M00/3E/0F/wKhkGWciuA6AZtuYAAEnPatXx_Y318.jpg)
![機(jī)器學(xué)習(xí)簡明教程-基于Python語言實(shí)現(xiàn) 課件 第1章概述_第2頁](http://file4.renrendoc.com/view8/M00/3E/0F/wKhkGWciuA6AZtuYAAEnPatXx_Y3182.jpg)
![機(jī)器學(xué)習(xí)簡明教程-基于Python語言實(shí)現(xiàn) 課件 第1章概述_第3頁](http://file4.renrendoc.com/view8/M00/3E/0F/wKhkGWciuA6AZtuYAAEnPatXx_Y3183.jpg)
![機(jī)器學(xué)習(xí)簡明教程-基于Python語言實(shí)現(xiàn) 課件 第1章概述_第4頁](http://file4.renrendoc.com/view8/M00/3E/0F/wKhkGWciuA6AZtuYAAEnPatXx_Y3184.jpg)
![機(jī)器學(xué)習(xí)簡明教程-基于Python語言實(shí)現(xiàn) 課件 第1章概述_第5頁](http://file4.renrendoc.com/view8/M00/3E/0F/wKhkGWciuA6AZtuYAAEnPatXx_Y3185.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
概述《機(jī)器學(xué)習(xí)簡明教程》高延增侯躍恩羅志堅(jiān)機(jī)械工業(yè)出版社01目錄/Contents1.11.2理解機(jī)器學(xué)習(xí)一些相關(guān)概念1.3機(jī)器學(xué)習(xí)的發(fā)展1.4開發(fā)環(huán)境準(zhǔn)備1.1理解機(jī)器學(xué)習(xí)——一個例子網(wǎng)站怎樣在海量的電影庫中找出少數(shù)幾部你可能喜歡的電影呢?這背后的推薦邏輯是什么?1.1理解機(jī)器學(xué)習(xí)——一個例子預(yù)先對影片庫里的電影進(jìn)行處理,給它們設(shè)計(jì)一些特征,能夠用這些特征來描述電影;對網(wǎng)站的用戶進(jìn)行數(shù)據(jù)標(biāo)注;記錄歷史數(shù)據(jù),包括所有電影被觀看情況、所有用戶觀看電影的情況等。收集、記錄數(shù)據(jù)只是第一步,還需要大量的數(shù)據(jù)處理工作,才能更好利用這些數(shù)據(jù)中蘊(yùn)藏的大量信息。機(jī)器學(xué)習(xí)并不是預(yù)先定義好的固定代碼,而是從歷史數(shù)據(jù)中推導(dǎo)出來的。1.1理解機(jī)器學(xué)習(xí)——計(jì)算電影相似性的方法示例如何衡量電影、用戶的相似性?問題簡化,假設(shè)每部電影只有兩個特征(評分、時長)分別作為橫、縱坐標(biāo),那每一部電影都可以對應(yīng)到二維直角坐標(biāo)系上的一個點(diǎn)。1.1理解機(jī)器學(xué)習(xí)——One-hot編碼示意電影名是否國產(chǎn)是否歐美是否動畫是否喜劇大鬧天宮1010阿甘正傳0101我不是藥神1001數(shù)機(jī)器學(xué)習(xí)算法能夠處理的特征都是數(shù)值型的,這就需要將非數(shù)值型特征轉(zhuǎn)換為數(shù)值型特征,這種信息形式的轉(zhuǎn)換過程又叫編碼(encoding)。較常用的編碼方式是One-hot編碼(獨(dú)熱編碼),One-hot編碼又稱一位有效編碼,其方法是使用N位狀態(tài)寄存器來對N個狀態(tài)進(jìn)行編碼,One-Hot編碼是使用二進(jìn)制來表示非數(shù)值特征的取值。1.1理解機(jī)器學(xué)習(xí)——機(jī)器學(xué)習(xí)解決問題的流程目錄/Contents1.11.2理解機(jī)器學(xué)習(xí)一些相關(guān)概念1.3機(jī)器學(xué)習(xí)的發(fā)展1.4開發(fā)環(huán)境準(zhǔn)備1.2相關(guān)概念——基礎(chǔ)術(shù)語模型:它是機(jī)器學(xué)習(xí)中的核心概念。你可以把它看做一種映射關(guān)系(和函數(shù)類似),我們給模型一些輸入(特征)模型會將這些特征映射成結(jié)果。比如一個圖像分類模型,我們給它一張圖片,它能夠?qū)D片分類。擬合:假設(shè)平面坐標(biāo)系中有一系列散落的點(diǎn),擬合就是指用一條光滑的曲線來表征這些點(diǎn)的規(guī)律曲線擬合示意1.2相關(guān)概念——基礎(chǔ)術(shù)語特征(屬性)反映事件或?qū)ο笤谀撤矫娴谋憩F(xiàn)或性質(zhì)的事項(xiàng),數(shù)據(jù)所有能輸入到計(jì)算機(jī)并被計(jì)算機(jī)程序處理的符號介質(zhì)的總稱。數(shù)據(jù)集機(jī)器學(xué)習(xí)流程中所需要的所有數(shù)據(jù)的集合。訓(xùn)練集用于生成預(yù)測模型。模型生成之后,再用測試集評估模型的預(yù)測準(zhǔn)確度。測試集用于對訓(xùn)練集中的最終模型擬合進(jìn)行無偏評估。樣本是觀測或調(diào)查的一部分個體,總體是研究對象的全部。總體中抽取的所要考查的元素總稱,樣本中個體的多少叫樣本容量。預(yù)測是基于以前收集的數(shù)據(jù)來預(yù)測未來的結(jié)果。整個預(yù)測流程可分為訓(xùn)練和預(yù)測兩個階段,訓(xùn)練階段從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)一個模型,預(yù)測階段使用模型預(yù)測未知或未來的結(jié)果。分類一個有監(jiān)督的學(xué)習(xí)過程,即訓(xùn)練數(shù)據(jù)庫中數(shù)據(jù)的類別是已知的,由此得到一個分類器。聚類按照某個特定標(biāo)準(zhǔn)(如距離)把一個數(shù)據(jù)集分割成不同的類或簇,使得同一個簇內(nèi)的數(shù)據(jù)對象的相似性盡可能大,同時不在同一個簇中的數(shù)據(jù)對象的差異性也盡可能地大。也即聚類后同一類的數(shù)據(jù)盡可能聚集到一起,不同類數(shù)據(jù)盡量分離。聚類是一種無監(jiān)督學(xué)習(xí)算法。分類器實(shí)現(xiàn)分類的算法?;貧w指的是從一組數(shù)據(jù)出發(fā),確定某些變量之間的定量關(guān)系式,即建立數(shù)學(xué)模型并估計(jì)未知參數(shù)?;貧w和分類都可以看成一種預(yù)測手段,如果預(yù)測離散的值可以使用分類、如果預(yù)測連續(xù)的值可以使用回歸。1.2相關(guān)概念——一些常用算法1.2相關(guān)概念——一些常用算法傳統(tǒng)機(jī)器學(xué)習(xí)算法中,最基礎(chǔ)、最具代表性的就是回歸算法(詳見第3章)。決策樹(詳見第5章)作為一種簡單、易理解的算法常被用于分類問題中。KNN(K近鄰,KNearestNeighbors)是一種基于距離度量的算法(詳見第4章)。SVM(支持向量機(jī),SupportVectorMachines)是一種分類器,它使用升維的方法將低維度上非線性可分的問題變得線性可分,同時又巧妙地利用核技巧使得維度增加也不需要太大的運(yùn)算量(詳見第7章)。還可以將多種弱學(xué)習(xí)器集成使用,通過一定的規(guī)則揉和多個弱學(xué)習(xí)器結(jié)果得到一個結(jié)果,從而達(dá)到媲美強(qiáng)學(xué)習(xí)器的算法效果(祥見第6章)。1.2相關(guān)概念——一些常用算法強(qiáng)化學(xué)習(xí)示意伴隨著數(shù)據(jù)大爆炸,以深度學(xué)習(xí)(詳見第9章)、遷移學(xué)習(xí)、強(qiáng)化學(xué)習(xí)為代表的機(jī)器學(xué)習(xí)算法大放異彩。深度學(xué)習(xí)基于深度神經(jīng)網(wǎng)絡(luò),以卷積網(wǎng)絡(luò)、循環(huán)網(wǎng)絡(luò)、殘差網(wǎng)絡(luò)結(jié)合自注意力機(jī)制等,在海量訓(xùn)練集加持下在語音、圖像等任務(wù)領(lǐng)域甚至可以超過人類的水平。遷移學(xué)習(xí)利用數(shù)據(jù)、任務(wù)或模型之間的相似性,將在舊領(lǐng)域?qū)W習(xí)過的模型和知識應(yīng)用與新的領(lǐng)域,這樣可以提升模型的訓(xùn)練效率,并且還可以在小樣本場景下取得較好的效果。強(qiáng)化學(xué)習(xí)主要由智能體(Agent)、環(huán)境(Environment)、狀態(tài)(State)、動作(Action)、獎勵(Reward)組成,如圖17。智能體執(zhí)行了某個動作后,環(huán)境將會轉(zhuǎn)換到一個新的狀態(tài),對于該新的狀態(tài)環(huán)境會給出獎勵信號(正獎勵或者負(fù)獎勵);智能體再根據(jù)反饋的獎勵,按照一定的策略執(zhí)行新的動作。上述過程為智能體和環(huán)境通過狀態(tài)、動作、獎勵進(jìn)行交互的方式。智能體通過強(qiáng)化學(xué)習(xí),可以知道自己在什么狀態(tài)下,應(yīng)該采取什么樣的動作使得自身獲得最大獎勵。由于智能體與環(huán)境的交互方式與人類與環(huán)境的交互方式類似,可以認(rèn)為強(qiáng)化學(xué)習(xí)是一套通用的學(xué)習(xí)框架,可用來解決通用人工智能的問題。因此強(qiáng)化學(xué)習(xí)也被稱為通用人工智能的機(jī)器學(xué)習(xí)方法。1.2相關(guān)概念——算法效果
預(yù)測分類為0預(yù)測分類為1真實(shí)分類為0TNFP真實(shí)分類為1FNTP混淆矩陣精確率和召回率都是二分類算法的評價(jià)指標(biāo),二分類的分類結(jié)果只有兩種可能,分別以0和1表示。使用算法對而分類問題進(jìn)行分類預(yù)測的時候存在幾種可能:實(shí)際為0的分類,可能被正確預(yù)測為0(個數(shù)為TN)也可能被錯誤預(yù)測為1(個數(shù)為FP);實(shí)際為1的分類,可能被正確預(yù)測為1(個數(shù)為TP)也可能被錯誤預(yù)測為0(個數(shù)為FN)。1.2相關(guān)概念——算法效果精準(zhǔn)率指預(yù)測分類為1的那些數(shù)據(jù)里預(yù)測正確的比例,即TP/(TP+FP)。比如我們有一個分類器可以預(yù)測一張腫瘤圖片是否為惡性腫瘤,如果100張圖片里面我們預(yù)測有10張為惡性腫瘤,而其中有2張是錯誤的預(yù)測,那精準(zhǔn)率就是0.8。召回率指真實(shí)分類為1的那些數(shù)據(jù)里預(yù)測正確的比例,即TP/(TP+FN)。還是上一段中的例子,假設(shè)100張圖片里真正是惡性腫瘤的是8張,而這8張惡性腫瘤的圖片都被正確的預(yù)測出來了,那么召回率就是1。準(zhǔn)確率:準(zhǔn)確率是指所有的預(yù)測正確的樣本數(shù)占總樣本數(shù)的比例,即(TN+TP)/(TN+FN+TP+FP)。ROC曲線全稱ReceiverOperatingCharacteristiccurve,翻譯成中文是“受試者工作特征曲線”,簡稱ROC曲線。ROC曲線是二維平面上的曲線,橫坐標(biāo)是誤報(bào)率(FalsePositiveRate,F(xiàn)PR),縱坐標(biāo)是精準(zhǔn)率(TruePositiveRate,TPR)。其中,F(xiàn)PR是FP/(FP+TN),也就是真實(shí)分類為0的樣本中被錯誤預(yù)測為1分類的比例。ROC曲線是怎么來的呢?對于一個分類器,我們通過調(diào)整它的參數(shù)可以得到多組(FPR,TPR),將這些(FPR,TPR)分別為橫坐標(biāo)值、縱坐標(biāo)得到一些點(diǎn),將這些點(diǎn)連起來就可以得到一條曲線。ROC曲線能夠幫助我們較好對分類器進(jìn)行調(diào)優(yōu)。目錄/Contents1.11.2理解機(jī)器學(xué)習(xí)一些相關(guān)概念1.3機(jī)器學(xué)習(xí)的發(fā)展1.4開發(fā)環(huán)境準(zhǔn)備1.3機(jī)器學(xué)習(xí)的發(fā)展階段年份主要成果代表人物人工智能起源1936自動機(jī)模型理論阿蘭?圖靈(AlanTuring)1943MP模型沃倫?麥卡洛克(WarrenMcCulloch)、沃特?皮茨(Walter
Pitts)1951符號演算馮?諾依曼(JohnvonNeumann)1950邏輯主義克勞德?香農(nóng)(Claude
Shannon)1956人工智能約翰?麥卡錫(JohnMcCarthy)、馬文?明斯基(MarvinMinsky
)、克勞德?香農(nóng)(ClaudeShannon)人工智能初期1958LISP約翰?麥卡錫(JohnMcCarthy)1962感知器收斂理論弗蘭克?羅森布拉特(FrankRosenblatt)1972通用問題求解(GPS)艾倫?紐厄爾(AllenNewell)、赫伯特?西蒙(Herbert
Simon)1975框架知識表示馬文?明斯基(MarvinMinsky)進(jìn)化計(jì)算1965進(jìn)化策略英格?雷森博格(Ingo
Rechenberg
)1975遺傳算法約翰?亨利?霍蘭德(JohnHenryHolland)1992基因計(jì)算約翰?柯扎(JohnKoza)專家系統(tǒng)和知識工程1965模糊邏輯、模糊集拉特飛?扎德(LotfiZadeh)1969DENDRA、MYCIN費(fèi)根鮑姆(Feigenbaum
)、布坎南(Buchanan
)、萊德伯格(Lederberg)1979ROSPECTOR杜達(dá)(Duda)神經(jīng)網(wǎng)絡(luò)1982自組織網(wǎng)絡(luò)圖沃?科霍寧(Teuvo
Kohonen)1986BP算法魯姆哈特(Rumelhart)、麥克利蘭(McClelland)1989卷積神經(jīng)網(wǎng)絡(luò)樂康(LeCun)1998LeNet樂康(LeCun)1997循環(huán)神經(jīng)網(wǎng)絡(luò)RNN塞普?霍普里特(SeppHochreiter)、尤爾根?施密德胡伯(JurgenSchmidhuber)分類算法1986決策樹ID3算法羅斯?昆蘭(RossQuinlan)1988Boosting
算法弗羅因德(Freund)、米迦勒?卡恩斯(MichaelKearns)1993C4.5算法羅斯?昆蘭(RossQuinlan)1995AdaBoost
算法弗羅因德(Freund)、羅伯特?夏普(Robert
Schapire)1995支持向量機(jī)科林納?科爾特斯(CorinnaCortes)、萬普尼克(Vapnik)2001隨機(jī)森林里奧?布雷曼(LeoBreiman)、阿黛勒?卡特勒(Adele
Cutler
)深度學(xué)習(xí)2006深度信念網(wǎng)絡(luò)杰弗里?希爾頓(Geoffrey
Hinton)2012谷歌大腦吳恩達(dá)(Andrew
Ng)2014生成對抗網(wǎng)絡(luò)GAN伊恩?古德費(fèi)洛(IanGoodfellow)目錄/Contents1.11.2理解機(jī)器學(xué)習(xí)一些相關(guān)概念1.3機(jī)器學(xué)習(xí)的發(fā)展1.4開發(fā)環(huán)境準(zhǔn)備1.4開發(fā)環(huán)境準(zhǔn)備——Python語言開發(fā)環(huán)境由于針對各種平臺的Python解釋器的存在,一份Python代碼可以幾乎不需要修改就能運(yùn)行在不同的平臺上。1.4開發(fā)環(huán)境準(zhǔn)備——下載Anaconda經(jīng)過合理配置后,常見的Windows、基于Linux的系統(tǒng)(如Ubuntu、CentOS等)、MacOS都可以用于Python語言開發(fā)。常規(guī)方法配置Python環(huán)境對于初學(xué)者來說較繁瑣,但是Anaconda的出現(xiàn)使得這件事變得簡單。初學(xué)者可以直接安裝Anaconda個人版,它是一個免費(fèi)、易于安裝的包管理器、環(huán)境管理器和Python發(fā)行版,包含1500多個開源包(Python包的概念將在2.4節(jié)介紹),Anaconda與平臺無關(guān),在Windows、macOS、Linux上都可使用。1.4開發(fā)環(huán)境準(zhǔn)備——安裝Anaconda對于Windows操作系統(tǒng),直接下載exe的可執(zhí)行文件安裝即可。以Windows11為例,安裝完成后會在開始菜單中自動新建一個Anaconda3的應(yīng)用集合,包括AnacondaNavigator(工具導(dǎo)航,如圖110)、AnacondaPowerPrompt(命令行)等。1.4開發(fā)環(huán)境準(zhǔn)備——為Conda添加國內(nèi)的鏡像源Conda是Python包和環(huán)境管理工具,而Anaconda中集成的Conda默認(rèn)從官網(wǎng)下載各種軟件包,對于國內(nèi)用戶來說下載速度較慢,我們需要將它的鏡像源設(shè)置為國內(nèi)的網(wǎng)站。常用的Conda國內(nèi)鏡像源由清華、阿里云、豆瓣、中科大等單位提供。以添加清華大學(xué)的鏡像源為例,在開始菜單Anaconda3中選擇“AnacondaPowershellPrompt(anaconda3)”,在隨后彈出的命令行窗口中使用命令“condaconfig--addchannels鏡像源網(wǎng)址”即可。Anaconda鏡像/anaconda/pkgs/free//anaconda/pkgs/main/第三方鏡像/anaconda/cloud/conda-forge//anaconda/cloud/msys2//anaconda/cloud/bioconda//anaconda/cloud/menpo//anaconda/cloud/menpo//anaconda/cloud/pytorch/1.4開發(fā)環(huán)境準(zhǔn)備——安裝各種包Python之所以在機(jī)器學(xué)習(xí)項(xiàng)目開發(fā)中好用得益于其大量免費(fèi)的機(jī)器學(xué)習(xí)相關(guān)的包。而用Conda安裝包很簡單。例如:要安裝numpy包,直接在“AnacondaPowershellPrompt(anaconda3)”中使用命令“condainstallnumpy”即可自動安裝。1.4開發(fā)環(huán)境準(zhǔn)備——安裝Cuda驅(qū)動(如果電腦有顯卡)GPU擁有更多ALU(GPU擁有更多ALU,能夠進(jìn)行強(qiáng)大的計(jì)算),能夠進(jìn)行強(qiáng)大的計(jì)算。深度學(xué)習(xí)的訓(xùn)練往往需要更多的矩陣運(yùn)算,使用GPU可以提高訓(xùn)練速度。在安裝了NVIDIA顯卡的Windows或Linux系統(tǒng)的計(jì)算機(jī)上,可以從NVIDIA的官方網(wǎng)站(/cuda-downloads)分別下載并安裝驅(qū)動CUDA、CUDAToolkit,注意在下載和安裝的時候要選擇與自己顯卡對應(yīng)的版本。PyTorch是由Facebook(現(xiàn)Meta)推出的一個開源的Python機(jī)器學(xué)習(xí)庫,用于機(jī)器視覺、自然語言處理等應(yīng)用程序,當(dāng)前很多人機(jī)器學(xué)習(xí)領(lǐng)域的科研論文的實(shí)驗(yàn)都是基于Pytorch開發(fā)的。使用Conda安裝Pytorch較為簡單,直接使用命令“condainstallpytorchtorchvisioncudatoolkit=11.*”即可,其中cudatoolkit要和計(jì)算機(jī)的cudatoolkit一致。如果本機(jī)沒有為顯卡安裝CUDA,使用Conda命令安裝Pytorch,會自動安裝CUDA。1.4開發(fā)環(huán)境準(zhǔn)備——安裝MiniCondaAnaconda雖然簡單、易用,但是它集成了太多東西,安裝完成大約需要占用3.5G的磁盤空間,對計(jì)算機(jī)性能要求較高。讀者還可以選擇安裝Miniconda,它是一款小巧的Python環(huán)境管理工具,安裝包大約只有70M左右,它的安裝程序中包含基礎(chǔ)的Conda軟件包管理器和Python。本書后續(xù)用到的練習(xí),讀者可以只安裝Miniconda即可。無論是Anaconda還是Miniconda,安裝成功后在Windows開始菜單中都會有Anaconda3->AnacondaPowershellPrompt(anaconda3)選項(xiàng),點(diǎn)擊打開AnacondaPowershellPrompt命令行窗口,輸入“conda–version”命令會顯示conda的版本號,輸入“python”命令可以進(jìn)入Python命令行1.4.2. Python開發(fā)工具——VSCodeVSCode(全稱:VisualStudioCode)是由微軟推出的一款跨平臺的、免費(fèi)的源代碼編輯器。經(jīng)過合理配置后,該軟件支持語法高亮、代碼自動補(bǔ)全(IntelliSense)、代碼重構(gòu)、查看定義等功能,并且內(nèi)置了命令行工具和Git版本控制系統(tǒng)等。VSCode經(jīng)過合理配置后可以作為Python的集成開發(fā)環(huán)境,本書中的案例即使用它作為開發(fā)工具。第一步,安裝VSCode,在官網(wǎng)(/)下載適合本機(jī)操作系統(tǒng)的版本然后按照提示安裝即可。第二步,為VSCode安裝Python擴(kuò)展,打開VSCode點(diǎn)擊左側(cè)邊欄的擴(kuò)展圖標(biāo),在隨后出現(xiàn)的搜索框中輸入“Python”找到Microsoft的Python擴(kuò)展,點(diǎn)擊安裝(Install)即可。需要注意,此處安裝的VSCodePython擴(kuò)展并不是Python解釋器,它的作用只是讓VSCode能夠更好的編輯和調(diào)試Python源文件,包括代碼高亮顯示、自動補(bǔ)充、代碼跟蹤調(diào)試等等,如果我們想要運(yùn)行編輯好的Python代碼需要為這些代碼指定Python解釋器。1.4.2. Python開發(fā)工具——VSCode在磁盤上新建一個文件夾,然后在VSCode中打開這個文件夾隨后,在文件夾中新建一個Python文件,可以命名為“Test.py”。在新建的Python文件中輸入一行Python指令(如圖115),接下來就是為此Python文件選擇Python解釋器。在代碼文件中同時按下鍵盤上的Ctrl+Shift+P三個按鍵進(jìn)入命令面板,輸入Python:SelectInterpreter,然后點(diǎn)擊“Python:SelectInterpreter”選擇Python解釋器;隨后選擇python解釋器,如果本機(jī)系統(tǒng)安裝了多個版本的Python,帶星號是默認(rèn)的python解釋器,這里選擇前面安裝的Anaconda的Python1.4.2. Python開發(fā)工具——VSCode要運(yùn)行Python文件,直接在打開的文件空白位置單擊鼠標(biāo)右鍵然后在彈出菜單中選擇“RunPythonFileinTerminal”即可,運(yùn)行后會在下方的Terminal中輸出字符串“Hello,I’mmachine”1.4.2. Python開發(fā)工具——PyCharmPyCharm(如圖119)是最受歡迎的Python語言專用集成開發(fā)環(huán)境(IntegratedDevelopmentEnvironment,IDE)之一,它也是一個跨平臺的開發(fā)工具,可在Windows、macOS和Linux操作系統(tǒng)上提供一致的體驗(yàn)。PyCharm提供三個版本:專業(yè)版(Professional)、社區(qū)版(Community)。社區(qū)版是開源項(xiàng)目,免費(fèi)但功能較少。專業(yè)版是收費(fèi)的商業(yè)版,提供了一套出色的工具和功能。如有教育郵箱可以申請專業(yè)版一年的試用。PyCharm提供非常豐富的功能支持用戶進(jìn)行Python開發(fā),它除了具有一般IDE具備的功能(如:調(diào)試、語法高亮、項(xiàng)目管理、代碼跳轉(zhuǎn)、智能提示、自動完成、單元測試、版本控制)外,還提供了一些很好的功能用于Django開發(fā),同時支持GoogleAppEngine等等。如若進(jìn)行大型Python工程開發(fā),PyCharm幾乎是不二之選。1.4.2. Python開發(fā)工具——Spyder安裝完整的Anaconda,它集成的工具里面就有Spyder。Spyder是一個簡單易用的Python開發(fā)環(huán)境,它的使用與MATLAB、RStudio非常相似,可以很方便地觀察和修改數(shù)值。另外,Spyder還有console控制臺和變量探索等功能,如果你想用Python語言做數(shù)據(jù)分析任務(wù),那么Spyder是一款比較適用的開發(fā)工具。1.4.2. Python開發(fā)工具——JupyterJupyter的適用場景很多,它是基于網(wǎng)頁形式、結(jié)合了編寫說明文檔、數(shù)學(xué)公式、交互計(jì)算和其他富媒體形式的工具等,基本常用的開發(fā)工具里面都包含了。Jupyter里面編寫的內(nèi)容都可以以文檔形式輸出,默認(rèn)保存的后綴名為.ipynb的JSON格式文件,還可以導(dǎo)出為:HTML、PDF、MarkDown、Python等格式。Anaconda完整版安裝也默認(rèn)集成了Jupyter工具。當(dāng)然在VSCode中安裝Jupyter擴(kuò)展后也可以創(chuàng)建*.ipynb文件實(shí)現(xiàn)Jupyter的功能如果你要寫帶有Python代碼的實(shí)驗(yàn)報(bào)告或者類似帶有大段文字說明和Python代碼的文檔,那么使用Jupyter這種形式就非常合適1.4.3. Python的包為了在Python語言中更好地進(jìn)行模塊化管理,Python中使用了包(package)的概念。Python包本質(zhì)上仍然是程序模塊,它還可以有子模塊。在編程的時候,創(chuàng)建Python包可以通過創(chuàng)建一個含有“__init__.py”文件的文件夾實(shí)現(xiàn).Python語言使用包的形式來組織程序模塊,這樣非常方便管理,只要頂層的包名不與別人沖突,那所有模塊都不會與別人沖突。右圖中,要調(diào)用module1.py只需要使用package.modele1即可,同樣調(diào)用module2.py使用package.child_package.module2即可。使用Python不僅可以方便地創(chuàng)建自己的包,還可以通過conda或pip一類的包管理工具方便、快捷地安裝第三方的免費(fèi)包。機(jī)器學(xué)習(xí)中常用的Python包有TensoFlow、Pythorch、Scipy、Keras、Numpy、Seaborn、Scikit-
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度環(huán)保設(shè)備購銷合同樣本及格式說明
- 2025年度進(jìn)出口貿(mào)易電子商務(wù)平臺運(yùn)營服務(wù)合同
- 發(fā)熱管項(xiàng)目融資計(jì)劃書
- 邢臺2024年河北邢臺廣宗縣招聘事業(yè)單位工作人員38人筆試歷年參考題庫附帶答案詳解
- 鹽城2025年江蘇省鹽城市教育局直屬學(xué)校招聘教師14人筆試歷年參考題庫附帶答案詳解
- 濰坊2025年山東濰坊市產(chǎn)業(yè)技術(shù)研究院招聘7人筆試歷年參考題庫附帶答案詳解
- 楚雄云南楚雄州消防救援局招聘6人筆試歷年參考題庫附帶答案詳解
- 株洲2025年湖南株洲市蘆淞區(qū)面向應(yīng)屆生招聘教師30人筆試歷年參考題庫附帶答案詳解
- 杭州2025年浙江杭州市臨安區(qū)高虹鎮(zhèn)人民政府招聘編外聘用人員筆試歷年參考題庫附帶答案詳解
- 普洱云南普洱市消防救援支隊(duì)專職消防員消防文員招錄筆試歷年參考題庫附帶答案詳解
- 培訓(xùn)學(xué)校書法課家長會
- 護(hù)士年終總結(jié)及工作計(jì)劃
- 與信仰對話 課件-2024年入團(tuán)積極分子培訓(xùn)
- 中醫(yī)護(hù)理學(xué)-情志護(hù)理
- 中學(xué)美術(shù)《剪紙藝術(shù)》完整課件
- 數(shù)字化智能化園區(qū)建設(shè)水平評價(jià)標(biāo)準(zhǔn)(征求意見稿)
- 2024至2030年中國電極糊行業(yè)市場調(diào)查分析及產(chǎn)業(yè)前景規(guī)劃報(bào)告
- 2025年中考英語熱點(diǎn)時文閱讀-發(fā)明創(chuàng)造附解析
- 血透室護(hù)理質(zhì)控
- 粵語課程設(shè)計(jì)
評論
0/150
提交評論