教師指導下的學習——是指資料資料已經有明確分類標籤的學習。
教師指導下的學習演算法實現中,通常為了驗證演算法的有效性,我們把資料分為兩組,一組用來對演算法的各項引數進行求解,稱為訓練,資料叫訓練資料;另外一組用來驗證演算法的有效性,稱為測試,資料叫測試資料。
如果乙個演算法對訓練資料效果比較差,稱這個演算法
是欠擬合。
如果乙個演算法對訓練資料效果很好,但對測試資料效果很差,稱這個演算法是過擬合。
如果乙個演算法對訓練資料和測試資料效果都很好,稱這個演算法是泛化性好。
在資料比較缺少的情況下,為了驗證演算法的有效性,可以採取交差驗證的方法,例如將乙個資料集分成隨機分成五份,然後將其中的乙份作測試集,其餘四份作訓練集進行訓練和測試。
對於一組資料尋找相互之間線性關係的方法叫線性
回歸。例如,一組關於披薩餅的直徑與**關係的資料:
(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...