機(jī)器學(xué)習(xí)原理、算法與應(yīng)用 課件 第三章 回歸算法_第1頁(yè)
機(jī)器學(xué)習(xí)原理、算法與應(yīng)用 課件 第三章 回歸算法_第2頁(yè)
機(jī)器學(xué)習(xí)原理、算法與應(yīng)用 課件 第三章 回歸算法_第3頁(yè)
機(jī)器學(xué)習(xí)原理、算法與應(yīng)用 課件 第三章 回歸算法_第4頁(yè)
機(jī)器學(xué)習(xí)原理、算法與應(yīng)用 課件 第三章 回歸算法_第5頁(yè)
已閱讀5頁(yè),還剩75頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

機(jī)器學(xué)習(xí)原理、算法與應(yīng)用

第三章:回歸算法目錄3.1回歸算法概述3.2線性回歸模型3.3可線性化的非線性回歸模型3.4非線性回歸模型3.5多輸出回歸模型3.6回歸算法框架3.7選擇回歸模型3.8實(shí)例分析3.9習(xí)題機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法2本章的重點(diǎn)、難點(diǎn)和需要掌握的內(nèi)容了解回歸算法的特點(diǎn)。掌握簡(jiǎn)單線性回歸模型、多元線性回歸模型、逐步回歸模型。了解嶺回歸、Lasso回歸、ElasticNet回歸等非線性回歸算法。了解倒數(shù)回歸模型、半對(duì)數(shù)回歸模型、指數(shù)函數(shù)回歸模型、冪函數(shù)回歸模型、多項(xiàng)式回歸模型、廣義線性回歸模型、邏輯回歸模型。掌握支持向量回歸模型、保序回歸模型、決策樹(shù)回歸模型、隨機(jī)森林回歸模型、K最近鄰回歸模型。了解回歸算法在分類(lèi)和預(yù)測(cè)方面的應(yīng)用。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法3回歸算法概述回歸分析是一種用于建模和分析數(shù)據(jù)的重要工具,其目的是根據(jù)已有的數(shù)據(jù)預(yù)測(cè)或估計(jì)連續(xù)的數(shù)值輸出。例如,在二手車(chē)交易中,可以使用回歸分析來(lái)根據(jù)車(chē)輛的品牌、里程數(shù)、新舊程度等特征預(yù)測(cè)其成交價(jià)。回歸分析主要思想:通過(guò)找到最佳的擬合曲線或直線來(lái)描述數(shù)據(jù)的關(guān)系,使得數(shù)據(jù)點(diǎn)到擬合曲線或直線的距離方差最小。這種擬合過(guò)程可以通過(guò)最小化殘差平方和來(lái)實(shí)現(xiàn)。擬合曲線或直線能夠在整體上捕捉到數(shù)據(jù)的趨勢(shì),并提供對(duì)未知數(shù)據(jù)點(diǎn)的預(yù)測(cè)或估計(jì)。在幾何學(xué)上,回歸分析可以理解為尋找一條曲線或直線,使得數(shù)據(jù)點(diǎn)在離該曲線或直線的上方或下方不遠(yuǎn)處均勻分布。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法4回歸算法概述回歸分析的目標(biāo)是研究因變量(也稱為目標(biāo)變量,通常表示為y)與自變量(也稱為特征變量,通常表示為x)之間的關(guān)系?;貧w模型用于描述和預(yù)測(cè)因變量與自變量之間的關(guān)聯(lián)關(guān)系,并可以用不同的函數(shù)形式來(lái)表示這種關(guān)系。回歸分析提供了一種強(qiáng)大的工具,用于理解和預(yù)測(cè)因變量與自變量之間的關(guān)系。選擇適當(dāng)?shù)幕貧w模型和方法依據(jù)數(shù)據(jù)的特征、問(wèn)題的要求,以及對(duì)模型的解釋性和預(yù)測(cè)性能的需求。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法5圖3-1

一個(gè)使用不同函數(shù)對(duì)數(shù)據(jù)進(jìn)行擬合的例子回歸算法概述回歸算法可以根據(jù)多個(gè)方面進(jìn)行分類(lèi):自變量的個(gè)數(shù):一元回歸、多元回歸因變量的類(lèi)型:線性回歸、非線性回歸模型的函數(shù)形式:常見(jiàn)的回歸模型包括線性回歸、多項(xiàng)式回歸、嶺回歸、Lasso回歸、邏輯回歸、決策樹(shù)回歸、支持向量回歸等。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法6算法模型函數(shù)形式線性回歸多項(xiàng)式回歸嶺回歸Lasso回歸ElasticNet回歸指數(shù)函數(shù)回歸表3-1常見(jiàn)的回歸模型及其函數(shù)形式回歸算法概述單輸出回歸和多輸出回歸是監(jiān)督學(xué)習(xí)中回歸問(wèn)題的兩種形式,它們?cè)陬A(yù)測(cè)目標(biāo)變量的數(shù)量上有所不同:單輸出回歸(SingleOutputRegression):模型的目標(biāo)是預(yù)測(cè)單個(gè)連續(xù)目標(biāo)變量的值。這意味著每個(gè)樣本有一個(gè)與之對(duì)應(yīng)的目標(biāo)變量。常見(jiàn)的例子包括預(yù)測(cè)房屋價(jià)格,預(yù)測(cè)銷(xiāo)售量等。單輸出回歸的目標(biāo)是建立一個(gè)函數(shù),將輸入特征映射到單個(gè)連續(xù)的目標(biāo)變量。單輸出回歸算法包括線性回歸、嶺回歸、Lasso回歸、支持向量回歸、決策樹(shù)回歸、隨機(jī)森林回歸等。多輸出回歸(Multi-OutputRegression):模型的目標(biāo)是同時(shí)預(yù)測(cè)多個(gè)相關(guān)的目標(biāo)變量的值。這意味著每個(gè)樣本有多個(gè)與之對(duì)應(yīng)的目標(biāo)變量。多輸出回歸可以處理目標(biāo)變量之間的相關(guān)性和相互影響,尤其適用于需要同時(shí)預(yù)測(cè)多個(gè)相關(guān)變量的問(wèn)題。例如,預(yù)測(cè)房屋的價(jià)格和面積,預(yù)測(cè)多維時(shí)間序列數(shù)據(jù)。多輸出回歸的目標(biāo)是建立一個(gè)函數(shù),將輸入特征映射到多個(gè)相關(guān)的目標(biāo)變量。多輸出回歸包括多輸出線性回歸、多輸出決策樹(shù)回歸、多輸出支持向量回歸等模型。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法7目錄3.2線性回歸模型3.2.1簡(jiǎn)單線性回歸模型3.2.2多元線性回歸模型3.2.3正則化線性模型3.2.4ElasticNet回歸模型3.2.5逐步回歸模型機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法8簡(jiǎn)單線性回歸模型

機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法9簡(jiǎn)單線性回歸模型

