Python深度學習及智能車競賽實踐 課件 7-Python計算生態(tài)及機器學習概述_第1頁
Python深度學習及智能車競賽實踐 課件 7-Python計算生態(tài)及機器學習概述_第2頁
Python深度學習及智能車競賽實踐 課件 7-Python計算生態(tài)及機器學習概述_第3頁
Python深度學習及智能車競賽實踐 課件 7-Python計算生態(tài)及機器學習概述_第4頁
Python深度學習及智能車競賽實踐 課件 7-Python計算生態(tài)及機器學習概述_第5頁
已閱讀5頁,還剩78頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第七章Python計算生態(tài)及機器學習概述Python深度學習及智能車競賽實踐目錄第2頁010203計算思維的概念

Python計算生態(tài)Python數(shù)據(jù)分析庫0405機器學習方法概述一元線性回歸理論及實踐目錄第3頁010203計算思維的概念

Python計算生態(tài)Python數(shù)據(jù)分析庫0405機器學習方法概述一元線性回歸理論及實踐實證思維:

實驗和驗證,物理為代表,

引力波→實驗;邏輯思維:推理和演繹為特征的,數(shù)學為代表,

A→B,B→C,A→C;計算思維:設(shè)計和構(gòu)造,計算機為代表,

求階乘、科赫曲線。1.計算思維的概念人類在認識世界、改造世界過程中表現(xiàn)出三種基本的思維特征計算思維是計算機科學發(fā)展到一定程度而提出的,它是人類逐漸意識到計算機解決問題的強大能力后而自然產(chǎn)生的思維模式,具有顯著的時代特性。在程序設(shè)計范疇,計算思維主要反映在抽象實際問題的計算特性、將計算特性抽象為計算問題、通過程序設(shè)計語言實現(xiàn)問題的自動求解等。1.計算思維的概念計算思維的本質(zhì)是抽象和自動化:抽象問題的計算過程,

利用計算機自動化求解;程序設(shè)計是實踐計算思維的重要手段;1.計算思維的概念1.計算思維的概念計算思維基于計算機強大的算力及海量數(shù)據(jù)抽象計算過程。1.計算思維的概念計算思維基于計算機強大的算力及海量數(shù)據(jù)抽象計算過程。1.計算思維的概念計算思維基于計算機強大的算力及海量數(shù)據(jù)抽象計算過程。車、路、云一體化的智慧交通目錄第10頁010203計算思維的概念

Python計算生態(tài)Python數(shù)據(jù)分析庫0405機器學習方法概述一元線性回歸理論及實踐2.Python計算生態(tài)Python語言從誕生之初致力于開源開放,近20年的開源運動產(chǎn)生了深植于各信息技術(shù)領(lǐng)域的大量可重用資源,直接且有力的支撐了信息技術(shù)超越其他技術(shù)領(lǐng)域的發(fā)展速度,形成了“計算生態(tài)”,建立了全球最大的編程計算生態(tài)。2.Python計算生態(tài)以開源項目為代表的大量第三方庫(超15萬個第三方庫)庫的建設(shè)經(jīng)過野蠻生長和自然選擇,

同一個功能,Python語言2個以上第三方庫。在計算生態(tài)思想指導下,編寫程序的起點不再是探究每個具體算法的邏輯功能和設(shè)計,而是盡可能利用第三方庫進行代碼復用,探究運用庫的系統(tǒng)方法,實現(xiàn)了模塊設(shè)計。隨Python安裝包一起發(fā)布,用戶可以隨時使用,被稱為Python標準庫,受限于Python安裝包的設(shè)定大小,標準庫數(shù)量270個左右。Python常用標準庫:turtle庫、math庫、time庫、random庫、JSON庫、OS庫、在zipfile庫、Tkinter庫……Python標準庫2.Python計算生態(tài)Python有非常簡單靈活的編程方式,采用C、C++等語言編寫的專業(yè)庫可以經(jīng)過簡單的接口封裝供Python語言程序調(diào)用。這樣的粘性功能使得Python語言成為了各類編程語言之間的接口,俗稱Python語言為“膠水語言”。Python的粘接功能2.Python計算生態(tài)Python有非常豐富的第三方庫。這些第三方庫由全球各行業(yè)專家、工程師和愛好者開發(fā),沒有頂層設(shè)計,由開發(fā)者采用“盡力而為”的方式維護;Python第三方程序包括庫(library)、模塊(module)、類(class)和程序包(Package)等多種命名,這些可重用代碼統(tǒng)稱為“庫”。Python第三方庫2.Python計算生態(tài)Python官方網(wǎng)站提供了第三方庫索引功能

