版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
機(jī)器學(xué)習(xí)Python實(shí)戰(zhàn)204頁完整版課件內(nèi)容可修改PPT機(jī)器學(xué)習(xí)認(rèn)知目錄content什么是機(jī)器學(xué)習(xí)第一節(jié)機(jī)器學(xué)習(xí)應(yīng)用場景第二節(jié)機(jī)器學(xué)習(xí)的流程第三節(jié)什么是機(jī)器學(xué)習(xí)第一節(jié)什么是機(jī)器學(xué)習(xí)?淘寶、愛奇藝、QQ音樂等都有類似的推薦功能,它們是如何知道用戶的喜好呢?這些推薦系統(tǒng)背后的秘密武器正是機(jī)器學(xué)習(xí)機(jī)器學(xué)習(xí)是研究計算機(jī)怎樣模擬或?qū)崿F(xiàn)人類的學(xué)習(xí)行為,以獲取新的知識或技能,重新組織已有的知識結(jié)構(gòu)使之不斷改善自身的性能。什么是機(jī)器學(xué)習(xí)?山鳶尾(setosa)、變色鳶尾(versicolor)和維吉尼亞鳶尾(virginica)如何讓機(jī)器識別下面的鳶尾花分別屬于哪一類?什么是機(jī)器學(xué)習(xí)?什么是機(jī)器學(xué)習(xí)?
簡單來說,機(jī)器學(xué)習(xí)就是通過算法,使得機(jī)器能從大量歷史數(shù)據(jù)中學(xué)習(xí)規(guī)律,并利用規(guī)律對新的樣本做智能識別或?qū)ξ磥碜鲱A(yù)測。與傳統(tǒng)的為解決特定任務(wù)而實(shí)現(xiàn)的各種軟件程序不同,機(jī)器學(xué)習(xí)是用大量的數(shù)據(jù)來“訓(xùn)練”,通過各種算法從數(shù)據(jù)中學(xué)習(xí)如何完成任務(wù)。機(jī)器學(xué)習(xí)算法模型
訓(xùn)練數(shù)據(jù)輸出結(jié)果樣例輸入什么是機(jī)器學(xué)習(xí)?模型歷史數(shù)據(jù)訓(xùn)練輸入新的數(shù)據(jù)預(yù)測未知屬性規(guī)律經(jīng)驗(yàn)歸納輸入新的問題預(yù)測未來機(jī)器學(xué)習(xí)人類機(jī)器學(xué)習(xí)中的“訓(xùn)練”與“預(yù)測”過程可以可以對應(yīng)到人類的“歸納”與“預(yù)測”過程。通過這樣的對應(yīng),我們可以發(fā)現(xiàn)機(jī)器學(xué)習(xí)是對人類在生活中學(xué)習(xí)成長的一個模擬。機(jī)器學(xué)習(xí)、深度學(xué)習(xí)和人工智能之間的關(guān)系基本上,機(jī)器學(xué)習(xí)是人工智能的一個子集,深度學(xué)習(xí)則是機(jī)器學(xué)習(xí)的一個分支。如果把三者的關(guān)系用圖來表明的話,則是下圖:人工智能>機(jī)器學(xué)習(xí)>深度學(xué)習(xí)機(jī)器學(xué)習(xí)、深度學(xué)習(xí)和人工智能之間的關(guān)系
人工智能(ArtificialIntelligence),英文縮寫為AI。它是研究、開發(fā)用于模擬、延伸和擴(kuò)展人的智能的理論、方法、技術(shù)及應(yīng)用系統(tǒng)的一門新的技術(shù)科學(xué)。每當(dāng)一臺機(jī)器根據(jù)一組預(yù)先定義的解決問題的規(guī)則來完成任務(wù)時,這種行為就被稱為人工智能。
深度學(xué)習(xí)(DL,DeepLearning)是機(jī)器學(xué)習(xí)領(lǐng)域中一個新的研究方向,它被引入機(jī)器學(xué)習(xí)使其更接近于最初的目標(biāo)——人工智能。
深度學(xué)習(xí)利用神經(jīng)網(wǎng)絡(luò)來增強(qiáng)對復(fù)雜任務(wù)的表達(dá)能力,通過神經(jīng)網(wǎng)絡(luò)讓機(jī)器自動尋找特征提取方法。
人工智能是目標(biāo)機(jī)器學(xué)習(xí)是手段深度學(xué)習(xí)是方法機(jī)器學(xué)習(xí)的應(yīng)用第二節(jié)機(jī)器學(xué)習(xí)應(yīng)用場景(1)數(shù)據(jù)分析與挖掘
數(shù)據(jù)分析與挖掘技術(shù)是機(jī)器學(xué)習(xí)算法和數(shù)據(jù)存取技術(shù)的結(jié)合,利用機(jī)器學(xué)習(xí)提供的統(tǒng)計分析、知識發(fā)現(xiàn)等手段分析海量數(shù)據(jù),同時利用數(shù)據(jù)存取機(jī)制實(shí)現(xiàn)數(shù)據(jù)的高效讀寫。(2)計算機(jī)視覺
計算機(jī)視覺的主要基礎(chǔ)是圖像處理和機(jī)器學(xué)習(xí)。圖像處理技術(shù)用于將圖像處理為適合進(jìn)入機(jī)器學(xué)習(xí)模型的輸入,機(jī)器學(xué)習(xí)則負(fù)責(zé)從圖像中識別出相關(guān)的模式。
手寫字識別、車牌識別、人臉識別、目標(biāo)檢測與追蹤、圖像濾波與增強(qiáng)等都是計算機(jī)視覺的應(yīng)用場景。機(jī)器學(xué)習(xí)應(yīng)用場景(3)自然語言處理
自然語言處理是讓機(jī)器理解人類語言的一門技術(shù)。垃圾郵件過濾、用戶評論情感分類、信息檢索等都是自然語言的應(yīng)用場景。(4)語音識別
語音識別是利用自然語言處理、機(jī)器學(xué)習(xí)等相關(guān)技術(shù)實(shí)現(xiàn)對人類語言識別的技術(shù)。Siri等智能助手、智能聊天機(jī)器人都是語音識別的應(yīng)用。機(jī)器學(xué)習(xí)的流程第三節(jié)機(jī)器學(xué)習(xí)的流程問題定義數(shù)據(jù)準(zhǔn)備模型選擇和開發(fā)模型訓(xùn)練和調(diào)優(yōu)模型評估測試對現(xiàn)實(shí)問題進(jìn)行分析,直接影響算法的選擇、模型評估標(biāo)準(zhǔn)。數(shù)據(jù)收集:下載、爬取。數(shù)據(jù)預(yù)處理:預(yù)處理、增強(qiáng)。數(shù)據(jù)集定義和切分:訓(xùn)練、驗(yàn)證、測試。對應(yīng)問題選用合適的模型,編寫對應(yīng)的模型代碼。使用數(shù)據(jù)集啟動對模型的訓(xùn)練,圍繞業(yè)務(wù)所需的模型目標(biāo)進(jìn)行調(diào)優(yōu)。對訓(xùn)練好的模型進(jìn)行評估測試,驗(yàn)證模型是否達(dá)到業(yè)務(wù)需求。機(jī)器學(xué)習(xí)的流程1.問題定義對現(xiàn)實(shí)問題進(jìn)行分析,確定好問題的類型,這將直接影響算法的選擇、模型評估標(biāo)準(zhǔn)。2.數(shù)據(jù)準(zhǔn)備(1)數(shù)據(jù)收集根據(jù)問題的需要,下載、爬取相應(yīng)的數(shù)據(jù)。(2)數(shù)據(jù)預(yù)處理數(shù)據(jù)集或多或少都會存在數(shù)據(jù)缺失、分布不均衡、存在異常數(shù)據(jù)、混有無關(guān)緊要的數(shù)據(jù)等諸多數(shù)據(jù)不規(guī)范的問題,這就需要我們對收集到的數(shù)據(jù)進(jìn)行進(jìn)一步的處理,叫做“數(shù)據(jù)預(yù)處理”。機(jī)器學(xué)習(xí)的流程2.數(shù)據(jù)準(zhǔn)備(3)數(shù)據(jù)集分割一般需要將樣本分成獨(dú)立的兩部分:訓(xùn)練集(trainset)和測試集(testset)。其中訓(xùn)練集用來訓(xùn)練模型,測試集用來檢驗(yàn)訓(xùn)練好的模型的準(zhǔn)確率。3.模型選擇和開發(fā)根據(jù)確定的問題類型,選擇合適的模型,編寫代碼實(shí)現(xiàn)模型。機(jī)器學(xué)習(xí)的流程4.模型訓(xùn)練和調(diào)優(yōu)使用訓(xùn)練數(shù)據(jù)集啟動對模型的訓(xùn)練,即根據(jù)訓(xùn)練數(shù)據(jù)集尋找模型參數(shù),最終得到訓(xùn)練好的模型。5.模型評估測試對訓(xùn)練好的模型使用測試數(shù)據(jù)集對模型進(jìn)行評估測試,驗(yàn)證模型是否達(dá)到業(yè)務(wù)需求。謝謝聆聽THANKSFORYOURATTENTION機(jī)器學(xué)習(xí)認(rèn)知機(jī)器學(xué)習(xí)的分類第一節(jié)過擬合和欠擬合第二節(jié)機(jī)器學(xué)習(xí)必需庫第三節(jié)目錄content機(jī)器學(xué)習(xí)的分類第一節(jié)機(jī)器學(xué)習(xí)的分類根據(jù)訓(xùn)練數(shù)據(jù)是否有標(biāo)注,機(jī)器學(xué)習(xí)可劃分為:監(jiān)督學(xué)習(xí)無監(jiān)督學(xué)習(xí)1.按學(xué)習(xí)目標(biāo)的不同,機(jī)器學(xué)習(xí)可分為:監(jiān)督學(xué)習(xí)(SupervisedLearning)無監(jiān)督學(xué)習(xí)(UnsupervisedLearning)強(qiáng)化學(xué)習(xí)(ReinforcementLearning,RL)機(jī)器學(xué)習(xí)分類監(jiān)督學(xué)習(xí)又可分為“分類”和“回歸”問題。1.監(jiān)督學(xué)習(xí)監(jiān)督式學(xué)習(xí)需要使用有輸入和預(yù)期輸出標(biāo)記的數(shù)據(jù)集。監(jiān)督學(xué)習(xí)的目的是通過學(xué)習(xí)許多有標(biāo)簽的樣本,然后對新的數(shù)據(jù)做出預(yù)測。機(jī)器學(xué)習(xí)分類(1)分類問題在分類問題中,機(jī)器學(xué)習(xí)的目標(biāo)是對樣本的類標(biāo)簽進(jìn)行預(yù)測,判斷樣本屬于哪一個分類,結(jié)果是離散的數(shù)值。(2)回歸問題在回歸問題中,其目標(biāo)是預(yù)測一個連續(xù)的數(shù)值或者是范圍。例如:將圖片分類為“蘋果”或“橘子”,準(zhǔn)確識別新圖片上的水果是“蘋果”類還是“橘子”類就是分類問題。比如:預(yù)測一套二手房的售價,給定房價的數(shù)據(jù)集,每套房子大小等特征數(shù)據(jù)對應(yīng)的標(biāo)簽就是房價,如果你有一套房子想知道能賣多少錢,機(jī)器學(xué)習(xí)算法就根據(jù)輸入的房子大小數(shù)據(jù),預(yù)測出房子對應(yīng)的市場價。機(jī)器學(xué)習(xí)分類2.無監(jiān)督學(xué)習(xí)在無監(jiān)督學(xué)習(xí)中給定的數(shù)據(jù)沒有標(biāo)簽。無監(jiān)督學(xué)習(xí)算法的目標(biāo)是以某種方式組織數(shù)據(jù),然后找出數(shù)據(jù)中存在的內(nèi)在結(jié)構(gòu),這包括將數(shù)據(jù)進(jìn)行聚類,或者找到更簡單的方式處理復(fù)雜數(shù)據(jù),使復(fù)雜數(shù)據(jù)看起來更簡單。聚類是典型的無監(jiān)督學(xué)習(xí),事先不知道樣本的類別,通過某種辦法,把相似的樣本放在一起歸位一類。例如,餐館擁有大量顧客的消費(fèi)數(shù)據(jù),想對顧客進(jìn)行分組,以提供針對性優(yōu)質(zhì)服務(wù)。一開始不大可能告訴聚類算法每個顧客屬于哪個分組,算法會自行尋找這種關(guān)聯(lián),把用餐的次數(shù)和用餐總花費(fèi)較高的優(yōu)質(zhì)顧客分為一組,把用餐的次數(shù)和用餐總花費(fèi)較低的普通顧客分為一組,把一次性順便消費(fèi)的低價值顧客分為一組。機(jī)器學(xué)習(xí)分類3.強(qiáng)化學(xué)習(xí)強(qiáng)化學(xué)習(xí)是機(jī)器學(xué)習(xí)的范式和方法論之一,用于描述和解決智能體(Agent)在與環(huán)境的交互過程中通過學(xué)習(xí)策略以達(dá)成回報最大化或?qū)崿F(xiàn)特定目標(biāo)的問題。強(qiáng)化學(xué)習(xí)包括四個因素:智能體(Agent)、狀態(tài)(State)、行動(Action)和獎勵(Reward)。強(qiáng)化學(xué)習(xí)是從動物學(xué)習(xí)等理論發(fā)展而來,其基本原理是:如果Agent的某個行為策略導(dǎo)致環(huán)境正的獎賞(強(qiáng)化信號),那么Agent以后產(chǎn)生這個行為策略的趨勢便會加強(qiáng)。Agent的目標(biāo)是在每個離散狀態(tài)發(fā)現(xiàn)最優(yōu)策略以使期望的折扣獎賞和最大。過擬合和欠擬合第二節(jié)過擬合和欠擬合模型的泛化在監(jiān)督學(xué)習(xí)中,我們會在訓(xùn)練集上建立一個模型,之后會把這個模型用于新的數(shù)據(jù)中,這個過程稱為模型的泛化(generalization)。我們總是希望模型對于新數(shù)據(jù)的預(yù)測能夠盡可能準(zhǔn)確,這樣才能說模型的泛化能力好,預(yù)測的誤差小,是一個好模型。我們可以使用測試數(shù)據(jù)集對模型的表現(xiàn)進(jìn)行評估,以判定該模型的優(yōu)劣。我們使用什么樣的標(biāo)準(zhǔn)來判斷一個模型的泛化能力是好還是差呢?過擬合和欠擬合1.過擬合 過擬合是指機(jī)器學(xué)習(xí)模型在訓(xùn)練集中表現(xiàn)優(yōu)秀,而在測試集中表現(xiàn)不佳。出現(xiàn)這種現(xiàn)象的主要原因是訓(xùn)練數(shù)據(jù)中存在噪音或者訓(xùn)練數(shù)據(jù)太少,降低過擬合的方法:(1)增加訓(xùn)練數(shù)據(jù)(2)降低模型復(fù)雜度(3)正則化過擬合和欠擬合2.欠擬合
欠擬合時,機(jī)器學(xué)習(xí)模型又過于簡單,學(xué)習(xí)器沒有很好地學(xué)到訓(xùn)練樣本的一般性質(zhì),所以不論在訓(xùn)練集還是測試集中表現(xiàn)都很差。降低欠擬合的方法:(1)添加新特征(2)增加模型復(fù)雜度過擬合和欠擬合過擬合和欠擬合最優(yōu)的模型應(yīng)該是過擬合和欠擬合的折中,它既較好擬合了訓(xùn)練集,又具有很好的泛化能力,在測試數(shù)據(jù)集上也有很好的表現(xiàn)。機(jī)器學(xué)習(xí)必需庫第三節(jié)機(jī)器學(xué)習(xí)必需庫1.Numpy——基礎(chǔ)科學(xué)計算庫Numpy是一個Python中非?;A(chǔ)的用于科學(xué)計算的庫,它的功能包括高維數(shù)組(array)計算、線性代數(shù)計算、傅里葉變換以及生產(chǎn)偽隨機(jī)數(shù)等2.Pandas——數(shù)據(jù)分析的利器Pandas是一個Python中用于進(jìn)行數(shù)據(jù)分析的庫,它可以生成類似Excel表格式的數(shù)據(jù)表,而且可以對數(shù)據(jù)表進(jìn)行修改操作。它還可以從很多不同種類的數(shù)據(jù)庫中提取數(shù)據(jù),如SQL數(shù)據(jù)庫、Excel或者CSV文件。機(jī)器學(xué)習(xí)必需庫3.matplotlib——數(shù)據(jù)可視化matplotlib是一個Python的繪圖庫,它能夠繪制折線圖、散點(diǎn)圖、直方圖等,其強(qiáng)悍的繪圖能力能夠幫我們對數(shù)據(jù)形成非常直觀的認(rèn)知。4.scikit-learn——Python機(jī)器學(xué)習(xí)庫scikit-learn包含眾多頂級機(jī)器學(xué)習(xí)算法,主要有六大類的基本功能:分類、回歸、聚類、數(shù)據(jù)降維、模型選擇和數(shù)據(jù)預(yù)處理。謝謝聆聽THANKSFORYOURATTENTION酒數(shù)據(jù)集可視化—數(shù)據(jù)預(yù)處理項目知識準(zhǔn)備第一節(jié)項目實(shí)訓(xùn)第二節(jié)項目拓展第三節(jié)目錄content項目知識準(zhǔn)備第一節(jié)項目知識準(zhǔn)備2.1.1數(shù)據(jù)處理2.1.2數(shù)據(jù)降維2.1.3數(shù)據(jù)集拆分2.1.1數(shù)據(jù)處理原始數(shù)據(jù)極易受到噪聲(如缺失值、不一致數(shù)據(jù))的侵?jǐn)_,通常情況下量級越大的數(shù)據(jù)集包含的噪聲越多,因此,在建模訓(xùn)練之前需要對數(shù)據(jù)進(jìn)預(yù)處理。預(yù)處理分為數(shù)據(jù)處理、數(shù)據(jù)降維和數(shù)據(jù)集劃分。這里的數(shù)值處理主要指的是機(jī)器學(xué)習(xí)scikit-learn庫中的preprocessing模塊中的數(shù)據(jù)預(yù)處理方法,將原始數(shù)據(jù)轉(zhuǎn)換為適合機(jī)器學(xué)習(xí)的形式,用于改善機(jī)器學(xué)習(xí)的效果。常見的數(shù)據(jù)預(yù)處理方法包括標(biāo)準(zhǔn)化、離差標(biāo)準(zhǔn)化、二值化、歸一化、獨(dú)熱編碼處理。2.1.1數(shù)據(jù)處理原始數(shù)據(jù)極易受到噪聲(如缺失值、不一致數(shù)據(jù))的侵?jǐn)_,通常情況下量級越大的數(shù)據(jù)集包含的噪聲越多,因此,在建模訓(xùn)練之前需要對數(shù)據(jù)進(jìn)預(yù)處理。預(yù)處理分為數(shù)據(jù)處理、數(shù)據(jù)降維和數(shù)據(jù)集劃分。這里的數(shù)值處理主要指的是機(jī)器學(xué)習(xí)scikit-learn庫中的preprocessing模塊中的數(shù)據(jù)預(yù)處理方法,將原始數(shù)據(jù)轉(zhuǎn)換為適合機(jī)器學(xué)習(xí)的形式,用于改善機(jī)器學(xué)習(xí)的效果。常見的數(shù)據(jù)預(yù)處理方法包括標(biāo)準(zhǔn)化、離差標(biāo)準(zhǔn)化、二值化、歸一化、獨(dú)熱編碼處理。2.1.1數(shù)據(jù)處理均值方差標(biāo)準(zhǔn)化是一種將數(shù)據(jù)轉(zhuǎn)化為標(biāo)準(zhǔn)正態(tài)分布的標(biāo)準(zhǔn)化方法。在回歸模型中,服從正態(tài)分布的自變量和因變量往往對應(yīng)著較好的回歸預(yù)測效果。標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化使得經(jīng)過處理的數(shù)據(jù)符合標(biāo)準(zhǔn)正態(tài)分布,即均值為0,標(biāo)準(zhǔn)差為1。StandardScaler將數(shù)據(jù)按其特征(按列進(jìn)行)減去平均值和縮放到單位方差來標(biāo)準(zhǔn)化特征。得到的結(jié)果是,對于每個屬性/每列來說所有數(shù)據(jù)都聚集在0附近,標(biāo)準(zhǔn)差為1,使得新的X數(shù)據(jù)集方差為1,均值為0。2.1.1數(shù)據(jù)處理如果數(shù)據(jù)的分布本身就服從正態(tài)分布,就適用于標(biāo)準(zhǔn)化處理。在進(jìn)行標(biāo)準(zhǔn)化的過程中就將訓(xùn)練集的均值和方差當(dāng)做是總體的均值和方差,因此對測試集使用訓(xùn)練集的均值和方差進(jìn)行預(yù)處理。preprocessing模塊中的StandardScaler類是一個用來將數(shù)據(jù)進(jìn)行歸一化和標(biāo)準(zhǔn)化的類。其基本語法格式如下:classsklearn.preprocessing.StandardScaler(copy=True,with_mean=True,with_std=True)2.1.1數(shù)據(jù)處理2.離差標(biāo)準(zhǔn)化(MinMaxScaler)有時數(shù)據(jù)中每個特征的數(shù)值范圍可能變化很大,這個時候?qū)⑻卣鞯臄?shù)值范圍縮放到合理的大小對于算法模型學(xué)習(xí)數(shù)據(jù)就非常重要。如果數(shù)據(jù)分布在一個范圍內(nèi),在不涉及距離度量、協(xié)方差計算、數(shù)據(jù)不符合正太分布的時候,就可以使用離差標(biāo)準(zhǔn)化處理。preprocessing模塊中的MinMaxScaler類用于特征的離差標(biāo)準(zhǔn)化處理,使原始數(shù)據(jù)的數(shù)值映射到指定區(qū)間范圍內(nèi),將每個特征的數(shù)值轉(zhuǎn)換成給定范圍的值。2.1.1數(shù)據(jù)處理3.二值化(Binarizer)二值化用于將數(shù)值特征向量轉(zhuǎn)換為布爾型向量,通過設(shè)置閾值,將特征值大于閾值的轉(zhuǎn)換為1,特征值小于或等于閾值的轉(zhuǎn)換為0,二值化后的值會落在0或1上。preprocessing模塊中的Binarizer類用于特征二值化。Binarizer類用于創(chuàng)建二值化轉(zhuǎn)換器,其基本語法格式如下。classsklearn.preprocessing.Binarizer(threshold=0.0,copy=True)2.1.1數(shù)據(jù)處理4.歸一化(Normalizer)
數(shù)據(jù)歸一化用于需要對特征向量的值進(jìn)行調(diào)整是,以確保每個特征向量的值都縮放到相同的數(shù)值范圍,歸一化是將樣本在向量空間模型上的一個轉(zhuǎn)換。這個方法經(jīng)常被使用在分類與聚類中,用于確保數(shù)據(jù)點(diǎn)沒有因?yàn)樘卣鞯幕拘再|(zhì)而產(chǎn)生較大差異,即確保數(shù)據(jù)處于同一個數(shù)量級,提高不同特征數(shù)據(jù)的可比性。preprocessing模塊中的Normalizer類用于特征歸一化,常用的歸一化形式是將特征向量調(diào)整為L1或L2范數(shù)。2.1.1數(shù)據(jù)處理5.獨(dú)熱編碼(OneHotEncoder)在機(jī)器學(xué)習(xí)中,特征可能不是數(shù)值型而是分類型的,但某些模型要求為數(shù)值型,最簡單的方法是將特征編碼為整數(shù),如已知分類“性別”為[‘男’,’女’],地點(diǎn)為[‘北京’,’上?!痌,令‘男’類別等于0,‘女’類別等于1,同理,令‘北京’類別等于0,令‘傷害’類別等于1。則[‘男’,’北京’]編碼為[0,0],[‘女’,’北京’]編碼為[1,0]。但是此處理方法可能使估計器認(rèn)為類別(0,1)之間是有序的、有關(guān)聯(lián)的,但實(shí)際上原始數(shù)據(jù)中的類別(男,女)是無序的、無關(guān)聯(lián)的。獨(dú)熱編碼可以解決這個問題。2.1.1數(shù)據(jù)處理獨(dú)熱編碼即One-Hot編碼,又稱一位有效編碼,其方法是使用N位狀態(tài)寄存器來對N個狀態(tài)進(jìn)行編碼,每個狀態(tài)都有它獨(dú)立的寄存器位,并且在任意時候,其中只有一寄存器位有效。啞變量編碼與獨(dú)熱編碼類似,它任意地將一個狀態(tài)位去除,使用N-1個狀態(tài)位就足夠反映N個類別的信息2.1.1數(shù)據(jù)處理6.轉(zhuǎn)換器的使用說明為了實(shí)現(xiàn)大量的數(shù)據(jù)特征處理相關(guān)操作,scikit-learn把相關(guān)的功能封裝為轉(zhuǎn)換器,轉(zhuǎn)換器(Transformer)主要有三個方法:fit():通過分析特征和目標(biāo)值提取有價值的信息,并訓(xùn)練算法、擬合數(shù)據(jù);
transform():主要用來對特征數(shù)據(jù)進(jìn)行轉(zhuǎn)換,實(shí)現(xiàn)標(biāo)準(zhǔn)化數(shù)據(jù);
fit_transform():先調(diào)用fit方法擬合數(shù)據(jù),再調(diào)用transform方法進(jìn)行標(biāo)準(zhǔn)化。2.1.2數(shù)據(jù)降維生活中很難對高維數(shù)據(jù)具有直觀的認(rèn)識,如果把數(shù)據(jù)的維度降低到2維或3維,并且令數(shù)據(jù)點(diǎn)與原高維空間里的關(guān)系保持不變或近似,就可以將降維后的數(shù)據(jù)可視化。在做機(jī)器學(xué)習(xí)的過程中,我們有可能會遇到很復(fù)雜的數(shù)據(jù)。這樣復(fù)雜的數(shù)據(jù)會增加計算資源的消耗,很可能一個算法下來要持續(xù)幾天,甚至幾周的時間,這樣的時間成本會非常的大。另外,如果數(shù)據(jù)的維度過高,還會造成訓(xùn)練模型過度擬合,使得算法模型的泛化能力大大降低。所以我們需要降低數(shù)據(jù)的復(fù)雜性,減少算法訓(xùn)練過程中的存儲量和計算時間,將高維的數(shù)據(jù)降低到低維的數(shù)據(jù)。2.1.2數(shù)據(jù)降維降維就是一種對高維度特征數(shù)據(jù)預(yù)處理方法。降維是將高維度的數(shù)據(jù)保留下最重要的一些特征,去除噪聲和不重要的特征,從而實(shí)現(xiàn)提升數(shù)據(jù)處理速度的目的。數(shù)據(jù)經(jīng)過降維以后,如果保留了原高維數(shù)據(jù)的主要特征,就可以用降維的數(shù)據(jù)進(jìn)行機(jī)器學(xué)習(xí)模型訓(xùn)練和預(yù)測,由于數(shù)據(jù)量大大縮減,訓(xùn)練和預(yù)測的時間效率將大為提高。在實(shí)際的生產(chǎn)和應(yīng)用中,降維在一定的信息損失范圍內(nèi),可以為我們節(jié)省大量的時間和成本。降維也成為應(yīng)用非常廣泛的數(shù)據(jù)預(yù)處理方法。2.1.2數(shù)據(jù)降維1.主成分分析(PCA)簡介PCA(PrincipalComponentAnalysis),即主成分分析方法,是一種使用最廣泛的數(shù)據(jù)降維算法。通過某種線性投影,將高維的數(shù)據(jù)映射到低維的空間中表示,并期望在所投影的維度上數(shù)據(jù)的方差最大,以此使用較少的數(shù)據(jù)維度,同時保留住較多的原數(shù)據(jù)點(diǎn)的特性。PCA的主要思想是將n維特征映射到k維上(k<n),映射的過程要求每個維度的樣本方差最大化,達(dá)到盡量使新的k維特征向量之間互不相關(guān)的目的,這些數(shù)據(jù)中擁有方差最大的k個維度被稱為主成分,是在原有n維特征的基礎(chǔ)上重新構(gòu)造出來的k維特征。2.1.2數(shù)據(jù)降維2.sklearn中PCA用法介紹scikit-learn庫中的decomposition模塊對PCA類進(jìn)行了如下定義:classsklearn.decomposition.PCA(n_components=None,copy=True,whiten=False,svd_solver='auto',tol=0.0,iterated_power='auto',random_state=None)2.1.3數(shù)據(jù)集拆分在機(jī)器學(xué)習(xí)中,我們通常將原始數(shù)據(jù)按照比例分割為“訓(xùn)練集”和“測試集”。在學(xué)習(xí)算法中,一個由N個數(shù)字組成的大的集合{??_1,??_2,?,??_??}被稱作訓(xùn)練集(TrainingSet),用來調(diào)節(jié)模型的參數(shù)。這些在訓(xùn)練過程中使用的數(shù)據(jù)也稱為訓(xùn)練數(shù)據(jù)(TrainingData),其中每個樣本稱為一個訓(xùn)練樣本(TrainingSample)。訓(xùn)練集就是所有訓(xùn)練樣本組成的集合,一般我們在整體數(shù)據(jù)中隨機(jī)采樣獲得訓(xùn)練集。而測試集則是整體數(shù)據(jù)中除去訓(xùn)練集的部分。項目實(shí)訓(xùn)第二節(jié)項目實(shí)訓(xùn)2.2.1數(shù)據(jù)標(biāo)準(zhǔn)化處理2.2.2數(shù)據(jù)離差標(biāo)準(zhǔn)化處理2.2.3數(shù)據(jù)二值化處理2.2.4數(shù)據(jù)歸一化處理2.2.5獨(dú)熱編碼處理2.2.6數(shù)據(jù)PCA降維處理2.2.1數(shù)據(jù)標(biāo)準(zhǔn)化處理1.數(shù)據(jù)準(zhǔn)備首先我們需要準(zhǔn)備一些數(shù)據(jù),可以使用scikit-learn庫中內(nèi)置的一些API生成一些數(shù)據(jù)集,其中make_blobs函數(shù)會根據(jù)用戶指定的特征數(shù)量、中心點(diǎn)數(shù)量、范圍等來生成幾類數(shù)據(jù)和相應(yīng)的標(biāo)簽。2.2.1數(shù)據(jù)標(biāo)準(zhǔn)化處理2.數(shù)據(jù)標(biāo)準(zhǔn)化接下來,我們使用scikit-learn的preprocessing模塊中的StandardScaler類對這個生成的數(shù)據(jù)集X進(jìn)行預(yù)處理操作。2.2.2數(shù)據(jù)離差標(biāo)準(zhǔn)化處理MinMaxScaler類可以將所有數(shù)據(jù)點(diǎn)的特征數(shù)值都縮放到制定的數(shù)值范圍內(nèi)。2.2.3數(shù)據(jù)二值化處理特征的二值化主要是為了將數(shù)據(jù)特征轉(zhuǎn)化為boolean布爾型變量,可以利用preprocessing模塊的Binarizer類來實(shí)現(xiàn)。Binarizer類可以設(shè)置一個閾值參數(shù)threshold,數(shù)據(jù)結(jié)果值大于閾值的為1,小于或等于閾值的為0。2.2.4數(shù)據(jù)歸一化處理數(shù)據(jù)歸一化是將每個特征向量的值都縮放到相同的單位范數(shù)。preprocessing模塊的normalizer類用于特征歸一化處理,歸一化的形式有L1、L2范數(shù)等。我們繼續(xù)使用任務(wù)一生成的數(shù)據(jù)集X,對該數(shù)據(jù)集進(jìn)行L2范數(shù)的歸一化化處理。2.2.4數(shù)據(jù)歸一化處理如果我們對數(shù)據(jù)進(jìn)行L1范數(shù)的歸一化化處理,將norm參數(shù)為范數(shù)L1。2.2.5獨(dú)熱編碼處理如果要將分類型數(shù)據(jù)轉(zhuǎn)換為數(shù)值型數(shù)據(jù),就可以使用preprocessing模塊的OneHotEncoder類創(chuàng)建獨(dú)熱編碼轉(zhuǎn)換器。目前OneHotEncoder只能用于整型數(shù)值的類型變量,如果遇到非整型的數(shù)據(jù)就需要先做數(shù)值轉(zhuǎn)換,然后再進(jìn)行獨(dú)熱編碼。numpy模型提供了digitize函數(shù)將數(shù)值轉(zhuǎn)換為分類型數(shù)組,也就是對數(shù)據(jù)進(jìn)行離散化處理,或者稱做裝箱處理。2.2.6數(shù)據(jù)PCA降維處理1.導(dǎo)入iris(鳶尾花)數(shù)據(jù)集2.指定特征數(shù)的PCA降維3.指定方差百分比的PCA降維項目拓展第三節(jié)項目拓展——酒數(shù)據(jù)集拆分、標(biāo)準(zhǔn)化和降維處理1.導(dǎo)入wine酒數(shù)據(jù)集2.將wine數(shù)據(jù)集劃分為訓(xùn)練集和測試集3.對數(shù)據(jù)集進(jìn)行標(biāo)準(zhǔn)化處理4.對數(shù)據(jù)集進(jìn)行降維處理5.wine數(shù)據(jù)集可視化項目拓展——酒數(shù)據(jù)集拆分、標(biāo)準(zhǔn)化和降維處理謝謝聆聽THANKSFORYOURATTENTION基于KNN算法的分類模型K最近鄰算法原理第一節(jié)K最近鄰算法流程第二節(jié)K最近鄰算法關(guān)鍵第三節(jié)目錄contentK最近鄰算法原理第一節(jié)K最近鄰算法原理假設(shè)有兩個不同類別的數(shù)據(jù),分別用紅色小三角形和藍(lán)色小正方形表示,圖中間那個綠色的圓點(diǎn)所標(biāo)示的數(shù)據(jù)則是待分類的數(shù)據(jù),現(xiàn)在這個新的圓點(diǎn)應(yīng)該屬于哪個分類呢?K最近鄰(K-NearestNeighbor,KNN)算法的核心思想就是距離的比較,即離誰近,就和誰屬于同一分類。K最近鄰算法原理假設(shè)K代表鄰居的個數(shù),從上圖中,我們看到:如果K=3,圓點(diǎn)最鄰近的3個鄰居是2個小三角形和1個小正方形,少數(shù)從服從多數(shù),基于統(tǒng)計的方法,判定圓點(diǎn)屬于三角形一類。如果K=5,圓點(diǎn)最鄰近的5個鄰居是2個三角形和3個正方形,還是少數(shù)服從多數(shù),基于統(tǒng)計的方法,判定圓點(diǎn)屬于正方形一類。由此我們看到,在KNN算法中,所選擇的鄰居都是已經(jīng)正確分類的對象,對于新來的待分樣本,只要找到離它最近的K個實(shí)例,按照少數(shù)服從多數(shù)原則,哪個類別多就把它歸為哪一類。K最近鄰算法原理K最近鄰算法,即是給定一個訓(xùn)練數(shù)據(jù)集,對新的輸入實(shí)例,在訓(xùn)練數(shù)據(jù)集中找到與該實(shí)例最鄰近的k個實(shí)例,這k個實(shí)例的多數(shù)屬于某個類,就把該輸入實(shí)例分類到這個類中。K最近鄰算法流程第二節(jié)K最近鄰算法的流程(1)計算已知類別數(shù)據(jù)集中的點(diǎn)與當(dāng)前點(diǎn)之間的距離;(2)按照距離遞增次序排序;(3)選取與當(dāng)前點(diǎn)距離最小的k個點(diǎn);(4)確定前k個點(diǎn)所在類別的出現(xiàn)頻率;(5)返回前k個點(diǎn)所出現(xiàn)頻率最高的類別作為當(dāng)前點(diǎn)的預(yù)測分類。K最近鄰算法關(guān)鍵第三節(jié)K最近鄰算法的關(guān)鍵1.K最近鄰算法中k的選取K最近鄰算法中的k值我們應(yīng)該怎么選取呢?k為多少效果最好呢?如果我們選取較小的k值,那么就會意味著我們的整體模型會變得復(fù)雜,容易發(fā)生過擬合。K最近鄰算法的關(guān)鍵1.K最近鄰算法中k的選取假設(shè)我們選取k=1這個極端情況,我們有訓(xùn)練數(shù)據(jù)和待分類點(diǎn)如下圖:我們能夠看出來綠色圓點(diǎn)離紅色的三角形最近,k又等于1,我們最終判定待分類點(diǎn)是紅色的三角形。由這個例子我們很容易能夠感覺出問題了,如果k太小了,比如等于1,那么模型就太復(fù)雜了,我們很容易學(xué)習(xí)到噪聲,也就非常容易判定為噪聲類別。K最近鄰算法的關(guān)鍵1.K最近鄰算法中k的選取如果k大一點(diǎn),假設(shè)k=7,離圓點(diǎn)最近的7個鄰居中,藍(lán)色正方形有5個,少數(shù)服從多數(shù),我們判斷出圓點(diǎn)屬于正方形類,我們很容易得到正確的分類,如下圖:K最近鄰算法的關(guān)鍵1.K最近鄰算法中k的選取假設(shè)選擇極端值k=N(N為訓(xùn)練樣本的個數(shù)),那么,我們統(tǒng)計出紅色三角形是5個,藍(lán)色方形個數(shù)是6個,就會得出綠色圓點(diǎn)是屬于藍(lán)色方形的錯誤結(jié)論,如下圖。如果我們選取較大的k值,就相當(dāng)于用較大鄰域中的訓(xùn)練數(shù)據(jù)進(jìn)行預(yù)測,這時與待分類實(shí)例較遠(yuǎn)的(不相似)訓(xùn)練實(shí)例也會對預(yù)測起作用,使預(yù)測發(fā)生錯誤,k值的增大意味著整體模型變得簡單。K最近鄰算法的關(guān)鍵1.K最近鄰算法中k的選取由此可知,選取不同的k值,會對結(jié)果造成很大的影響,那么我們一般怎么選取呢?k值的選取,既不能太大,也不能太小,何值為最好,需要實(shí)驗(yàn)調(diào)整參數(shù)確定。K最近鄰算法的關(guān)鍵2.距離的度量K最近鄰算法是在訓(xùn)練數(shù)據(jù)集中找到與該實(shí)例最鄰近的K個實(shí)例,這K個實(shí)例的多數(shù)屬于某個類,我們就說預(yù)測點(diǎn)屬于哪個類。定義中所說的最鄰近是如何度量呢?我們怎么知道誰跟測試點(diǎn)最鄰近?與該實(shí)例最近鄰的k個實(shí)例,這個最近鄰的定義是通過不同距離函數(shù)來定義,我們最常用的是歐式距離。K最近鄰算法的關(guān)鍵2.距離的度量歐式距離就是應(yīng)用勾股定理計算兩個點(diǎn)的直線距離。二維空間的公式,P為點(diǎn)(x1,y1)與點(diǎn)(x2,y2)之間的歐式距離。N維空間的公式:謝謝聆聽THANKSFORYOURATTENTION基于線性回歸算法的預(yù)測模型什么是線性回歸第一節(jié)損失函數(shù)第二節(jié)嶺回歸和套索回歸第三節(jié)目錄content什么是線性回歸第一節(jié)什么是線性回歸做一個房屋價值的評估系統(tǒng),一個房屋的價值來自很多地方,比如說面積、房間的數(shù)量(幾室?guī)讖d)、地段、朝向等等,為了簡單,假設(shè)我們的房屋就是一個變量影響的,就是房屋的面積,現(xiàn)在有一些房屋面積和對應(yīng)價格的數(shù)據(jù),已知一個房屋的面積,如何評估它的價格?面積(m2)價格(萬元)123250150320871601022209620065130什么是線性回歸我們可以做出一個圖,x軸是房屋的面積。y軸是房屋的售價。什么是線性回歸如果來了一個新的面積,假設(shè)在銷售價錢的記錄中沒有的,我們怎么辦呢?我們可以用一條曲線去盡量準(zhǔn)的擬合這些數(shù)據(jù),然后如果有新的輸入過來,我們可以在將曲線上這個點(diǎn)對應(yīng)的值返回。如果用一條直線去擬合,可能是下面的樣子:什么是線性回歸線性回歸是回歸問題中的一種,線性回歸假設(shè)目標(biāo)值與特征之間線性相關(guān),即滿足一個多元一次方程。通過構(gòu)建損失函數(shù),來求解損失函數(shù)最小時的參數(shù)w和b。通長我們可以表達(dá)成如下公式:y^為預(yù)測值,自變量x和因變量y是已知的,而我們想實(shí)現(xiàn)的是預(yù)測新增一個x,其對應(yīng)的y是多少。因此,為了構(gòu)建這個函數(shù)關(guān)系,目標(biāo)是通過已知數(shù)據(jù)點(diǎn),求解線性模型中w和b兩個參數(shù)。什么是線性回歸回歸在數(shù)學(xué)上來說是給定一個點(diǎn)集,能夠用一條曲線去擬合之,如果這個曲線是一條直線,那就被稱為線性回歸,如果曲線是一條二次曲線,就被稱為二次回歸。損失函數(shù)第二節(jié)損失函數(shù)求解最佳參數(shù),需要一個標(biāo)準(zhǔn)來對結(jié)果進(jìn)行衡量。線性回歸的原理是,找到當(dāng)訓(xùn)練數(shù)據(jù)集中y的預(yù)測值和其真實(shí)值的平方差最小的時候,所對應(yīng)的w值和b值。針對任何模型求解問題,都是最終都是可以得到一組預(yù)測值y^,對比已有的真實(shí)值y,數(shù)據(jù)行數(shù)為n,可以將損失函數(shù)定義如下:嶺回歸和套索回歸第三節(jié)嶺回歸——使用L2正則化的線性模型1.嶺回歸的原理嶺回歸是一種改良的最小二乘法,是一種能夠避免過擬合的線性模型。在嶺回歸中,模型會保留所有的特征變量,但會減小特征變量的系數(shù)值,讓特征變量對預(yù)測結(jié)果的影響變小。嶺回歸是通過改變其alpha參數(shù)來控制減小特征變量系統(tǒng)的程度。而這種通過保留全部特征變量,只是降低特征變量的系數(shù)值來避免過擬合的方法,我們稱之為L2正則化。嶺回歸——使用L2正則化的線性模型2.嶺回歸的參數(shù)調(diào)節(jié)嶺回歸是在模型的簡單性(使系數(shù)趨近于零)和它在訓(xùn)練集上的性能之間取得平衡的一種模型。在嶺回歸中,默認(rèn)參數(shù)alpha=1。alpha的最佳設(shè)置取決于我們使用的特定數(shù)據(jù)集。增加alpha值會降低特征變量的系數(shù),使其趨于零,從而降低在訓(xùn)練集的性能,但更有助于泛化。降低alpha值會讓系數(shù)的限制變得不那么嚴(yán)格,如果用一個非常小的alpha值,那么系數(shù)的限制幾乎可以忽略不計,得到的結(jié)果也會非常接近線性回歸。套索回歸——使用L1正則化的線性模型1.套索回歸的原理和嶺回歸一樣,套索回歸也會將系數(shù)限制在非常接近0的范圍內(nèi),但它進(jìn)行限制的方式稍微有一點(diǎn)不同,使用的是L1正則化。L1正則化會導(dǎo)致在使用套索回歸的時候,有一部分特征的系數(shù)正好等于0.。把一部分系數(shù)變成0有助于模型更容易理解,而且可以突出體現(xiàn)模型中最重要的那些特征。套索回歸——使用L1正則化的線性模型2.套索回歸的參數(shù)調(diào)節(jié)與嶺回歸類似,套索回歸也有一個正則化參數(shù)alpha,用來控制特征變量系數(shù)被約束到0的程度。降低alpha值可以擬合出更復(fù)雜的模型,從而在訓(xùn)練集和測試集都能獲得良好表現(xiàn)。但alpha值設(shè)置得太小,那就等于把正則化的效果去除了,模型就會像線性回歸一樣,出現(xiàn)過擬合的問題。謝謝聆聽THANKSFORYOURATTENTION基于線性回歸算法的預(yù)測模型什么是線性回歸第一節(jié)損失函數(shù)第二節(jié)嶺回歸和套索回歸第三節(jié)目錄content什么是線性回歸第一節(jié)什么是線性回歸做一個房屋價值的評估系統(tǒng),一個房屋的價值來自很多地方,比如說面積、房間的數(shù)量(幾室?guī)讖d)、地段、朝向等等,為了簡單,假設(shè)我們的房屋就是一個變量影響的,就是房屋的面積,現(xiàn)在有一些房屋面積和對應(yīng)價格的數(shù)據(jù),已知一個房屋的面積,如何評估它的價格?面積(m2)價格(萬元)123250150320871601022209620065130什么是線性回歸我們可以做出一個圖,x軸是房屋的面積。y軸是房屋的售價。什么是線性回歸如果來了一個新的面積,假設(shè)在銷售價錢的記錄中沒有的,我們怎么辦呢?我們可以用一條曲線去盡量準(zhǔn)的擬合這些數(shù)據(jù),然后如果有新的輸入過來,我們可以在將曲線上這個點(diǎn)對應(yīng)的值返回。如果用一條直線去擬合,可能是下面的樣子:y=kx+by指的是房價,即我們試圖預(yù)測的值。x指的是房屋面積,即輸入特征的值。k指的是直線的斜率。b指的是y軸截距。什么是線性回歸回歸在數(shù)學(xué)上來說是給定一個點(diǎn)集,能夠用一條曲線去擬合之,如果這個曲線是一條直線,那就被稱為線性回歸,如果曲線是一條二次曲線,就被稱為二次回歸。線性回歸是回歸問題中的一種,線性回歸假設(shè)目標(biāo)值與特征之間線性相關(guān),即滿足一個多元一次方程。線性模型的基本形式線性模型試圖學(xué)得一個通過屬性的線性組合來進(jìn)行預(yù)測(目標(biāo)屬性)的函數(shù)。X1X2y2.07.052.8609.096.75.03.021.21.02.06.04.05.0?w和b為模型的參數(shù),w參數(shù)代表了每個特征的權(quán)重,體現(xiàn)各屬性重要性。當(dāng)然,w也可以是負(fù)數(shù),b為偏置。ω:[w1,w2]T,X:[x1,x2]向量形式:線性模型的基本形式模型只要用數(shù)據(jù)集中的y和[x1,x2]計算出w和b,之后就可以通過給定新的[x1,x2]計算預(yù)測值y是多少。因此,為了構(gòu)建這個函數(shù)關(guān)系,目標(biāo)是通過已知數(shù)據(jù)點(diǎn),求解線性模型中兩個參數(shù)。線性模型的一般預(yù)測公式為:其中x0~xn為數(shù)據(jù)集中每個樣本的特征值,w和b代表模型計算出來每個特征的權(quán)重和偏差,?為模型計算出來的預(yù)測結(jié)果值。假設(shè)數(shù)據(jù)集中的樣本只有一個特征,這個公式就變得非常簡單,如下:實(shí)際上就是一個直線方程線性回歸練習(xí)實(shí)現(xiàn)下表輸入與輸出的線性回歸,預(yù)測最后一行數(shù)據(jù)的y值。X1X2y2.07.052.8609.096.75.03.021.21.02.06.04.05.0?損失函數(shù)第二節(jié)損失函數(shù)X31724y4.52.58.53.5?損失函數(shù)均方誤差最小化(最小二乘法)找到一條直線,使所有樣本到直線上的歐式距離之和最小目標(biāo)函數(shù)(單變量)損失函數(shù)線性回歸的原理是,找到當(dāng)訓(xùn)練數(shù)據(jù)集中y的預(yù)測值和其真實(shí)值的平方差最小的時候,所對應(yīng)的w值和b值。針對任何模型求解問題,都是最終都是可以得到一組預(yù)測值?,對比已有的真實(shí)值y,數(shù)據(jù)行數(shù)為n,可以將損失函數(shù)定義如下:在分類算法中分類的準(zhǔn)確率是關(guān)鍵指標(biāo),而回歸算法的優(yōu)良程度是由預(yù)測值和測試數(shù)據(jù)集數(shù)據(jù)的偏差表示的。模型可用的度量常用的對連續(xù)值預(yù)測偏差的度量指標(biāo)有四個:均方誤差:MSE均方根誤差:RMSE平均絕對誤差:MAER2:R-squaredyi是測試集上的真實(shí)值?i是模型的預(yù)測值?是數(shù)據(jù)集的均值嶺回歸和套索回歸第三節(jié)嶺回歸——使用L2正則化的線性模型1.嶺回歸的原理嶺回歸是一種改良的最小二乘法,是一種能夠避免過擬合的線性模型。在嶺回歸中,模型會保留所有的特征變量,但會減小特征變量的系數(shù)值,讓特征變量對預(yù)測結(jié)果的影響變小。嶺回歸是通過改變其alpha參數(shù)來控制減小特征變量系數(shù)的程度。而這種通過保留全部特征變量,只是降低特征變量的系數(shù)值來避免過擬合的方法,我們稱之為L2正則化。嶺回歸——使用L2正則化的線性模型2.嶺回歸的參數(shù)調(diào)節(jié)嶺回歸是在模型的簡單性(使系數(shù)趨近于零)和它在訓(xùn)練集上的性能之間取得平衡的一種模型。在嶺回歸中,默認(rèn)參數(shù)alpha=1。alpha的最佳設(shè)置取決于我們使用的特定數(shù)據(jù)集。增加alpha值會降低特征變量的系數(shù),使其趨于零,從而降低在訓(xùn)練集的性能,但更有助于泛化。降低alpha值會讓系數(shù)的限制變得不那么嚴(yán)格,如果用一個非常小的alpha值,那么系數(shù)的限制幾乎可以忽略不計,得到的結(jié)果也會非常接近線性回歸。套索回歸——使用L1正則化的線性模型1.套索回歸的原理和嶺回歸一樣,套索回歸也會將系數(shù)限制在非常接近0的范圍內(nèi),但它進(jìn)行限制的方式稍微有一點(diǎn)不同,使用的是L1正則化。L1正則化會導(dǎo)致在使用套索回歸的時候,有一部分特征的系數(shù)正好等于0.。把一部分系數(shù)變成0有助于模型更容易理解,而且可以突出體現(xiàn)模型中最重要的那些特征。套索回歸——使用L1正則化的線性模型2.套索回歸的參數(shù)調(diào)節(jié)與嶺回歸類似,套索回歸也有一個正則化參數(shù)alpha,用來控制特征變量系數(shù)被約束到0的程度。降低alpha值可以擬合出更復(fù)雜的模型,從而在訓(xùn)練集和測試集都能獲得良好表現(xiàn)。但alpha值設(shè)置得太小,那就等于把正則化的效果去除了,模型就會像線性回歸一樣,出現(xiàn)過擬合的問題。謝謝聆聽THANKSFORYOURATTENTION基于邏輯回歸算法的分類模型項目知識準(zhǔn)備第一節(jié)項目實(shí)訓(xùn)第二節(jié)項目拓展第三節(jié)目錄content項目知識準(zhǔn)備第一節(jié)項目知識準(zhǔn)備5.1.1邏輯回歸算法的基本原理5.1.2LogisticRegression邏輯回歸分類器5.1.1邏輯回歸算法的基本原理邏輯回歸是機(jī)器學(xué)習(xí)中最常用最經(jīng)典的分類方法之一。雖然線性回歸算法和邏輯回歸算法都有回歸一詞,但是線性回歸解決回歸問題,而邏輯回歸稱為回歸模型,但是卻處理的是分類問題。5.1.1邏輯回歸算法的基本原理邏輯回歸的因變量可以是二分類的,也可以是多分類的,但是二分類的更為常用,也更加容易解釋,多類可以使用softmax方法進(jìn)行處理。二分類的邏輯回歸的本質(zhì)是一個線性模型加上一個映射函數(shù)Sigmoid,將線性模型得到的連續(xù)結(jié)果映射到離散型上。邏輯回歸的目的是尋找一個非線性函數(shù)Sigmoid的最佳擬合參數(shù),求解過程可以由最優(yōu)化算法來完成。5.1.1邏輯回歸算法的基本原理Sigmoid函數(shù)將任意的輸入映射到了[0,1]區(qū)間,我們在線性回歸中可以得到一個預(yù)測值,再將該值映射到Sigmoid函數(shù)中這樣就完成了由值到概率的轉(zhuǎn)換,也就是分類任務(wù)。5.1.2LogisticRegression邏輯回歸分類器LogisticRegression類的定義如下:
classsklearn.linear_model.LogisticRegression(penalty='l2',dual=False,tol=0.0001,c=1.0,fit_intercept=True,intercept_scaling=1,class_weight=None,random_state=None,solver='liblinear',max_iter=100,multi_class='ovr',verbose=0,warm_start=False,n_jobs=1)主要參數(shù):penalty:正則化選擇參數(shù),str類型,penalty參數(shù)可選擇的值為“l(fā)1”或“l(fā)2”。c:正則化系數(shù)λ的倒數(shù),float類型,默認(rèn)為1.0。必須是正浮點(diǎn)型數(shù)。solver:優(yōu)化算法。取值“l(fā)iblinear”代表坐標(biāo)軸下降優(yōu)化法?!發(fā)bfgs”和“newton-cg”分別表示兩種擬牛頓優(yōu)化方法;“sag”是隨機(jī)梯度下降優(yōu)化法。max_iter:int,可選,默認(rèn)值=100。求解器收斂的最大迭代次數(shù)。multi_class:該參數(shù)決定分類方式的選擇。參數(shù)可選項為{'auto','ovr','multinomial'}5.1.2LogisticRegression邏輯回歸分類器主要屬性:(1)coef_:返回各特征的系數(shù);(2)intercept_:返回模型的截距;(3)n_iter_:返回模型迭代次數(shù)。常用方法:(1)fit(X,y):根據(jù)給定的訓(xùn)練數(shù)據(jù)對模型進(jìn)行擬合;(2)predict(X):預(yù)測X中樣本所屬類別的標(biāo)簽;(3)predict_proba(X):概率估計,預(yù)測X中樣本為某個類別的概率;(4)score(X,y):返回給定測試數(shù)據(jù)和實(shí)際標(biāo)簽相匹配的平均準(zhǔn)確率。項目實(shí)訓(xùn)第二節(jié)項目實(shí)訓(xùn)5.2.1邏輯回歸算法預(yù)測考試是否及格5.2.2邏輯回歸算法實(shí)現(xiàn)鳶尾花分類5.2.1邏輯回歸算法預(yù)測考試是否及格1.數(shù)據(jù)準(zhǔn)備首先我們需要準(zhǔn)備一些往年的調(diào)查結(jié)果數(shù)據(jù),根據(jù)學(xué)生的復(fù)習(xí)情況,確定數(shù)據(jù)的兩個特征為時長、效率,其中時長單位為小時,效率為[0,1]之間的浮點(diǎn)數(shù),數(shù)值越大表示效率越高。定義訓(xùn)練數(shù)據(jù)集X_train,目標(biāo)值y_train為考試結(jié)果,0表示不及格,1表示及格。5.2.1邏輯回歸算法預(yù)測考試是否及格2.創(chuàng)建并訓(xùn)練邏輯回歸模型接下來,我們使用scikit-learn的linear_model模塊中的LogisticRegression類構(gòu)造邏輯回歸模型并使用往年的調(diào)查結(jié)果數(shù)據(jù)對模型進(jìn)行訓(xùn)練,并使用測試數(shù)據(jù)評估模型得分。5.2.1邏輯回歸算法預(yù)測考試是否及格3.預(yù)測并輸出預(yù)測結(jié)果給出一個學(xué)生的學(xué)習(xí)狀態(tài),預(yù)測該學(xué)生考試是否能夠及格,并給出考試及格和不及格的概率。5.2.2邏輯回歸算法實(shí)現(xiàn)鳶尾花分類1.準(zhǔn)備數(shù)據(jù)集和必要的模塊使用scikit-learn的datasets模塊中的iris作為數(shù)據(jù)集,導(dǎo)入線性模塊linear_model中的LogisticRegression類,使用sklearn.model_selection進(jìn)行測試集和訓(xùn)練集的劃分。5.2.2邏輯回歸算法實(shí)現(xiàn)鳶尾花分類2.創(chuàng)建邏輯回歸模型對象并訓(xùn)練、評估模型首先對multi_class參數(shù)采用“ovr”的多分類方式,那么對于solver算法參數(shù)選擇“l(fā)iblinear”5.2.2邏輯回歸算法實(shí)現(xiàn)鳶尾花分類接下來我們修改multi_class參數(shù)為“multinomial”的多分類方式,那么對于solver算法參數(shù)改為選擇“l(fā)bfgs”項目拓展第三節(jié)項目拓展——判斷腫瘤是良性還是惡性1.導(dǎo)入breast_cancer數(shù)據(jù)集2.將breast_cancer數(shù)據(jù)集劃分為訓(xùn)練集和測試集3.對數(shù)據(jù)集進(jìn)行標(biāo)準(zhǔn)化處理4.構(gòu)建LogisticRegression模型并訓(xùn)練模型5.Logistic回歸模型分析與評估謝謝聆聽THANKSFORYOURATTENTION基于樸素貝葉斯算法的分類模型項目知識準(zhǔn)備第一節(jié)項目實(shí)訓(xùn)第二節(jié)項目拓展第三節(jié)目錄content項目知識準(zhǔn)備第一節(jié)項目知識準(zhǔn)備6.1.1樸素貝葉斯原理6.1.2伯努利樸素貝葉斯算法6.1.3高斯樸素貝葉斯算法6.1.4多項式樸素貝葉斯算法6.1.1樸素貝葉斯原理1. 貝葉斯定理貝葉斯定理是描述隨機(jī)事件N和B的條件概率(或邊緣概率)的一則定理。其中P{A\B)是在事件B發(fā)生的情況下事件A發(fā)生的可能性。通常,事件A在事件8(發(fā)生)的條件下的概率,與事件B在事件[的條件下的概率是不一樣的;然而,這兩者有確定的關(guān)系,貝葉斯定理就是對這種關(guān)系的陳述。貝葉斯定理的公式如式(6-1)所示:P(A\B)=P(B\A)P(A)/P(B)6.1.1樸素貝葉斯原理2. 樸素貝葉斯算法樸素貝葉斯算法(naiveBayesianalgorithm)是應(yīng)用最為廣泛的分類算法之一。樸素貝葉斯算法在貝葉斯算法的基礎(chǔ)上進(jìn)行了相應(yīng)的簡化,即假定給定目標(biāo)值時屬性之間相互條件獨(dú)立。也就是說,沒有哪個屬性變量對決策結(jié)果占有較大的比重,也沒有哪個屬性變量對決策結(jié)果占有較小的比重。這個簡化方式雖然在一定程度上降低了貝葉斯算法的分類效果,但是在實(shí)際的應(yīng)用場景中,極大地簡化了貝葉斯算法的復(fù)雜性。6.1.1樸素貝葉斯原理3.算法原理樸素貝葉斯算法是以貝葉斯定理為基礎(chǔ)并且假設(shè)特征條件之間相互獨(dú)立的方法,先通過已給定的訓(xùn)練集,以特征詞之間獨(dú)立作為前提假設(shè),學(xué)習(xí)從輸入到輸出的聯(lián)合概率分布,再基于學(xué)習(xí)到的模型,輸入X求出使得后驗(yàn)概率最大的輸出Y。6.1.2伯努利樸素貝葉斯在伯努利模型中,每個特征的取值是布爾型的,即true和false,或者1和0。如果樣本特征是二元離散值或者很稀疏的多元離散值,適合使用伯努利樸素貝葉斯模型。scikit-learn庫中的naive_bayes模塊提供了BernoulliNB類作為先驗(yàn)為伯努利分布的樸素貝葉斯模型?;径x如下:classsklearn.naive_bayes.BernoulliNB(alpha=1.0,binarize=0.0,fit_prior=True,class_prior=None)6.1.2伯努利樸素貝葉斯參數(shù)說明如下:alpha:float類型,平滑因子,默認(rèn)等于1。當(dāng)?shù)扔?時表示拉普拉斯平滑(拉普拉斯平滑是用來處理樸素貝葉斯方法中可能出現(xiàn)的零概率問題)。binarize:float類型或者None。如果該參數(shù)為None,那么假定原始數(shù)據(jù)已經(jīng)二元化了;如果該參數(shù)是float類型,那么以該數(shù)值為界,特征取值大于它的為1,特征取值小于它的為0。fit_prior:表示是否要學(xué)習(xí)先驗(yàn)概率,如果為False,則所有樣本輸出時使用統(tǒng)一的類別先驗(yàn)概率(1/類別數(shù))。如果為True時,則可以利用參數(shù)class_piror輸入先驗(yàn)概率,或者不輸入該參數(shù),可以從訓(xùn)練集中自己計算先驗(yàn)概率。class_prior:一個數(shù)組,它指定了每個類別的先驗(yàn)概率,如果指定了該參數(shù),則每個分類的先驗(yàn)概率不再從數(shù)據(jù)集中學(xué)習(xí)。6.1.2伯努利樸素貝葉斯BernoulliNB類的常用方法如下:(1)fit(X,y):根據(jù)給定的訓(xùn)練數(shù)據(jù)對模型進(jìn)行擬合;(2)predict(X):預(yù)測X中樣本所屬類別的標(biāo)簽,返回預(yù)測值;(3)predict_proba(X):返回一個數(shù)組,數(shù)組的元素依次是X預(yù)測為各個類別的概率值;(4)score(X,y):返回給定測試數(shù)據(jù)和實(shí)際標(biāo)簽相匹配的平均準(zhǔn)確率。6.1.3高斯樸素貝葉斯算法高斯分布就是正態(tài)分布,高斯樸素貝葉斯就是先驗(yàn)為高斯分布的樸素貝葉斯。我們把一個隨機(jī)變量X服從數(shù)學(xué)期望為μ、方差為σ2的數(shù)據(jù)分布稱為正態(tài)分布,當(dāng)數(shù)學(xué)期望μ=0,方差σ=1時稱為標(biāo)準(zhǔn)正態(tài)分布。如下圖所示:6.1.3高斯樸素貝葉斯算法高斯樸素貝葉斯原理現(xiàn)有一人,名叫李四,李四對觀看了《流浪地球》這部電影某場次的觀眾做了調(diào)查,將觀眾分為兩類,喜歡《流浪地球》這部電影的和不喜歡《流浪地球》這部電影的。這兩類觀眾的人數(shù)相等。由于兩類觀眾的人數(shù)相等,所以兩類觀眾的先驗(yàn)概率均為0.5,即P(喜歡)=P(不喜歡)=0.5?,F(xiàn)對食用了50g爆米花、500ml蘇打水和25g糖果的觀眾進(jìn)行預(yù)測分類。6.1.3高斯樸素貝葉斯算法6.1.3高斯樸素貝葉斯算法6.1.3高斯樸素貝葉斯算法同理:提取不喜歡《流浪地球》的觀眾零食和飲料數(shù)據(jù)的似然分布中3個條件對應(yīng)的似然值,不喜歡《流浪地球》的觀眾零食和飲料數(shù)據(jù)對應(yīng)的概率計算,不喜歡《流浪地球》的觀眾對應(yīng)的概率約為-48。由于概率值-48大于-124,所以認(rèn)為食用了50g爆米花、500ml蘇打水和25g糖的觀眾不喜歡《流浪地球》的可能性大于喜歡《流浪地球》的。上述李四對觀眾類別進(jìn)行分類預(yù)測的思路方法為高斯樸素貝葉斯的算法原理。6.1.3高斯樸素貝葉斯算法scikit-learn庫中的naive_bayes模塊提供了GaussianNB類作為高斯樸素貝葉斯模型?;径x如下:classsklearn.naive_bayes.GaussianNB(priors=None,var_smoothing=1e-09)參數(shù)說明如下:priors:表示類的先驗(yàn)概率,對應(yīng)Y的各個類別的先驗(yàn)概率P(Y=Ck)。這個值默認(rèn)不給定,如果沒有給定,模型則根據(jù)樣本數(shù)據(jù)自己計算;如果給出的話就以priors為準(zhǔn)。var_smoothing:浮點(diǎn)數(shù),可不填(默認(rèn)值=1e-9)。在估計方差時,為了追求估計的穩(wěn)定性,將所有特征的方差中最大的方差以某個比例添加到估計的方差中,這個比例由var_smoothing參數(shù)控制。GaussianNB類的擬合、預(yù)測方法與BernoulliNB類一樣,這里就不再描述了。6.1.4多項式樸素貝葉斯算法多項式樸素貝葉斯適用于離散變量,其假設(shè)各個特征xi在各個類別y下是服從多項式分布的,故每個特征值不能是負(fù)數(shù)。多項式實(shí)驗(yàn)中的實(shí)驗(yàn)結(jié)果都很具體,它所涉及的特征往往是次數(shù),頻率,計數(shù),出現(xiàn)與否這樣的概念,這些概念都是離散的正整數(shù),因此,scikit-learn中的多項式樸素貝葉斯模型不接受負(fù)值的輸入。多項式樸素貝葉斯的特征矩陣經(jīng)常是稀疏矩陣(不一定總是稀疏矩陣),適合離散特征的分類問題。(例如:文本分類中的單詞計數(shù))。6.1.4多項式樸素貝葉斯算法1.多項式樸素貝葉斯原理假設(shè)存在一人,名叫張三,張三于某日打開電腦郵箱查看郵件,收到了來自家人跟朋友的正常郵件共8封,以及來自各種廣告商發(fā)的垃圾郵件共4封,張三想要利用這些郵件來制作一個可以過濾垃圾郵件的模型。張三統(tǒng)計了所有正常郵件中出現(xiàn)的單詞以及各單詞的數(shù)量,并提取了其中的四個單詞對應(yīng)的數(shù)據(jù):6.1.4多項式樸素貝葉斯算法張三也統(tǒng)計了所有垃圾郵件中出現(xiàn)的單詞以及各單詞的數(shù)量,并提取了其中的四個單詞對應(yīng)的數(shù)據(jù):6.1.4多項式樸素貝葉斯算法6.1.4多項式樸素貝葉斯算法2.MultinomialNB模型scikit-learn庫中的naive_bayes模塊提供了MultinomialNB類作為多項式樸素貝葉斯模型?;径x如下:classsklearn.naive_bayes.MultinomialNB(alpha=1.0,class_prior=None,fit_prior=True)參數(shù)說明如下:alpha:先驗(yàn)平滑因子,默認(rèn)為1.0,即添加拉普拉斯平滑,如果這個參數(shù)設(shè)置為0,就是不添加平滑。fit_prior:表示是否要考慮先驗(yàn)概率。如果是false,則考慮所有類別都有相同的先驗(yàn)概率。否則可以自己用第3個參數(shù)class_prior輸入先驗(yàn)概率,或者不輸入第3個參數(shù)class_prior,讓MultinomialNB自己從訓(xùn)練集樣本來計算先驗(yàn)概率。class_prior:一個數(shù)組,它指定了每個分類的先驗(yàn)概率。如果指定了該參數(shù),則每個分類的先驗(yàn)概率不再從數(shù)據(jù)集中學(xué)習(xí)。項目實(shí)訓(xùn)第二節(jié)項目實(shí)訓(xùn)6.2.1伯努利樸素貝葉斯模型實(shí)現(xiàn)天氣預(yù)測6.2.2高斯樸素貝葉斯模型實(shí)現(xiàn)連續(xù)值的分類6.2.3多項式樸素貝葉斯模型實(shí)現(xiàn)離散特征的分類6.2.1伯努利樸素貝葉斯模型實(shí)現(xiàn)天氣預(yù)測1.數(shù)據(jù)收集和分析首先收集前7天內(nèi)和氣象有關(guān)的信息,包括是否刮北風(fēng)、悶熱、多云,以及天氣預(yù)報有雨等數(shù)據(jù),如表6-7所示。6.2.1伯努利樸素貝葉斯模型實(shí)現(xiàn)天氣預(yù)測2.創(chuàng)建貝努利樸素貝葉斯模型并進(jìn)行天氣預(yù)測我們使用scikit-learn的naive_bayes模塊中的BernoulliNB類構(gòu)造貝努利樸素貝葉斯模型并使用過去7天的氣象數(shù)據(jù)對模型進(jìn)行訓(xùn)練,并使用測試數(shù)據(jù)進(jìn)行預(yù)測。要進(jìn)行預(yù)測的這一天,沒有刮北風(fēng),也不悶熱,但是多云,天氣預(yù)報沒有說有雨。6.2.1伯努利樸素貝葉斯模型實(shí)現(xiàn)天氣預(yù)測3.預(yù)測并分析預(yù)測結(jié)果給出另一天的天氣情況,刮了北風(fēng),而且很悶熱,但云量不多,同時天氣預(yù)報說有雨,測試模型給出的預(yù)測結(jié)果和分類的概率。6.2.2高斯樸素貝葉斯實(shí)現(xiàn)連續(xù)值的分類1.準(zhǔn)備數(shù)據(jù)集并用BernoulliNB類進(jìn)行分類6.2.2高斯樸素貝葉斯實(shí)現(xiàn)連續(xù)值的分類2.使用高斯樸素貝葉斯模型進(jìn)行分類6.2.3多項式樸素貝葉斯實(shí)現(xiàn)離散特征的分類1.使用多項式樸素貝葉斯模型進(jìn)行分類6.2.3多項式樸素貝葉斯實(shí)現(xiàn)離散特征的分類2.數(shù)值離散化處理后重新擬合模型進(jìn)行分類項目拓展第三節(jié)項目拓展——估算個人年收入等級數(shù)據(jù)準(zhǔn)備2.將數(shù)據(jù)集進(jìn)行數(shù)據(jù)轉(zhuǎn)換并編碼處理3.使用高斯樸素貝葉斯進(jìn)行建模4.用模型進(jìn)行預(yù)測謝謝聆聽THANKSFORYOURATTENTION基于決策樹和隨機(jī)森林算法的預(yù)測模型項目知識準(zhǔn)備第一節(jié)項目實(shí)訓(xùn)第二節(jié)項目拓展第三節(jié)目錄content項目知識準(zhǔn)備第一節(jié)項目知識準(zhǔn)備7.1.1決策樹的基本原理和構(gòu)造7.1.2隨機(jī)森林的基本原理和構(gòu)造7.1.1決策樹的基本原理和構(gòu)造決策樹(DecisionTree)是在已知各種情況發(fā)生概率的基
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 17、監(jiān)控改造工程重點(diǎn)及難點(diǎn)分析
- 混凝土外觀質(zhì)量缺陷分析
- 變頻技術(shù)及應(yīng)用 課件 學(xué)習(xí)情境3、4 變頻器的基本調(diào)試、變頻器的運(yùn)行調(diào)試
- 二零二五年度藝術(shù)展覽館租賃合同共同展覽與藝術(shù)交流3篇
- 20202021學(xué)年高中數(shù)學(xué)北師大版選修2-1課件第一章章末優(yōu)化總結(jié)
- 2024年隴南地區(qū)人民醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點(diǎn)附帶答案
- 2024年濟(jì)寧職業(yè)技術(shù)學(xué)院高職單招語文歷年參考題庫含答案解析
- 2024年陽泉煤業(yè)(集團(tuán))有限責(zé)任公司總醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點(diǎn)附帶答案
- 2024年陽春市婦幼保健院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點(diǎn)附帶答案
- 2024年滄州職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試歷年參考題庫含答案解析
- 2024年關(guān)愛留守兒童工作總結(jié)
- 《算術(shù)平方根》課件
- 2024版房屋買賣合同范例:房屋質(zhì)量保證條款3篇
- 網(wǎng)絡(luò)加速器提供商服務(wù)合同
- 轉(zhuǎn)讓押金協(xié)議合同范例
- 《工業(yè)用二氟草酸硼酸鋰》
- 學(xué)校辦公室副主任述職報告范文
- 江蘇省蘇州市2024-2025學(xué)年第一學(xué)期八年級英語期末模擬試卷(一)(含答案)
- 運(yùn)動障礙護(hù)理查房
- Python數(shù)據(jù)分析與應(yīng)用 課件 第12章 Seaborn
- 初三歷史復(fù)習(xí)備考策略
評論
0/150
提交評論