機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法10圖3-2采用最小二乘法擬合簡(jiǎn)單線性回歸模型簡(jiǎn)單線性回歸模型的特點(diǎn):自變量與因變量之間必須有線性關(guān)系。線性回歸對(duì)異常值非常敏感,它會(huì)嚴(yán)重影響回歸線,最終影響預(yù)測(cè)值。在多個(gè)自變量的情況下,可以使用向前選擇法、向后剔除法和逐步篩選法來(lái)選擇最重要的自變量。多元回歸存在多重共線性、自相關(guān)性和異方差性。多重共線性會(huì)增加系數(shù)預(yù)測(cè)值的方差,使得在模型輕微變化下,估計(jì)非常敏感,結(jié)果就是系數(shù)預(yù)測(cè)值不穩(wěn)定。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法11多元線性回歸模型

機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法12多元線性回歸模型多重共線性問(wèn)題:一個(gè)解釋變量的變化引起另一個(gè)解釋變量的變化。如果各個(gè)自變量x之間有很強(qiáng)的線性相關(guān)關(guān)系,那么就無(wú)法固定其他變量,找不到x和y之間真實(shí)的關(guān)系。通俗地講,共線性是指自變量x(解釋變量)影響因變量y(被解釋變量)時(shí),多個(gè)x之間本身就存在很強(qiáng)的相關(guān)關(guān)系,即x之間有著比較強(qiáng)的替代性,因而導(dǎo)致多重共線性問(wèn)題。對(duì)多元線性回歸模型產(chǎn)生的影響:參數(shù)估計(jì)不準(zhǔn)確解釋變量的解釋力下降假設(shè)檢驗(yàn)的失效可采取的措施包括:增加樣本量、變量聚類(lèi)、選擇有效特征、正則化。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法13正則化線性模型

機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法14圖3-3加入正則化前后的模型如圖所示,左側(cè)為加入正則化前使用多項(xiàng)式回歸過(guò)擬合生成的數(shù)據(jù),右側(cè)為加入正則化后得到的結(jié)果:正則化前曲線彎曲陡峭、模型系數(shù)非常大正則化后曲線平滑、限制模型系數(shù)的快速增長(zhǎng)、模型復(fù)雜度低優(yōu)點(diǎn):控制過(guò)擬合、特征選擇。正則化線性模型常見(jiàn)的正則化線性模型包括嶺回歸和Lasso回歸。嶺回歸:懲罰項(xiàng)是參數(shù)的L2范數(shù)。Lasso回歸:懲罰項(xiàng)是參數(shù)的L1

范數(shù)。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法15正則化線性模型-嶺回歸

機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法16正則化線性模型-嶺回歸

機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法17正則化線性模型-嶺回歸

機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法18正則化線性模型-Lasso回歸

機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法19正則化線性模型-Lasso回歸Lasso回歸特點(diǎn):特征選擇:由于L1懲罰項(xiàng)的作用,Lasso回歸會(huì)將一些不重要特征的系數(shù)壓縮至零,從而實(shí)現(xiàn)特征選擇。稀疏解:Lasso回歸產(chǎn)生的解是稀疏的,即大多數(shù)特征的權(quán)重會(huì)被設(shè)為零,這有助于解釋和理解模型。正則化參數(shù)的選擇:Lasso回歸正則化參數(shù)α的選擇是一個(gè)重要問(wèn)題。適當(dāng)選擇α可以平衡模型的擬合能力和正則化效果。通常使用交叉驗(yàn)證或其他模型選擇技術(shù)來(lái)選擇最佳的α值。防止過(guò)擬合:由于包含了正則化項(xiàng),Lasso回歸在面對(duì)多重共線性問(wèn)題或數(shù)據(jù)維度很高的情況時(shí),比普通的線性回歸更不容易過(guò)擬合。計(jì)算復(fù)雜性:雖然Lasso回歸的優(yōu)化問(wèn)題是非光滑的(因?yàn)長(zhǎng)1懲罰項(xiàng)是非光滑的),但可以通過(guò)坐標(biāo)下降、最小角度回歸(LARS)等算法高效地求解。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法20ElasticNet回歸模型

21機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法ElasticNet回歸模型ElasticNet回歸關(guān)鍵點(diǎn):高度相關(guān)變量的群體效應(yīng):相對(duì)于Lasso回歸,ElasticNet回歸更傾向于保留高度相關(guān)的變量,而不是將其中某些變量系數(shù)置零。當(dāng)多個(gè)特征與另一個(gè)特征高度相關(guān)時(shí),ElasticNet回歸可以更好地處理這種情況,而Lasso回歸可能會(huì)隨機(jī)選擇其中一個(gè)變量。彈性網(wǎng)絡(luò)的使用場(chǎng)景:當(dāng)數(shù)據(jù)集中存在高度相關(guān)的特征時(shí),ElasticNet回歸更有用。它能夠平衡L1正則化項(xiàng)(Lasso回歸)和L2正則化項(xiàng)(嶺回歸),從而結(jié)合了特征選擇和對(duì)相關(guān)特征的保留。對(duì)所選變量數(shù)量的靈活性:與Lasso回歸不同,ElasticNet回歸沒(méi)有對(duì)所選變量數(shù)量的限制。在ElasticNet回歸中,可以選擇保留所有變量,也可以選擇只保留少數(shù)重要變量,甚至可以選擇保留所有變量。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法22逐步回歸模型逐步回歸是一種逐步選擇特征的方法,它通過(guò)迭代的方式,每次選擇一個(gè)特征,將其加入模型中或從模型中剔除,以逐步優(yōu)化模型的性能。逐步回歸三種常見(jiàn)的方法:向前選擇法:將自變量逐個(gè)引入模型,引入一個(gè)自變量后要查看該自變量的引入是否使得模型發(fā)生顯著性變化(F檢驗(yàn)),如果發(fā)生了顯著性變化,那么將該自變量引入模型中,否則忽略該自變量,直至對(duì)所有自變量都進(jìn)行了考慮。將自變量按照貢獻(xiàn)度從大到小排列,依次加入。特點(diǎn):自變量一旦被加入,就永遠(yuǎn)保存在模型中;不能反映自變量引入模型后的模型本身的變化情況。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法23線性回歸模型-逐步回歸模型向后選擇法:先將所有自變量放入模型,然后嘗試將某一自變量剔除,查看剔除后整個(gè)模型是否發(fā)生顯著性變化(F檢驗(yàn))。如果沒(méi)有發(fā)生顯著性變化,則剔除;若發(fā)生顯著性變化,則保留,直到留下所有使模型發(fā)生顯著性變化的自變量。將自變量按貢獻(xiàn)度從小到大,依次剔除。特點(diǎn):自變量一旦被剔除,就不再進(jìn)入模型;把全部自變量引入模型,計(jì)算量過(guò)大。逐步篩選法:將逐步篩選法是向前選擇法和向后選擇法的結(jié)合,即一邊選擇,一邊剔除。當(dāng)引入一個(gè)自變量后,首先查看這個(gè)自變量是否使模型發(fā)生顯著性變化(F檢驗(yàn)),若發(fā)生顯著性變化,則對(duì)所有自變量進(jìn)行t檢驗(yàn);當(dāng)原來(lái)引入的自變量由于后面引入的自變量而不再使模型發(fā)生顯著性變化時(shí),剔除此自變量,確保每次引入新的自變量之前回歸方程中只包含使模型發(fā)生顯著性變化的自變量,直到既沒(méi)有使模型發(fā)生顯著性變化的自變量被引入回歸方程,也沒(méi)有不使模型發(fā)生顯著性變化的自變量被從回歸方程中剔除為止,最終得到一個(gè)最優(yōu)的自變量集合。特點(diǎn):逐步篩選法具有特征選擇、模型優(yōu)化、減少多重共線性問(wèn)題等優(yōu)點(diǎn)。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法24目錄3.3可線性化的非線性回歸模型3.3.1倒數(shù)回歸模型3.3.2半對(duì)數(shù)回歸模型3.3.3指數(shù)函數(shù)回歸模型3.3.4冪函數(shù)回歸模型3.3.5多項(xiàng)式回歸模型3.3.6廣義線性回歸模型3.3.7邏輯回歸模型機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法25可線性化的非線性回歸模型實(shí)際生活中很多現(xiàn)象之間的關(guān)系并不是簡(jiǎn)單的線性關(guān)系,分析預(yù)測(cè)一般要應(yīng)用非線性回歸預(yù)測(cè)。但是非線性回歸模型的優(yōu)化問(wèn)題難以求解,比較復(fù)雜。因此實(shí)際中往往會(huì)先將非線性回歸模型轉(zhuǎn)化為線性回歸模型再去解決問(wèn)題。在非線性回歸模型中,有一類(lèi)被稱為可線性化的非線性回歸模型。可線性化的非線性回歸模型的基本思想是通過(guò)對(duì)非線性函數(shù)進(jìn)行適當(dāng)?shù)淖儞Q,使得新的因變量與自變量之間的關(guān)系變得線性或近似線性,以便應(yīng)用線性回歸或線性近似方法來(lái)建立模型。常見(jiàn)的可線性化的非線性回歸模型有:倒數(shù)回歸模型、半對(duì)數(shù)回歸模型、指數(shù)函數(shù)回歸模型、冪函數(shù)回歸模型、多項(xiàng)式回歸模型、廣義線性回歸模型、邏輯回歸模型。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法26倒數(shù)回歸模型