/pypi列出了Python語言超過15萬個第三方庫的基本信息,這些函數(shù)庫覆蓋信息領(lǐng)域技術(shù)所有技術(shù)方向。Python第三方庫2.Python計算生態(tài)Python第三方庫需要安裝后才能使用,第三方庫依照安裝方式靈活性和難易程度有三種方法:

1.pip工具安裝

2.自定義安裝

3.文件安裝pip是Python官方提供并維護的在線第三方庫安裝工具,pip工具安裝是最常用且最高效的Python第三方庫安裝方式。

pip工具安裝2.Python計算生態(tài)pipinstall<擬安裝庫名>:\>pipinstallPyInstaller#或者:\>pip3installPyInstallerpip是Python第三方庫最主要的安裝方式,可以安裝超過90%以上的第三方庫。然而,還有一些第三方庫無法暫時用pip安裝,此時,需要其他的安裝方法。pip工具與操作系統(tǒng)也有關(guān)系,在MacOSX和Linux等操作系統(tǒng)中,pip工具幾乎可以安裝任何Python第三方庫,在Windows操作系統(tǒng)中,有一些第三方庫仍然需要用其他方式嘗試安裝。

pip工具安裝2.Python計算生態(tài)pip是Python內(nèi)置命令,需要通過命令行執(zhí)行,如執(zhí)行pip-h命令將列出pip常用的子命令::\>pip-hpip使用2.Python計算生態(tài)pip支持安裝(install)、下載(download)、卸載(uninstall)、列表(list)、查看(list)、查找(search)等一系列安裝和維護子命令。如list子命令列出當前系統(tǒng)中已經(jīng)安裝的第三方庫,格式如下:

:\>piplist

pip使用2.Python計算生態(tài)更新pip本身的方法:

pip的更新2.Python計算生態(tài)C:\Users\Administrator>python.exe-mpipinstall--upgradepipRequirementalreadysatisfied:pipinc:\users\administrator\appdata\local\programs\python\python39\lib\site-packages(22.2.2)CollectingpipUsingcachedpip-23.3.2-py3-none-any.whl(2.1MB)Installingcollectedpackages:pipAttemptinguninstall:pipFoundexistinginstallation:pip22.2.2Uninstallingpip-22.2.2:Successfullyuninstalledpip-22.2.2Successfullyinstalledpip-23.3.2卸載一個庫的命令格式如下:

pipuninstall<擬卸載庫名>

pip的子命令2.Python計算生態(tài)download子命令可以下載第三方庫的安裝包,但并不安裝,格式如下:

pipdownload

<擬卸載庫名>

pip的子命令2.Python計算生態(tài)search子命令可以鏈接搜索庫名或摘要中關(guān)鍵字,格式如下:

pipsearch<擬查詢庫名或關(guān)鍵字>

pip的子命令2.Python計算生態(tài)show子命令列出某個已經(jīng)安裝庫的詳細信息,格式如下:

pipshow<擬查詢庫名或關(guān)鍵字>

常用的第三方庫和及其安裝指令需要注意,庫名是第三方庫常用的名字,pip安裝用的名字和庫名不一定完全相同,建議采用小寫字符。2.Python計算生態(tài)常用的第三方庫和及其安裝指令需要注意,庫名是第三方庫常用的名字,pip安裝用的名字和庫名不一定完全相同,建議采用小寫字符。2.Python計算生態(tài)需要注意,安裝需在系統(tǒng)命令行下進行,不要在IDLE中,部分庫會依賴其他函數(shù)庫,會自動安裝,部分庫下載后需要一個安裝過程,pip會自動執(zhí)行。成功安裝庫后會出現(xiàn)”Successfullyinstalled…“提示。常用的第三方庫和及其安裝指令2.Python計算生態(tài)可以使用

