最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

理論加實(shí)操快速掌握機(jī)器學(xué)習(xí)中幾類回歸算法

2021-07-23 12:01 作者:深度之眼官方賬號(hào)  | 我要投稿

一周前學(xué)姐的一篇干貨講解了“機(jī)器學(xué)習(xí)初學(xué)者要掌握哪些知識(shí)點(diǎn)”通過簡(jiǎn)單的例子,解釋了比較復(fù)雜的概念,便于大家理解掌握。

?

理解了概念之后我們就需要學(xué)習(xí)一下機(jī)器學(xué)習(xí)中的幾類算法,今天講解的是回歸算法,為了方便同學(xué)們的理解采用了理論加python代碼的方式,畢竟初學(xué)者的難處學(xué)姐有切身體會(huì)。

?

1.線性回歸

?

【圖片】The Linear Regression algorithm in a graph | Source: Image processed with Python.

線性回歸是一種統(tǒng)計(jì)方法,用來模擬輸入特征和輸出之間的關(guān)系。輸入特征稱為自變量,輸出稱為因變量。目的是通過將輸入特征與其最優(yōu)系數(shù)相乘來預(yù)測(cè)輸入特征的輸出值。

?

線性回歸實(shí)際應(yīng)用案例:

?

(1)預(yù)測(cè)產(chǎn)品銷量。

(2)預(yù)測(cè)經(jīng)濟(jì)增長(zhǎng)。

(3)預(yù)測(cè)石油價(jià)格。

(4)預(yù)測(cè)新車的排放量。

(5) GPA對(duì)大學(xué)錄取的影響。

?

線性回歸有兩種類型:

1.簡(jiǎn)單線性回歸

2.多元線性回歸

?

1.1 簡(jiǎn)單線性回歸:

?

在簡(jiǎn)單線性回歸中,我們僅根據(jù)一個(gè)輸入特征來預(yù)測(cè)輸出/因變量。簡(jiǎn)單線性回歸由下式給出:

?

線性回歸方程


下面使用Python中的sklearn庫來實(shí)現(xiàn)簡(jiǎn)單的線性回歸。

?

實(shí)現(xiàn)思路及步驟:

?

a. 導(dǎo)入所需庫:

?

因?yàn)樾枰鞣N庫來進(jìn)行計(jì)算,所以要導(dǎo)入庫.

b. 讀取CSV文件


在本例中,我們使用的是車輛模型數(shù)據(jù)集——請(qǐng)查看Softlayer IBM上的數(shù)據(jù)集(數(shù)據(jù)集鏈接在文章末尾)。

?

檢查數(shù)據(jù)集的前五行

?


c.選擇在預(yù)測(cè)值時(shí)要考慮的特征:

?

我們的目標(biāo)是根據(jù)數(shù)據(jù)集中“發(fā)動(dòng)機(jī)尺寸”的值預(yù)測(cè)“二氧化碳排放量”的值。


d. 繪制數(shù)據(jù):

?

用散點(diǎn)圖可視化數(shù)據(jù).


e. 將數(shù)據(jù)分為訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù):

?

為了檢查模型的準(zhǔn)確性,把數(shù)據(jù)分成訓(xùn)練和測(cè)試數(shù)據(jù)集。然后使用訓(xùn)練數(shù)據(jù)來訓(xùn)練模型,使用測(cè)試數(shù)據(jù)集檢查模型的準(zhǔn)確性。

線性回歸算法數(shù)據(jù)圖


f. 訓(xùn)練模型:

?

下圖代碼是訓(xùn)練模型并找到最佳擬合回歸線的系數(shù)

?



G.繪制最佳擬合線:

?

根據(jù)系數(shù),我們可以為我們的數(shù)據(jù)集繪制最佳擬合線。

?

Data plot for linear regression based on its coefficients


h.預(yù)測(cè)函數(shù):

?

為測(cè)試數(shù)據(jù)集使用預(yù)測(cè)函數(shù).


基于其系數(shù)的線性回歸數(shù)據(jù)圖


i. 預(yù)測(cè)二氧化碳排放量:

?

基于回歸線預(yù)測(cè)二氧化碳排放值。

?



?

j. 檢查測(cè)試數(shù)據(jù)的準(zhǔn)確性:

通過實(shí)際值與數(shù)據(jù)集中的預(yù)測(cè)值進(jìn)行比較來檢查模型的準(zhǔn)確性。

?


執(zhí)行代碼匯總:

?


1.2 多元線性回歸:

?

簡(jiǎn)單的線性回歸只能用一個(gè)輸入特征來預(yù)測(cè)輸出特征的值。但在多元線性回歸中,可以基于多個(gè)輸入特征來預(yù)測(cè)輸出。

多元線性回歸的公式:

實(shí)現(xiàn)思路及步驟:

?

a. 導(dǎo)入庫:

b讀取CSV文件:

c. 定義X and Y:

?

X存儲(chǔ)輸入特征,Y存儲(chǔ)輸出特征.