機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法27

半對(duì)數(shù)回歸模型

機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法28

指數(shù)函數(shù)回歸模型

機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法29

冪函數(shù)回歸模型

機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法30

多項(xiàng)式回歸模型

機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法31圖3-4簡(jiǎn)單線性回歸與多項(xiàng)式回歸多項(xiàng)式回歸模型

機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法32廣義線性回歸模型

機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法33圖3-5對(duì)數(shù)線性回歸示意圖廣義線性回歸模型

機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法34邏輯回歸模型

機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法35邏輯回歸模型

機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法36圖3-6Logistic函數(shù)圖像邏輯回歸模型

機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法37邏輯回歸模型邏輯回歸模型具有以下優(yōu)點(diǎn):簡(jiǎn)單而高效可解釋性強(qiáng)可以估計(jì)概率適用性廣泛可以處理稀疏數(shù)據(jù)魯棒性強(qiáng)可以進(jìn)行特征選擇機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法38目錄3.4非線性回歸模型3.4.1支持向量回歸模型3.4.2保序回歸模型·3.4.3決策樹(shù)回歸模型3.4.4隨機(jī)森林回歸模型3.4.4隨機(jī)森林回歸模型機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法39非線性回歸模型不可線性化的非線性回歸模型是指無(wú)法通過(guò)簡(jiǎn)單的轉(zhuǎn)換將其轉(zhuǎn)化為線性回歸形式的非線性回歸模型。這些模型通常涉及更復(fù)雜的非線性函數(shù)或特定的結(jié)構(gòu),無(wú)法直接通過(guò)線性變換來(lái)處理。常見(jiàn)的非線性回歸模型:支持向量回歸(SupportVectorRegression,SVR)模型保序回歸(IsotonicRegression)模型決策樹(shù)回歸(DecisionTreeRegression)模型隨機(jī)森林回歸(RandomForestRegression)模型K最近鄰回歸(K-NearestNeighborsRegression)模型機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法40支持向量回歸模型支持向量回歸(SVR)的目標(biāo)是選擇最有效的支持向量來(lái)預(yù)測(cè)連續(xù)數(shù)值類(lèi)型的目標(biāo)變量。與支持向量分類(lèi)方法相比,SVR模型的目標(biāo)是找到一個(gè)函數(shù)使該函數(shù)與數(shù)據(jù)點(diǎn)之間的誤差最小化,同時(shí)保持預(yù)測(cè)函數(shù)與數(shù)據(jù)點(diǎn)之間的較大間隔。SVR是一種基于支持向量機(jī)的回歸算法。與傳統(tǒng)的支持向量機(jī)用于分類(lèi)不同,SVR通過(guò)尋找一個(gè)超平面,使得樣本點(diǎn)盡可能地落在超平面的ε帶內(nèi),并且最小化預(yù)測(cè)值與真實(shí)值之間的誤差。SVR模型適用于處理非線性關(guān)系、存在離群點(diǎn)的數(shù)據(jù)集。SVR模型的基本思想是將回歸問(wèn)題轉(zhuǎn)化為一個(gè)求解邊界上支持向量的最小化問(wèn)題。通過(guò)定義一個(gè)邊界,使得大部分樣本點(diǎn)都位于邊界內(nèi)部,并且允許一定程度上的誤差存在。SVR模型通過(guò)引入核函數(shù)來(lái)將低維的輸入空間映射到高維特征空間,從而能夠處理非線性關(guān)系。訓(xùn)練SVR模型通過(guò)調(diào)用fit方法,輸入向量X和目標(biāo)變量y,其中y是浮點(diǎn)數(shù),表示連續(xù)數(shù)值類(lèi)型的目標(biāo)。一旦訓(xùn)練完成,就可以使用模型來(lái)預(yù)測(cè)。給定一個(gè)新的輸入向量,模型將返回一個(gè)連續(xù)的數(shù)值作為預(yù)測(cè)結(jié)果。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法41支持向量回歸模型SVR模型的求解過(guò)程:特征轉(zhuǎn)換:使用合適的核函數(shù)將數(shù)據(jù)從原始的輸入空間映射到高維特征空間,通過(guò)非線性映射將數(shù)據(jù)轉(zhuǎn)化為高維的特征表示。求解邊界:在特征空間中尋找一個(gè)最優(yōu)的超平面,使得訓(xùn)練樣本點(diǎn)盡可能地位于邊界內(nèi)部,同時(shí)控制邊界外部的誤差不超過(guò)預(yù)先設(shè)定的范圍。預(yù)測(cè):根據(jù)訓(xùn)練得到的模型,對(duì)新的輸入樣本進(jìn)行預(yù)測(cè)。SVR模型擬合程度由兩個(gè)關(guān)鍵參數(shù)決定:Kernel(核函數(shù)):將數(shù)據(jù)映射到高維空間,常用有線性、多項(xiàng)式、RBF等。RegularizationParameter(正則化參數(shù)):控制模型復(fù)雜度,需調(diào)參以防過(guò)擬合/欠擬合。SVR模型與線性回歸模型有所不同。SVR模型通過(guò)選擇支持向量來(lái)構(gòu)建預(yù)測(cè)函數(shù),因此它在非線性問(wèn)題上的表現(xiàn)更好。同時(shí),SVR模型也具有較好的魯棒性,受異常值和噪聲的影響相對(duì)較小。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法42支持向量回歸模型SVR模型三種不同實(shí)現(xiàn)形式:LinearSVR:這種形式的SVR模型使用線性核函數(shù),通過(guò)最小化目標(biāo)變量的預(yù)測(cè)誤差來(lái)擬合數(shù)據(jù)。線性核函數(shù)在高維空間中進(jìn)行線性組合,可以處理線性關(guān)系的回歸問(wèn)題。PolynomialSVR:這種形式的SVR模型使用多項(xiàng)式核函數(shù),在高維空間中進(jìn)行非線性組合。多項(xiàng)式核函數(shù)可以處理包含多項(xiàng)式特征的非線性回歸問(wèn)題。RBFSVR:這種形式的SVR模型使用徑向基函數(shù)核函數(shù),在高維空間中進(jìn)行非線性組合。徑向基函數(shù)核函數(shù)可以處理更一般的非線性回歸問(wèn)題。三種形式的核心思想:通過(guò)選擇支持向量構(gòu)建預(yù)測(cè)函數(shù),并使預(yù)測(cè)函數(shù)與數(shù)據(jù)點(diǎn)之間誤差最小化。在只考慮線性核函數(shù)的情況下,LinearSVR模型的實(shí)現(xiàn)比SVR模型更快。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法43fromsklearnimportsvmX=[[0,0],[2,2]]y=[0.5,2.5]clf=svm.SVR()clf.fit(X,y)print(clf.predict([[1,1]]))#輸出結(jié)果為array([1.5])支持向量回歸模型支持向量分類(lèi)和SVR生成的模型都只依賴于訓(xùn)練集的子集,這是因?yàn)闃?gòu)建模型的過(guò)程是通過(guò)選擇最有效的支持向量來(lái)進(jìn)行的。在支持向量分類(lèi)中,模型的構(gòu)建是通過(guò)最大化邊界之間的間隔來(lái)實(shí)現(xiàn)的。在這個(gè)過(guò)程中,邊界之外的訓(xùn)練點(diǎn)對(duì)構(gòu)建模型的代價(jià)函數(shù)沒(méi)有影響,只有處于邊界上的支持向量起到了關(guān)鍵作用。因此,模型的生成只依賴于這些支持向量,而忽略了其他訓(xùn)練點(diǎn)。在SVR中,模型的構(gòu)建是通過(guò)最小化目標(biāo)變量的預(yù)測(cè)誤差來(lái)實(shí)現(xiàn)的。與支持向量分類(lèi)類(lèi)似,模型的代價(jià)函數(shù)忽略了任何接近于模型預(yù)測(cè)的訓(xùn)練數(shù)據(jù),只有那些作為支持向量的訓(xùn)練點(diǎn)對(duì)構(gòu)建模型起到了關(guān)鍵作用。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法44支持向量回歸模型在sklearn中,支持向量分類(lèi)模型和SVR模型的支持向量信息可以通過(guò)以下成員變量獲?。簊upport_vectors_:存儲(chǔ)支持向量的特征向量。support_:存儲(chǔ)支持向量的索引。n_support_:存儲(chǔ)每個(gè)類(lèi)別的支持向量數(shù)量。在實(shí)際應(yīng)用中,可以根據(jù)數(shù)據(jù)集的特點(diǎn)選擇合適的核函數(shù),并通過(guò)調(diào)整參數(shù)來(lái)優(yōu)化SVR模型的性能。此外,與其他回歸算法相比,SVR模型在處理非線性關(guān)系和異常值時(shí)具有一定的優(yōu)勢(shì),但也需要注意數(shù)據(jù)預(yù)處理和參數(shù)選擇的問(wèn)題。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法45保序回歸模型