OS標準庫

的system()函數(shù)調(diào)用控制臺importoslibs={"numpy","matplotlib","pillow","sklearn","requests",\"jieba","beautifulsoup4","wheel","networkx","sympy",\"pyinstaller","django","flask","werobot","pyqt5",\"pandas","pyopengl","pypdf2","docopt","pygame"}try:forlibinlibs:

os.system("pipinstall"+lib)print("Successful")except:print("FailedSomehow")pip批量安裝Python庫2.Python計算生態(tài)目錄第29頁010203計算思維的概念

Python計算生態(tài)Python數(shù)據(jù)分析庫0405機器學習方法概述一元線性回歸理論及實踐numpy庫numpy(NumericalPython的簡稱)是高性能科學計算和數(shù)據(jù)分析的基礎(chǔ)包,其部分功能如下:ndarray,一個具有矢量算術(shù)運算和復雜廣播能力的快速且節(jié)省空間的多維數(shù)組;用于對整組數(shù)據(jù)進行快速運算的標準數(shù)學函數(shù)(無需編寫循環(huán));用于讀寫磁盤數(shù)據(jù)的工具以及用于操作內(nèi)存映射文件的工具;線性代數(shù)、隨機數(shù)生成以及傅里葉變換功能。NumPy官方的英文文檔:/NumPy官方的中文文檔:/3.Python數(shù)據(jù)分析庫pandas是python第三方庫,提供高性能易用數(shù)據(jù)類型和分析工具pandas基于numpy實現(xiàn),常與numpy和matplotlib一同使用兩大核心數(shù)據(jù)結(jié)構(gòu):Series(一維數(shù)據(jù))

和DataFrame(多特征數(shù)據(jù),既有行索引,又有列索引)Pandas官方的英文文檔:https:///PandasPandas官方的中文文檔:/pandas庫3.Python數(shù)據(jù)分析庫Matplotlib庫3.Python數(shù)據(jù)分析庫Matplotlib是一個Python2D繪圖庫,通過調(diào)用庫的方法,只需幾行代碼就可以生成圖表、直方圖、功率譜、條形圖、誤差圖、散點圖等。Matplotlib庫英文網(wǎng):

/stable/gallery/index.htmlMatplotlib庫中文網(wǎng):

/intro/目錄第33頁010203計算思維的概念

Python計算生態(tài)Python數(shù)據(jù)分析庫0405機器學習方法概述一元線性回歸理論及實踐Machine

learningisthestudyofalgorithmsandmathematicalmodelsthatcomputersystemsusetoprogressivelyimprovetheirperformanceonaspecifictask.Machinelearningalgorithmsbuildamathematicalmodelofsampledata,knownas“trainingdata”,inordertomakepredictionsordecisionswithoutbeingexplicitlyprogrammedtoperformthetask.Wikipedia線性回歸支持向量機K-means高斯混合聚類密度聚類邏輯回歸分類決策樹貝葉斯集成學習回歸問題聚類問題分類問題嶺回歸Lasso回歸層次聚類回歸決策樹深度學習方法可以解決分類問題,也可以解決回歸問題4.機器學習方法概述有監(jiān)督學習(supervisedlearning):從給定的有標注的訓練數(shù)據(jù)集中學習出一個函數(shù),當新的數(shù)據(jù)到來時可以根據(jù)這個函數(shù)預測結(jié)果。常見任務包括分類與回歸。分類:輸出是類別標簽回歸:電動車剩余里程估計值是連續(xù)值4.機器學習方法概述無監(jiān)督學習(unsupervisedlearning):沒有標注的訓練數(shù)據(jù)集,需要根據(jù)樣本間的統(tǒng)計規(guī)律對樣本集進行分析,常見任務如聚類等。4.機器學習方法概述聚類問題是無監(jiān)督學習的問題,算法的思想就是“物以類聚,人以群分”。聚類算法感知樣本間的相似度,進行類別歸納,對新的輸入進行輸出預測,輸出變量取有限個離散值??梢宰鳛橐粋€單獨過程,用于尋找數(shù)據(jù)內(nèi)在的分布結(jié)構(gòu)可以作為分類、稀疏表示等其他學習任務的前驅(qū)過程4.機器學習方法概述分類問題是監(jiān)督學習的一個核心問題,它從數(shù)據(jù)中學習一個分類決策函數(shù)或分類模型(分類器(classifier)),對新的輸入進行輸出預測,輸出變量取有限個離散值。分類在我們?nèi)粘I钪泻艹R姸诸悊栴}多分類問題垃圾郵件正常郵件轎車摩托車貨車4.機器學習方法概述分類模型性能評價指標