d. 將數(shù)據(jù)劃分為測(cè)試和訓(xùn)練數(shù)據(jù)集:

?

在訓(xùn)練中使用 80% 的數(shù)據(jù),在測(cè)試中使用 20% 的數(shù)據(jù).

e. 訓(xùn)練模型:

?

用80%的數(shù)據(jù)訓(xùn)練模型.

f. 求得輸入特征系數(shù):

?

我們要知道哪個(gè)特征對(duì)輸出變量的影響更顯著。為此,我們print系數(shù)值。

?

注意,負(fù)系數(shù)意味著它對(duì)輸出有相反的影響。如果該特征的值增加,則輸出值減少。

?

g. 預(yù)測(cè)值:

?

h. 模型的準(zhǔn)確度:

?

這里使用相同的數(shù)據(jù)集進(jìn)行簡(jiǎn)單和多變量線性回歸。我們可以看到,多元線性回歸的準(zhǔn)確度遠(yuǎn)遠(yuǎn)好于簡(jiǎn)單線性回歸的準(zhǔn)確度。


執(zhí)行代碼匯總:

?

?

1.3 多項(xiàng)式回歸:

有時(shí),數(shù)據(jù)不僅僅遵循線性趨勢(shì),或遵循多項(xiàng)式趨勢(shì)。這時(shí)我們可以使用多項(xiàng)式回歸。

在深入研究它的實(shí)現(xiàn)之前,我們需要知道一些主要多項(xiàng)式數(shù)據(jù)的圖形是怎樣的。

多項(xiàng)式函數(shù)及其圖形:

?

a. Y=X的圖形:

?

b. Y = X2的圖形:

?

c. Y = X3的圖形:

?

d. 多個(gè)多項(xiàng)式圖: Y = X3+X2+X:

上圖中紅點(diǎn)顯示了Y=X3+X2+X的圖形,藍(lán)點(diǎn)顯示了Y = X3的圖形??芍?,最突出的冪會(huì)影響圖形的形狀。

?

多項(xiàng)式回歸公式如下:

在之前的回歸模型中,我們使用了sci-kit學(xué)習(xí)庫來實(shí)現(xiàn)?,F(xiàn)在,我們將使用正規(guī)方程來實(shí)現(xiàn)。

?

也可以使用scikit-learn來實(shí)現(xiàn)多項(xiàng)式回歸,但是別的方法會(huì)讓我們了解它是如何工作的。

?

等式如下:

上面的等式中:

?

θ: hypothesis parameters that define it the best.

?

X: input feature value of each instance.

?

Y: Output value of each instance.

?

?

1.3.1 多項(xiàng)式回歸的假設(shè)函數(shù)

標(biāo)準(zhǔn)方程中的主矩陣:

實(shí)現(xiàn)思路及步驟:

?

a. 導(dǎo)入庫:

b.生成數(shù)據(jù)點(diǎn):

?

生成一個(gè)數(shù)據(jù)集來實(shí)現(xiàn)多項(xiàng)式回歸.

c. 初始化x,x2,x3向量:

?

取x的最大冪為3,X矩陣將有X、X2、X3。

?

?

d. X矩陣的第1列:

?

主矩陣X的第一列始終為1,因?yàn)樗4媪薭eta_0的系數(shù).

e. 形成完整的X矩陣:

?

查看開始時(shí)的矩陣X,通過附加向量來創(chuàng)建:

?

?

f. 矩陣轉(zhuǎn)置:

?

找到矩陣的轉(zhuǎn)置,逐步計(jì)算theta的值

?

g. 矩陣乘法:

?

找到轉(zhuǎn)置后,將其與原始矩陣相乘。使用正規(guī)方程來實(shí)現(xiàn)它時(shí),必須遵循規(guī)則。

h. 矩陣的逆矩陣:

?

查找矩陣的逆矩陣并將其存儲(chǔ)在temp1中.

?

i. 矩陣乘法:

?

找到轉(zhuǎn)置的X和Y向量的乘法將其存儲(chǔ)在temp2變量中.

j. 系數(shù)值:

?

要找到系數(shù)值,我們需要將 temp1 和 temp2 相乘,參考正規(guī)方程公式。

?

k. 將系數(shù)存儲(chǔ)在變量中:

?

將這些系數(shù)值存儲(chǔ)在不同的變量中:

l. 用曲線繪制數(shù)據(jù):

?

用回歸曲線繪制數(shù)據(jù):

m. 預(yù)測(cè)函數(shù):

?

使用回歸曲線來預(yù)測(cè)輸出

?

n. 誤差函數(shù):

?

使用均方誤差函數(shù)計(jì)算誤差:

?

o. 計(jì)算誤差:

?

執(zhí)行代碼匯總:

?

?

1.4 指數(shù)回歸:

?

指數(shù)增長(zhǎng)的例子:

?

1.培養(yǎng)物中的微生物。

?

2.食物變質(zhì)。

?

3.人口。

?

4.復(fù)利。

?

5.大流行(如Covid-19)。