機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法46圖3-7保序回歸示意圖決策樹(shù)回歸模型決策樹(shù)回歸模型(回歸樹(shù))是一種用于回歸問(wèn)題的機(jī)器學(xué)習(xí)模型,通過(guò)構(gòu)建決策樹(shù)實(shí)現(xiàn)預(yù)測(cè),并且每個(gè)葉節(jié)點(diǎn)上的數(shù)值是連續(xù)型的。它先根據(jù)自變量的取值將數(shù)據(jù)集劃分為不同的區(qū)域,然后在每個(gè)區(qū)域內(nèi)擬合一個(gè)常數(shù)值,用于預(yù)測(cè)目標(biāo)變量的連續(xù)值。決策樹(shù)回歸模型通過(guò)選擇最佳的劃分點(diǎn)和劃分規(guī)則來(lái)構(gòu)建決策樹(shù),使得每個(gè)葉節(jié)點(diǎn)上的數(shù)值能夠最好地?cái)M合訓(xùn)練數(shù)據(jù)。sklearn實(shí)現(xiàn):使用DecisionTreeRegressor類(lèi)構(gòu)建。在訓(xùn)練模型時(shí),擬合方法將數(shù)組X和數(shù)組y作為參數(shù)。此后模型可預(yù)測(cè)浮點(diǎn)型的y值。特點(diǎn):非參數(shù)性(無(wú)需假設(shè)數(shù)據(jù)分布)可解釋性(樹(shù)結(jié)構(gòu)直觀清晰)魯棒性(對(duì)異常值和缺失值敏感度低)限制:容易過(guò)擬合、局部最優(yōu)解。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法47fromsklearnimporttreeX=[[0,0],[2,2]]y=[0.5,2.5]clf=tree.DecisionTreeRegressor()clf=clf.fit(X,y)#訓(xùn)練模型clf.predict([[1,1]])#使用模型預(yù)測(cè),得到結(jié)果為array([0.5])隨機(jī)森林回歸模型隨機(jī)森林回歸模型是一種基于隨機(jī)森林算法的回歸模型,通過(guò)集成多個(gè)決策樹(shù)回歸模型來(lái)進(jìn)行預(yù)測(cè)。隨機(jī)森林采用決策樹(shù)作為弱分類(lèi)器,并結(jié)合了兩種隨機(jī)性的引入:樣本的隨機(jī)采樣和特征的隨機(jī)選擇。隨機(jī)森林能夠減小模型的方差,提高模型的泛化能力。樣本的隨機(jī)采樣保證了模型訓(xùn)練時(shí)的多樣性,特征的隨機(jī)選擇則增加了模型的多樣性和獨(dú)立性。基本原理:數(shù)據(jù)集的隨機(jī)抽樣:從原始訓(xùn)練集中有放回地隨機(jī)抽取樣本,形成多個(gè)不同的訓(xùn)練子集。(樣本的隨機(jī)采樣)決策樹(shù)的構(gòu)建:針對(duì)每個(gè)訓(xùn)練子集,構(gòu)建決策樹(shù)回歸模型。每次劃分節(jié)點(diǎn)時(shí),先從所有特征中隨機(jī)選擇一部分特征,然后選擇最佳的劃分特征和劃分點(diǎn)。(特征的隨機(jī)選擇)集成預(yù)測(cè):對(duì)于一個(gè)新的樣本,通過(guò)將其輸入每棵決策樹(shù),得到多個(gè)預(yù)測(cè)結(jié)果。然后通過(guò)對(duì)這些預(yù)測(cè)結(jié)果進(jìn)行平均(回歸問(wèn)題)或投票(分類(lèi)問(wèn)題),得到最終的預(yù)測(cè)結(jié)果。模型特點(diǎn):高魯棒性、防止過(guò)擬合、可解釋性弱于單個(gè)決策樹(shù)、適用于各種數(shù)據(jù)類(lèi)型。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法48K最近鄰回歸模型K最近鄰回歸模型是一種基于實(shí)例的回歸模型。它通過(guò)查找與待預(yù)測(cè)樣本最接近的K個(gè)訓(xùn)練樣本,并基于這些樣本的目標(biāo)變量值的平均或加權(quán)平均進(jìn)行預(yù)測(cè)。這種模型不是通過(guò)一個(gè)簡(jiǎn)單的線性函數(shù)來(lái)表示的,而是通過(guò)鄰居之間的距離和目標(biāo)變量值的關(guān)系來(lái)推斷。盡管K最近鄰回歸模型屬于非線性回歸,但它并不涉及顯式的特征變換或多項(xiàng)式特征引入。它沒(méi)有明確的函數(shù)形式,而是完全基于實(shí)例進(jìn)行預(yù)測(cè),通過(guò)鄰居之間的距離和目標(biāo)變量值的關(guān)系來(lái)預(yù)測(cè),從而實(shí)現(xiàn)非線性回歸的效果。在數(shù)據(jù)標(biāo)簽是連續(xù)變量而不是離散變量的情況下,可以使用基于近鄰的回歸。sklearn實(shí)現(xiàn):機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法49fromsklearnimportneighborsn_neighbors=5weights='uniform'knn=neighbors.KNeighborsRegressor(n_neighbors,weights=weights)y_=knn.fit(X,y).predict(input)多輸出回歸模型多輸出回歸模型是一種回歸分析模型,用于處理具有多個(gè)相關(guān)目標(biāo)變量的情況。它也被稱為多目標(biāo)回歸模型或多變量回歸(MultivariateRegression)模型。每個(gè)目標(biāo)變量可以是連續(xù)性的,而且它們之間可以相互關(guān)聯(lián)。多輸出回歸可以是線性的,也可以是非線性的,取決于具體的模型選擇和問(wèn)題本身。多輸出回歸模型的非線性性質(zhì)與目標(biāo)變量之間的關(guān)系有關(guān)。如果多輸出回歸模型使用的是線性回歸模型(如多元線性回歸模型),并且假設(shè)目標(biāo)變量之間是獨(dú)立的,那么它可以被歸類(lèi)為線性回歸模型。然而,如果多輸出回歸模型使用的是非線性模型,如決策樹(shù)回歸模型、支持向量回歸模型、神經(jīng)網(wǎng)絡(luò)回歸模型等,或者目標(biāo)變量之間存在非線性關(guān)系,那么它被歸類(lèi)為非線性回歸模型。在傳統(tǒng)的單輸出回歸模型中,只有一個(gè)目標(biāo)變量與一組預(yù)測(cè)變量相關(guān)聯(lián)。而在多輸出回歸模型中,存在多個(gè)目標(biāo)變量與同一組預(yù)測(cè)變量相關(guān)聯(lián)。這些目標(biāo)變量之間可以是相關(guān)的,也可以是獨(dú)立的。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法50多輸出回歸模型多輸出回歸模型可以通過(guò)擴(kuò)展單輸出回歸模型的方法來(lái)實(shí)現(xiàn),常用的方法:多元線性回歸模型:將多個(gè)目標(biāo)變量視為一個(gè)多維向量,使用線性回歸模型進(jìn)行建模。多元線性回歸模型假設(shè)目標(biāo)變量之間存在線性關(guān)系,并通過(guò)最小二乘法或最大似然估計(jì)來(lái)估計(jì)回歸系數(shù)。多元高斯過(guò)程回歸(MultivariateGaussianProcessRegression)模型:基于高斯過(guò)程的回歸模型,用于建模多個(gè)相關(guān)目標(biāo)變量之間的非線性關(guān)系。它通過(guò)定義一個(gè)多元高斯分布來(lái)描述目標(biāo)變量之間的聯(lián)合分布,并使用真實(shí)數(shù)據(jù)進(jìn)行參數(shù)估計(jì)和預(yù)測(cè)。多輸出支持向量回歸(Multi-OutputSupportVectorRegression)模型:將支持向量回歸算法擴(kuò)展到多輸出的情況。它通過(guò)尋找一個(gè)超平面,使得預(yù)測(cè)變量與多個(gè)目標(biāo)變量之間的誤差最小化。多目標(biāo)決策樹(shù)(Multi-ObjectiveDecisionTree)模型:基于決策樹(shù)的回歸模型,可以處理多個(gè)相關(guān)目標(biāo)變量。它遞歸地劃分?jǐn)?shù)據(jù)空間,并在每個(gè)葉節(jié)點(diǎn)上建立多個(gè)目標(biāo)變量的回歸模型。多輸出回歸模型在許多領(lǐng)域中有廣泛的應(yīng)用,如天氣預(yù)測(cè)、多目標(biāo)優(yōu)化、圖像處理等。它可以提供對(duì)多個(gè)相關(guān)目標(biāo)變量的聯(lián)合建模和預(yù)測(cè),有助于捕捉不同目標(biāo)之間的關(guān)聯(lián)性和共享信息。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法51多輸出回歸模型sklearn中,可以使用以下方式來(lái)實(shí)現(xiàn)多輸出回歸:多輸出回歸MultiOutputRegressor:它可以被添加到任何回歸器中。這個(gè)策略包括對(duì)每個(gè)目標(biāo)擬合一個(gè)回歸器。因?yàn)槊總€(gè)目標(biāo)可以被一個(gè)回歸器精確地表示,通過(guò)檢查對(duì)應(yīng)的回歸器,可以獲取關(guān)于目標(biāo)的信息。MultiOutputRegressor假設(shè)每個(gè)輸出之間都是相互獨(dú)立的(但這種假設(shè)有時(shí)并不成立),對(duì)于每個(gè)目標(biāo)可以訓(xùn)練出一個(gè)回歸器,所以它無(wú)法利用目標(biāo)之間的相關(guān)度信息?;貧w鏈RegressorChain:基于鏈?zhǔn)揭?guī)則的回歸算法。RegressorChain通過(guò)將多個(gè)單輸出回歸器按照一定的順序鏈接起來(lái)逐個(gè)預(yù)測(cè)目標(biāo)變量,從而實(shí)現(xiàn)多輸出回歸。具體來(lái)說(shuō),RegressorChain將每個(gè)目標(biāo)變量視為一個(gè)序列,每個(gè)序列都與一組預(yù)測(cè)變量相關(guān)聯(lián)。它按照預(yù)先定義的順序,逐個(gè)預(yù)測(cè)每個(gè)目標(biāo)變量,將前面預(yù)測(cè)得到的目標(biāo)變量作為后續(xù)預(yù)測(cè)的輸入。這樣,每個(gè)回歸器的預(yù)測(cè)結(jié)果都可以作為下一個(gè)回歸器的輸入,形成一個(gè)鏈?zhǔn)浇Y(jié)構(gòu)。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法52目錄3.6回歸算法框架3.6.1線性回歸模型3.6.2正則化的線性模型3.6.3多項(xiàng)式回歸模型3.6.4邏輯回歸模型3.6.5多輸出回歸模型機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法53回歸算法框架sklearn中,線性模型相關(guān)的類(lèi)位于linear_model包中。這個(gè)包提供了多個(gè)線性模型的實(shí)現(xiàn):LinearRegression:用于普通最小二乘線性回歸的類(lèi)。Lasso:使用L1正則化的線性回歸模型,用于特征選擇和稀疏性處理。Ridge:使用L2正則化的線性回歸模型,用于減小模型復(fù)雜度和過(guò)擬合風(fēng)險(xiǎn)。ElasticNet:結(jié)合L1正則化和L2正則化的線性回歸模型,平衡特征選擇和模型復(fù)雜度。LogisticRegression:用于二分類(lèi)和多分類(lèi)問(wèn)題的邏輯回歸模型。這些類(lèi)提供了一種方便的方式來(lái)實(shí)現(xiàn)和使用這些線性模型,并提供了一致的API,以便與其他sklearn中的模型和工具進(jìn)行交互。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法54回歸算法框架sklearn中,非線性模型相關(guān)的類(lèi)位于sklearn.svm、sklearn.ensemble和sklearn.tree等模塊中。以下是一些常見(jiàn)的非線性模型及其所在的模塊:支持向量模型:位于sklearn.svm模塊中,包括SVC(用于分類(lèi)問(wèn)題)和SVR(用于回歸問(wèn)題)。隨機(jī)森林模型:位于sklearn.ensemble模塊中,包括RandomForestClassifier(用于分類(lèi)問(wèn)題)和RandomForestRegressor(用于回歸問(wèn)題)。決策樹(shù)(DecisionTree)模型:位于sklearn.tree模塊中,包括DecisionTreeClassifier(用于分類(lèi)問(wèn)題)和DecisionTreeRegressor(用于回歸問(wèn)題)。此外,sklearn.neural_network模塊中的MLPClassifier和MLPRegressor類(lèi)實(shí)現(xiàn)了多層感知機(jī)(MultilayerPerceptron,MLP)模型,用于解決非線性問(wèn)題。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法55線性回歸模型線性回歸模型的使用方式LinearRegression類(lèi)的可選參數(shù)機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法56參數(shù)類(lèi)型與默認(rèn)值解釋fit_interceptbool,default=Truecopy_Xbool,default=True為T(mén)rue,則X會(huì)被復(fù)制,否則X會(huì)被重寫(xiě)n_jobsint,default=None用于計(jì)算的工作數(shù)量,對(duì)于足夠大問(wèn)題,該參數(shù)可用于加速positivebool,default=False為T(mén)rue時(shí),強(qiáng)制coefficients為正數(shù)>>>fromsklearnimportlinear_model>>>reg=linear_model.LinearRegression()>>>reg.fit([[0,0],[1,1],[2,2]],[0,1,2])LinearRegression()>>>reg.coef_array([0.5,0.5])表3-2LinearRegression類(lèi)的可選參數(shù)線性回歸模型LinearRegression類(lèi)的常用特征機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法57特征類(lèi)型解釋coef_arrayofshape(n_features)or(n_targets,n_features)對(duì)該線性模型的估計(jì)系數(shù),如果在調(diào)用擬合函數(shù)時(shí)傳入多目標(biāo)變量,則返回二維向量,如果僅有一個(gè)目標(biāo)被傳入,則返回一維向量rank_Int矩陣X的秩singular_arrayofshape(min(X,y,))X的奇異值intercept_floatorarrayofshape(n_targets,)線性模型中的獨(dú)立項(xiàng),注意參數(shù)中的fit_interceptN_features_in_Int在擬合時(shí)幾個(gè)特征被使用Feature_names_in_ndarrayofshape(n_features_in_,)在擬合時(shí)被使用的特征名,僅在X有特征名時(shí)被定義表3-3LinearRegression類(lèi)的常用特征正則化的線性模型在下面的代碼中,使用嶺回歸模型來(lái)進(jìn)行線性回歸分析。通過(guò)調(diào)整正則化參數(shù)alpha,可以控制模型的復(fù)雜度,從而在一定程度上提高模型的泛化能力。最終得到的回歸系數(shù)和截距提供了特征與目標(biāo)變量之間關(guān)系的量化描述。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法58>>>fromsklearnimportlinear_model>>>reg=linear_model.Ridge(alpha=.5)>>>reg.fit([[0,0],[0,0],[1,1]],[0,1,1])Ridge(alpha=0.5)>>>reg.coef_array([0.34545455,0.34545455])>>>ercept_0.13636...正則化的線性模型Ridge模型的常用參數(shù)Ridge模型的常用特征機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法59參數(shù)類(lèi)型與默認(rèn)值解釋alphafloat,default=1.0L2正則化項(xiàng)的約束系數(shù)max_iterint,default=None共軛梯度求解器的最大迭代次數(shù)solver{'auto','svd','cholesky','lsqr','sparse_cg','sag','saga','lbfgs'},default='auto'計(jì)算時(shí)使用的梯度求解器tolfloat,default=1e-3求解的精度random_stateint,RandomStateinstance,default=None對(duì)數(shù)據(jù)進(jìn)行隨機(jī)排列屬性類(lèi)型解釋n_iter_Noneorndarrayofshape(n_targets,)每一個(gè)目標(biāo)的實(shí)際迭代次數(shù),僅對(duì)sag和lsqr求解器有用,其他求解器會(huì)返回None表3-4Ridge模型的常用參數(shù)表3-5Ridge模型的常用特征正則化的線性模型下面的代碼展示了如何使用Lasso回歸模型進(jìn)行線性回歸分析。通過(guò)設(shè)置正則化參數(shù)alpha,Lasso回歸不僅可以控制模型的復(fù)雜度,還能在某些情況下進(jìn)行特征選擇。最終,模型通過(guò)訓(xùn)練數(shù)據(jù)學(xué)習(xí)特征與目標(biāo)之間的關(guān)系,并對(duì)新樣本進(jìn)行預(yù)測(cè)。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法60>>>fromsklearnimportlinear_model>>>reg=linear_model.Lasso(alpha=0.1)>>>reg.fit([[0,0],[1,1]],[0,1])Lasso(alpha=0.1)>>>reg.predict([[1,1]])array([0.8])正則化的線性模型Lasso模型的常用參數(shù)Lasso模型的常用特征機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法61參數(shù)類(lèi)型與默認(rèn)值解釋alphafloat,default=1.0L1正則化項(xiàng)的約束系數(shù)precomputeboolorarray-likeofshape(n_features,n_features)default=False是否使用預(yù)訓(xùn)練的Gram矩陣來(lái)加速計(jì)算屬性類(lèi)型解釋dual_gap_floatorndarrayofshape(n_targets,)對(duì)于給定參數(shù)alpha,優(yōu)化結(jié)束時(shí)的對(duì)偶間隙表3-6Lasso模型的常用參數(shù)表3-7Lasso模型的常用特征正則化的線性模型下面的代碼展示如何使用ElasticNet回歸模型進(jìn)行線性回歸分析。ElasticNet結(jié)合了Lasso和Ridge的優(yōu)點(diǎn),通過(guò)合理設(shè)置正則化參數(shù)alpha和L1比率,能夠有效控制模型復(fù)雜度并進(jìn)行特征選擇。ElasticNet模型的常用參數(shù)機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法62屬性類(lèi)型與默認(rèn)值解釋alphafloat,default=1.0懲罰項(xiàng)的約束系數(shù)L1_rationfloat,default=0.5ElasticNet的混合參數(shù)。L1_ration=0,為L(zhǎng)2正則化;L1_ration=1,則為L(zhǎng)1正則化>>>fromsklearnimportlinear_model>>>reg=linear_model.ElasticNet(alpha=0.1,l1_ratio=0.5)>>>reg.fit([[0,0],[1,1]],[0,1])>>>reg.predict([[1,1]])array([0.86364212])表3-8ElasticNet模型的常用參數(shù)多項(xiàng)式回歸模型