準確率(Accuracy)是指在分類中,分類正確的記錄個數(shù)占總記錄個數(shù)的比值。通常,準確率高時,召回率偏低;召回率高時,準確率偏低。1.地震的預測對于地震的預測,我們希望的是召回率非常高,也就是說每次地震我們都希望預測出來。2.嫌疑人定罪基于不錯怪一個好人的原則,對于嫌疑人的定罪我們希望是非常準確的,即使有時候放過了一些罪犯(召回率低),但也是值得的。

召回率(Recall)也叫查全率,是指在分類中樣本中的正例有多少被預測正確了。4.機器學習方法概述舉例:一個城市路網(wǎng)中有1400輛小轎車,300輛公交巴士,700輛自行車,現(xiàn)在以路網(wǎng)攝像頭抓拍到小轎車為目的,共拍到了1200輛小轎車,300輛公交巴士,500輛自行車,那么,這些指標分別如下:正確率(Precision)

召回率(Recall)

F值=

2*60%

*

85.7%

/

(60%

+

85.7%)

=

70.6%=

1200

/

(1200

+

300

+

500)

=

60%=

1200

/

1400

=

85.7%4.機器學習方法概述=1400

/

(1400

+300

+

700)=

58.3%正確率(Precision)

召回率(Recall)

F值=

1400

/

1400

=

100%=

2*58.3%

*100%

/

(58.3%

+

100%)

=

73.7%一個城市路網(wǎng)中有1400輛小轎車,300輛公交巴士,700輛自行車,現(xiàn)在以路網(wǎng)攝像頭抓拍到小轎車為目的,假設(shè)所有的小轎車、公交巴士和自行車都抓拍到了,那么,這些指標分別如下:舉例:4.機器學習方法概述回歸分析用于預測輸入變量(自變量)和輸出變量(因變量)之間的關(guān)系,特別是當輸入變量的值發(fā)生變化時,輸出變量值隨之發(fā)生變化。回歸分析自變量個數(shù)自變量與因變量關(guān)系因變量個數(shù)一元回歸分析多元回歸分析線性回歸分析非線性回歸分析簡單回歸分析多重回歸分析4.機器學習方法概述Sklearn全稱為scikit-learn,其中封裝了大量的機器學習算法,包括分類,回歸,降維和聚類四大機器學習算法。還包括了特征提取,數(shù)據(jù)處理和模型評估三大模塊。sklearn是Scipy的擴展,建立在Numpy和matplolib庫的基礎(chǔ)上,利用這幾大模塊的優(yōu)勢,可以大大的提高機器學習的效率。官方文檔地址:/stable/Sklearn庫4.機器學習方法概述Sklearn庫4.機器學習方法概述目錄第45頁010203計算思維的概念

Python計算生態(tài)Python數(shù)據(jù)分析庫0405機器學習方法概述一元線性回歸理論及實踐01一元線性回歸理論及實踐5.1一元線性回歸理論5.2實例:智能車路徑擬合目錄第46頁這個方程對應的圖像是一條直線,稱作回歸線。其中,??1為回歸線的斜率,

??0為回歸線的截距。y=???

(??)

=??0+

??1??5.1一元線性回歸理論訓練集:5.1一元線性回歸理論求解方程系數(shù)y=

??0+

??1??有沒有準則判斷,哪個更好呢?5.1一元線性回歸理論損失函數(shù)(CostFunction或LostFunciton)最小二乘法真實值y,預測值???

(??)

