Python機器學習(一)

2021-10-05 19:08:36 字數 3461 閱讀 4482

教師指導下的學習——是指資料資料已經有明確分類標籤的學習。

教師指導下的學習演算法實現中,通常為了驗證演算法的有效性,我們把資料分為兩組,一組用來對演算法的各項引數進行求解,稱為訓練,資料叫訓練資料;另外一組用來驗證演算法的有效性,稱為測試,資料叫測試資料。

如果乙個演算法對訓練資料效果比較差,稱這個演算法

是欠擬合。

如果乙個演算法對訓練資料效果很好,但對測試資料效果很差,稱這個演算法是過擬合。

如果乙個演算法對訓練資料和測試資料效果都很好,稱這個演算法是泛化性好。

在資料比較缺少的情況下,為了驗證演算法的有效性,可以採取交差驗證的方法,例如將乙個資料集分成隨機分成五份,然後將其中的乙份作測試集,其餘四份作訓練集進行訓練和測試。

對於一組資料尋找相互之間線性關係的方法叫線性

回歸。例如,一組關於披薩餅的直徑與**關係的資料:

(1)將資料用python進行視覺化操作

#線性回歸

import matplotlib.pyplot as pltx=[

[6],

[8],

[18],

[14],

[18]]

y=[[7

],[9

],[15

],[17.5],

[18]]

plt.rcparams[

'font.sans-serif']=

['simhei'

]plt.plot(x,y,

'o')

plt.xlabel(

"披薩餅直徑"

)plt.ylabel(

'披薩餅價錢'

)# 出現格

plt.grid(

true

)plt.show(

)

執行結果:

(2)用線性回歸**直徑12英呎的披薩的**

# 回歸**

from sklearn.linear_model import linearregressionx=[

[6],

[8],

[18],

[14],

[18]]

y=[[7

],[9

],[15

],[17.5],

[18]]

model=linearregression(

)model.fit(x,y)

price=model.predict([[

12]])

print

('12英吋披薩餅的價錢**為:$%0.2f'

%price[0]

[0])

執行結果:

(3)線性回歸的線性模型

# 資料**-線性模型

import numpy as np

import matplotlib.pyplot as plt

from sklearn.linear_model import linearregression

model=linearregression()x=

[[6]

,[8]

,[18]

,[14]

,[18]

]y=[[

7],[

9],[

15],[

17.5],

[18]]

model.fit(x,y)

x_test=np.linspace(0,

20,100)

.reshape(

(100,1

))y_test=model.predict(x_test)

.reshape(

(100,1

))plt.plot(x,y,

'k.'

)plt.plot(x_test,y_test,

'r-'

)plt.xlabel(

'diameter in pizza'

)plt.ylabel(

'price in pizza'

)plt.grid(

true

)plt.axis([0

,20,0

,20])

plt.show(

)

(4)用r方對模型進行評估

r 方測量了乙個模型的**值對響應變數好壞度,通常

它的值在 0 和 1 之間,值越大說明模型越好。

from sklearn.linear_model import linearregression

import numpy as np

model=linearregression(

)x=np.array([[

6],[

8],[

10],[

14],[

18]])

y=np.array([[

7],[

9],[

13],[

17.5],

[18]]

)model.fit(x,y)

x_test=np.array([[

8],[

9],[

11],[

16],[

12]])

y_test=np.array([[

11],[

8.5],[

15],[

18],[

11]])

y_test=np.reshape(y_test,

(np.size(y_test)))

y_pre=model.predict(x_test)

y_pre=np.reshape(y_pre,

(np.size(y_pre)))

y_mean=np.mean(y_test)

s_tot=np.dot(y_test-y_mean,y_test-y_mean)

s_res=np.dot(y_test-y_pre,y_test-y_pre)

r2=1

-s_res/s_tot

print

(r2)

執行結果:

今天就暫且和大家分享這些吧,若上文有錯誤還望小碼們指正。

Python機器學習筆記一

1 from a import b,其含義相當於 import a b a.b 2 import a as b,其含義為 給予a庫乙個b的別稱,幫助記憶 於是,import matplotlib.pyplot as plt 將matplotlib.pyplot庫起乙個別名,就是plt matplot...

《Python 機器學習》筆記(一)

涵蓋 1.機器學習的一般概念 2.機器學習方法的三種型別和基本術語 3.成功構建機器學習系統所需的模組 1.監督學習 2.無監督學習 3.強化學習 監督學習的主要目的是使用有類標的訓練資料構建模型,我們可以使用訓練得到的模型對未來資料進行 此外,術語監督是指訓練資料集中的每個樣本均有乙個已知的輸出項...

python機器 python機器學習

熱詞系列 打卡 mark一下,以後看 每天打卡學習 1 python 基礎 bv1lt4y1u7un 2 python 高階 bv1jz411b7dh 3 python 資料庫 bv1pg4y1a7a7 4 python gui與坦克大戰 bv1je411f72o 5 python numpy bv...