機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法63>>>fromsklearn.preprocessingimportPolynomialFeatures>>>importnumpyasnp>>>X=np.arange(6).reshape(3,2)>>>Xarray([[0,1],[2,3],[4,5]])>>>poly=PolynomialFeatures(degree=2)>>>X_poly=poly.fit_transform(X)array([[1.,0.,1.,0.,0.,1.],[1.,2.,3.,4.,6.,9.],[1.,4.,5.,16.,20.,25.]])>>>reg=linear_model.LinearRegression())>>>reg.fit(X_poly,y)>>>print(ercept_,reg.coef_)多項(xiàng)式回歸模型關(guān)鍵點(diǎn)在數(shù)據(jù)的預(yù)處理和線性模型的選取上,sklearn提供了Pipeline工具簡(jiǎn)化過(guò)程。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法64>>>fromsklearn.preprocessingimportPolynomialFeatures>>>fromsklearn.linear_modelimportLinearRegression>>>fromsklearn.pipelineimportPipeline>>>importnumpyasnp>>>model=Pipeline([('poly',PolynomialFeatures(degree=3)),...('linear',LinearRegression(fit_intercept=False))])>>>#fittoanorder-3polynomialdata>>>x=np.arange(5)>>>y=3-2*x+x**2-x**3>>>model=model.fit(x[:,np.newaxis],y)>>>d_steps['linear'].coef_array([3.,-2.,1.,-1.])邏輯回歸模型下面的代碼展示了如何使用邏輯回歸模型進(jìn)行二分類(lèi)分析。通過(guò)將鳶尾花數(shù)據(jù)集中一種花的類(lèi)別轉(zhuǎn)換為二元標(biāo)簽,模型能夠?qū)W習(xí)特征與類(lèi)別之間的關(guān)系,并對(duì)新樣本進(jìn)行預(yù)測(cè)。最終返回的預(yù)測(cè)結(jié)果表明了模型對(duì)給定花瓣寬度的分類(lèi)判斷。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法65>>>fromsklearnimportdatasets>>>fromsklearnimportlinear_model>>>iris=datasets.load_iris()>>>X=iris["data"][:,3:]>>>y=(iris["target"]==2).astype(int)#ifvirginicato1,else0>>>reg=linear_model.LogisticRegression()>>>reg.fit(X,y)>>>reg.predict([[1.7],[1.5]])array([1,0])邏輯回歸模型邏輯回歸模型的常用參數(shù)機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法66參數(shù)類(lèi)型與默認(rèn)值解釋penalty{'l1','l2','elasticnet','none'},default='l2'懲罰項(xiàng)形式dualbool,default=False對(duì)偶公式或原始公式。對(duì)偶公式僅用liblinear求解器L2懲罰項(xiàng)實(shí)現(xiàn),當(dāng)n_samples>n_features時(shí),使用dual=False更好cfloat,default=1.0正則化強(qiáng)度的倒數(shù),必須是正浮點(diǎn)數(shù),與支持向量機(jī)一樣,較小的值表示更強(qiáng)的正則化intercept_scalingfloat,default=1僅在使用求解器liblinear時(shí)有用,并且self.fit_intercept設(shè)置為T(mén)rue,在這種情況下,x變?yōu)閇x,ercept_scaling],即恒定值等于的合成特征intercept_scaling附加到實(shí)例向量中class_weightdictor'balanced',default=None{class_label:weight}形式的類(lèi)關(guān)聯(lián)的權(quán)重,如果沒(méi)有給出,所有的類(lèi)都應(yīng)該有一個(gè)權(quán)重。balanced模式使用y的值來(lái)自動(dòng)調(diào)整使權(quán)重與輸入數(shù)據(jù)中的類(lèi)頻率成反比multi_class{'auto','ovr','multinomial'},default='auto''ovr':對(duì)于每個(gè)標(biāo)簽,使用二元分類(lèi)的方式進(jìn)行擬合。'multinomial':直接最小化整個(gè)數(shù)據(jù)分布上的多項(xiàng)式損失,即使數(shù)據(jù)是二元的。'auto':根據(jù)數(shù)據(jù)的特性自動(dòng)選擇方法。如果數(shù)據(jù)是二元的,或使用的求解器是liblinear,則會(huì)選擇'ovr';否則,會(huì)選擇'multinomial'表3-9邏輯回歸模型的常用參數(shù)邏輯回歸模型邏輯回歸模型的常用特征機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法67特征類(lèi)型解釋classes_ndarrayofshape(n_classes,)分類(lèi)器已知的類(lèi)標(biāo)簽列表coef_ndarrayofshape(1,n_features)or(n_classes,n_features)決策函數(shù)中特征的系數(shù)intercept_ndarrayofshape(1,)or(n_classes,)將攔截(又名偏差)添加到?jīng)Q策功能中n_features_in_Int擬合中的特征數(shù)feature_names_in_ndarrayofshape(n_features_in_,)在擬合期間看到的特征名稱,僅在X有所有字符串特征名稱時(shí)被定義n_iter_ndarrayofshape(n_classes,)or(1,)所有類(lèi)的實(shí)際迭代次數(shù),如果是二進(jìn)制數(shù)或多項(xiàng)式,那么它只返回1個(gè)元素。對(duì)于liblinear求解器,只給出在所有類(lèi)的最大迭代次數(shù)表3-9邏輯回歸模型的常用特征多輸出回歸模型右側(cè)的代碼展示了如何處理多輸出回歸問(wèn)題。首先使用線性回歸模型進(jìn)行簡(jiǎn)單的多輸出回歸,然后通過(guò)MultiOutputRegressor和RegressorChain兩種方法進(jìn)一步處理多目標(biāo)變量的回歸任務(wù)。這些方法允許模型同時(shí)預(yù)測(cè)多個(gè)目標(biāo)變量,適用于具有多個(gè)輸出的回歸問(wèn)題。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法68#使用內(nèi)置支持多輸出的算法>>>fromsklearn.datasetsimportmake_regression>>>fromsklearn.linear_modelimportLinearRegression>>>X,y=make_regression(n_samples=1000,n_features=10,n_informative=5,n_targets=2,random_state=1)>>>model=LinearRegression()>>>model.fit(X,y)>>>x_=[[-2.02220122,0.31563495,0.82797464,-0.30620401,0.16003707,-1.44411381,0.87616892,-0.50446586,0.23009474,0.76201118]]>>>y_=model.predict(x_)#[[-93.14714623.26985013]]#使用MultiOutputRegressor>>>fromsklearn.multioutputimportMultiOutputRegressor>>>fromsklearn.svmimportLinearSVR>>>model=LinearSVR()>>>wrapper=MultiOutputRegressor(model)>>>wrapper.fit(X,y)>>>y_=wrapper.predict(x_)#[[-93.14714623.26985013]]#使用RegressorChain>>>fromsklearn.multioutputimportRegressorChain>>>wrapper=RegressorChain(model)>>>y_=wrapper.predict(x_)#[[-93.14714623.27082987]]選擇回歸模型選擇適合的回歸模型是一個(gè)關(guān)鍵的步驟,它可以影響預(yù)測(cè)性能、模型解釋性和泛化能力。以下是一些常用的方法和原則,可以幫助人們正確選擇回歸模型。理解問(wèn)題的特點(diǎn)。首先要深入了解問(wèn)題的特點(diǎn),考慮以下因素。目標(biāo)變量的類(lèi)型:確定目標(biāo)變量是連續(xù)的還是離散的。數(shù)據(jù)的特征:考慮特征之間的關(guān)系、非線性關(guān)系、多重共線性等。數(shù)據(jù)的大小和質(zhì)量:評(píng)估數(shù)據(jù)的樣本數(shù)量、噪聲水平和缺失值等。簡(jiǎn)單模型優(yōu)先原則。在沒(méi)有明確證據(jù)表明需要更復(fù)雜模型的情況下,應(yīng)該從簡(jiǎn)單的模型開(kāi)始。簡(jiǎn)單模型具有解釋性強(qiáng)、計(jì)算效率高和泛化能力好的優(yōu)點(diǎn)。特征選擇和特征工程。在選擇模型之前,進(jìn)行特征選擇和特征工程是很重要的??紤]使用相關(guān)性分析、方差分析、逐步回歸等方法來(lái)選擇相關(guān)特征,并進(jìn)行特征轉(zhuǎn)換和標(biāo)準(zhǔn)化等預(yù)處理步驟。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法69選擇回歸模型