,則誤差平方為(y????

(??)2

找到合適的參數(shù),使得誤差平方和最小:

5.1一元線性回歸理論θ0=0損失函數(shù)5.1一元線性回歸理論損失函數(shù)5.1一元線性回歸理論當??1=1時,代價函數(shù)值為0損失函數(shù)5.1一元線性回歸理論當??1=0.5時,代價函數(shù)值約為0.6損失函數(shù)5.1一元線性回歸理論當??1=0時,代價函數(shù)值約為2.3損失函數(shù)5.1一元線性回歸理論當??1=2時,代價函數(shù)值約為2.3損失函數(shù)5.1一元線性回歸理論J值隨著??0和??1變化的等值線圖損失函數(shù)5.1一元線性回歸理論損失函數(shù)5.1一元線性回歸理論損失函數(shù)5.1一元線性回歸理論Havesome

functionWant到達一個全局初始化不斷改變 ,直到最小值,或局部極小值。梯度下降法(GradientDescent)5.1一元線性回歸理論

J(

)梯度下降法5.1一元線性回歸理論

J(

)梯度下降法5.1一元線性回歸理論正確做法:同步更新不正確做法學習率控制步長梯度下降法5.1一元線性回歸理論

J(

)θ0=0梯度下降法5.1一元線性回歸理論學習率不能太小,也不能太大,可以多嘗試一些值0.1,0.03,0.01,0.003,0.001,0.0003,0.0001…梯度下降法5.1一元線性回歸理論atlocal

optimaCurrentvalue

of有可能會陷入局部極小值梯度下降法5.1一元線性回歸理論梯度下降法求解線性回歸5.1一元線性回歸理論梯度下降法求解線性回歸5.1一元線性回歸理論線性回歸的代價函數(shù)是凸函數(shù)5.1一元線性回歸理論(for

fixed,thisisafunctionof

x)(functionofthe

parameters)梯度下降法優(yōu)化過程5.1一元線性回歸理論(for

fixed,thisisafunctionof

x)(functionofthe

parameters)梯度下降法優(yōu)化過程5.1一元線性回歸理論(for

fixed,thisisafunctionof

x)(functionofthe

parameters)梯度下降法優(yōu)化過程5.1一元線性回歸理論(for

fixed,thisisafunctionof

x)(functionofthe

parameters)梯度下降法優(yōu)化過程5.1一元線性回歸理論(for

fixed,thisisafunctionof

x)(functionofthe

parameters)梯度下降法優(yōu)化過程5.1一元線性回歸理論(for

fixed,thisisafunctionof

x)(functionofthe

parameters)梯度下降法優(yōu)化過程5.1一元線性回歸理論(for

fixed,thisisafunctionof

x)(functionofthe

parameters)梯度下降法優(yōu)化過程5.1一元線性回歸理論(for

fixed,thisisafunctionof

x)(functionofthe

parameters)梯度下降法優(yōu)化過程5.1一元線性回歸理論(for

fixed,thisisafunctionof

x)(functionofthe

parameters)一口吃不成個胖子,需要靜悄悄地一步一步地完成迭代(學習貴在堅持,日積月累,長期努力,必有大成?。┨荻认陆捣▋?yōu)化過程5.1一元線性回歸理論01一元線性回歸理論及實踐5.1一元線性回歸理論5.2實例:智能車路徑擬合目錄第79頁Sklearn中基于最小二乘法的線性回歸模型

參數(shù):fit_intercept:是否存在截距,默認存在,normalize:是否將數(shù)據(jù)標準化,默認關(guān)閉;copy_X:默認為True。

是否對X復制,如果選擇false,則直接對原數(shù)據(jù)進行覆蓋寫。(即經(jīng)過中心化、標準化后,是否把新數(shù)據(jù)覆蓋到原數(shù)據(jù)上);n_jobs:int默認為1,計算時設(shè)置的任務個數(shù),當-1時默認使用全部CPUs。lr=sklearn.linear_model.LinearRegression(fit_intercept=True,normalize=False,copy_X=True,n_jobs=1)最簡單的實例化調(diào)用:lr=sklearn.linear_model.LinearRegressi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論