?

6.埃博拉疫情。

?

7.入侵物種。

?

8.火災(zāi)。

?

9.癌細(xì)胞。

?

10.智能手機(jī)的使用和銷售。

?

指數(shù)回歸公式:

?

這種情況下使用scikit-learn庫來查找系數(shù)值,例如 a、b、c。

?

實(shí)現(xiàn)思路及步驟:

?

a. 導(dǎo)入所需庫:

?

b. 插入數(shù)據(jù)點(diǎn):

c. 實(shí)現(xiàn)指數(shù)回歸算法:

d.應(yīng)用最優(yōu)參數(shù)和協(xié)方差:

?

使用curve_fit來尋找最優(yōu)參數(shù)值,返回兩個(gè)變量,稱為popt、pcov。popt存儲(chǔ)最優(yōu)參數(shù)的值,pcov存儲(chǔ)其協(xié)方差的值。

?

popt變量有兩個(gè)值,這些值是最佳參數(shù)。使用這些參數(shù)并繪制最佳擬合曲線,如圖。

?

e.繪制數(shù)據(jù):

?

用找到的系數(shù)繪制數(shù)據(jù)

?

f. 檢查模型的準(zhǔn)確性:

?

使用r2_score檢查模型的準(zhǔn)確性:

?

執(zhí)行代碼匯總:

?

?

1.5 正弦回歸

?

?

?正弦回歸應(yīng)用例子:

?

音樂波的產(chǎn)生。

聲音以波的形式傳播。

構(gòu)造中的三角函數(shù)。

用于太空飛行。

GPS 位置計(jì)算。

建筑學(xué)。

電流。

無線電廣播。

海洋的低潮和高潮。

建筑物。

?

正弦回歸公式:

實(shí)現(xiàn)思路及步驟:

?

a. 生成數(shù)據(jù)集:

?

b. 應(yīng)用正弦函數(shù):

?

創(chuàng)建了一個(gè)名為“calc_sine”的函數(shù)來根據(jù)最優(yōu)系數(shù)計(jì)算輸出值。使用scikit-learn庫來尋找最優(yōu)參數(shù)。

?

c. 為什么正弦回歸比線性回歸表現(xiàn)更好?

?

在用直線擬合數(shù)據(jù)后檢查模型的準(zhǔn)確性,可以看到預(yù)測(cè)的準(zhǔn)確性低于正弦波回歸的準(zhǔn)確性,這就是使用正弦回歸的原因。

?

?

執(zhí)行代碼匯總:

?

?

?

1.6 對(duì)數(shù)回歸

對(duì)數(shù)回歸實(shí)際應(yīng)用:

?

地震的震級(jí)。

聲音的強(qiáng)度。

溶液的酸度。

溶液的 pH 值。

化學(xué)反應(yīng)的產(chǎn)率。

商品的生產(chǎn)。

嬰兒的成長(zhǎng)。

COVID-19 圖表。

?

有時(shí)數(shù)據(jù)在呈現(xiàn)中以指數(shù)級(jí)增長(zhǎng),但在某個(gè)點(diǎn)之后,變得平坦。這種情況下,可以使用對(duì)數(shù)回歸。

?

實(shí)現(xiàn)思路及步驟:

?

a. 導(dǎo)入庫:

?

b. 生成數(shù)據(jù)集

?

c. 矩陣X的第一列:

?

使用正規(guī)方程找到系數(shù)值

d. 重塑X

?

?

e. 使用正規(guī)方程公式

?

f.形成主矩陣 X

?

g. 找到轉(zhuǎn)置矩陣

?

h. 執(zhí)行矩陣乘法

?


i.求逆

j. 矩陣乘法

k. 查找系數(shù)值

?

l. 用回歸曲線繪制數(shù)據(jù):


m. 準(zhǔn)確性


執(zhí)行代碼匯總:

?


參考文檔:

https://pub.towardsai.net/machine-learning-algorithms-for-beginners-with-python-code-examples-ml-19c6afd60daa

https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/ML0101ENv3/labs/FuelConsumptionCo2.csv

如果有錯(cuò)誤的地方歡迎評(píng)論區(qū)指出!


關(guān)注【學(xué)姐帶你玩AI】公眾號(hào),掌握一手AI前沿,知識(shí)點(diǎn),比賽baseline


理論加實(shí)操快速掌握機(jī)器學(xué)習(xí)中幾類回歸算法的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
宜丰县| 盖州市| 张掖市| 荆门市| 阳东县| 新平| 马关县| 大石桥市| 新乡市| 嘉鱼县| 桃园市| 环江| 湄潭县| 于田县| 静乐县| 耿马| 丹江口市| 达拉特旗| 微山县| 资中县| 利津县| 淮南市| 宽甸| 高邮市| 五家渠市| 平江县| 隆林| 桐城市| 友谊县| 阳高县| 延长县| 沧州市| 南安市| 阳泉市| 荆州市| 新津县| 柯坪县| 顺义区| 东光县| 额敏县| 云霄县|