機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法70選擇回歸模型

機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法71fromsklearn.metricsimportmean_absolute_error,mean_squared_error,r2_scorey_true=[1,3,5,7]y_pred=[2,4,5,8]print(mean_absolute_error(y_true,y_pred))#輸出為0.75print(mean_squared_error(y_true,y_pred))#輸出為0.75print(r2_score(y_true,y_pred))#輸出為0.85實(shí)例分析用不同的回歸模型對(duì)美國(guó)波士頓房?jī)r(jià)進(jìn)行預(yù)測(cè),數(shù)據(jù)集是馬薩諸塞州波士頓郊區(qū)的房屋信息數(shù)據(jù),于1978年開(kāi)始統(tǒng)計(jì),共506個(gè)樣本,涵蓋了波士頓郊區(qū)房屋14種特征的信息。完整代碼參考boston_regression.ipynb。導(dǎo)入數(shù)據(jù):從sklearn.datasets包中導(dǎo)入數(shù)據(jù)集。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法72#導(dǎo)入數(shù)據(jù)fromsklearn.datasetsimportload_bostonimportpandasaspdboston=load_boston()features=boston.datatarget=boston.targetdf_boston=pd.DataFrame(features)=boston.feature_namesdf_boston["MEDV"]=targetdf_boston.head()實(shí)例分析前述過(guò)程中,特征說(shuō)明:CRIM:每個(gè)城鎮(zhèn)的人均犯罪率。ZN:超過(guò)25000平方英尺用地劃為居住用地的百分比。INDUS:非零售商用地百分比。CHAS:是否靠近查爾斯河。NOX:氮氧化物濃度。RM:住宅平均房間數(shù)。AGE:1940年前建成自用單位比例。DIS:到5個(gè)波士頓就業(yè)服務(wù)中心的加權(quán)距離。RAD:無(wú)障礙徑向高速公路指數(shù)。TAX:每萬(wàn)元物業(yè)稅率。PTRATIO:小學(xué)師生比例。B:黑色人種比例指數(shù)。LSTAT:下層經(jīng)濟(jì)階層比例。MEDV:業(yè)主自住房屋中值。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法73print(boston.DESCR)#查看數(shù)據(jù)集的描述信息實(shí)例分析2.建立回歸模型:把數(shù)據(jù)集按照7∶3分為訓(xùn)練集和測(cè)試集。機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法74#標(biāo)準(zhǔn)化fromsklearn.preprocessingimportStandardScaler#importnumpyasnpss_x=StandardScaler()ss_y=StandardScaler()s_features=ss_x.fit_transform(features)s_target=ss_y.fit_transform(target.reshape(-1,1))#分離數(shù)據(jù)集fromsklearn.model_selectionimporttrain_test_splitfeatures=df_boston[df_boston.loc[:,df_boston.columns!='MEDV'].columns]target=df_boston['MEDV']x_train,x_test,y_train,y_test=train_test_split(s_features,s_target,test_size=0.3,random_state=0)實(shí)例分析進(jìn)行訓(xùn)練并預(yù)測(cè)線性回歸機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法75fromsklearn.linear_modelimportLinearRegressionfromsklearn.svmimportSVRfromsklearn.treeimportDecisionTreeRegressorfromsklearn.neighborsimportKNeighborsRegressorfromsklearn.metricsimportmean_absolute_error,mean_squared_error,r2_scorelr_model=LinearRegression()lr_model.fit(x_train,y_train)lr_y_pred=lr_model.predict(x_test)lr_MSE=mean_squared_error(ss_y.inverse_transform(y_test),ss_y.inverse_transform(lr_y_pred))lr_MAE=mean_absolute_error(ss_y.inverse_transform(y_test),ss_y.inverse_transform(lr_y_pred))lr_R2=r2_score(y_test,lr_y_pred)實(shí)例分析支持向量機(jī)(linear)支持向量機(jī)(rbf)機(jī)器學(xué)習(xí)原理、算法與應(yīng)用-回歸算法76#使用線性核函數(shù)的SVR進(jìn)行訓(xùn)練,并進(jìn)行預(yù)測(cè)l_svr=SVR(kernel='linear')l_svr.fit(x_train,y_train)l_svr_y_pred=l_svr.predict(x_te

溫馨提示

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

評(píng)論

0/150

提交評(píng)論