from sklearn.linear_model import perceptron
import numpy as np
# 訓練資料集
x_train = np.array([[
3,3]
,[4,
3],[
1,1]
])y = np.array([1
,1,-
1])# 構建perceptron物件,訓練資料並輸出結果
perceptron = perceptron(
# max_iter=1000
# ,tol=1e-3
# ,eta0=1
# ,penalty='l1'
# ,penalty='l2'
# ,alpha=0.1
)# 1.penalty(正則化項,none,'l1:特徵值更稀疏'or'l2:權值更均勻'or'elasticnet')
# 2.alpha(正則化係數,0.0001)
# 3.eta0(學習率,1,(0,1])
# 4.max_iter(迭代次數,5,若tol不為none則為1000)
# 5.tol(終止條件,none,(previous_loss-loss) < tol)
perceptron.fit(x_train,y)
# fit,用於訓練資料集
print
('w:'
,perceptron.coef_,
'\n'
,'b:'
,perceptron.intercept_,
'\n'
,'n_iter:'
,perceptron.n_iter_)
# coef_(權重),intercept_,對應b,n_iter,迭代次數
# 測試模型**的準確率
res = perceptron.score(x_train,y)
# score,用來評價訓練效果
print
('correct rate:'
.format
(res)
)
機器學習 感知機演算法
感知機 perception 是一種二類線性模型,主要用於分類問題。目標函式 f x sgn w x b 其中sgn為符號函式 其中向量w為目標函式向量,向量x為樣本。向量w 向量x 超平面 w x b 0 所構成的平面 向量w為超平面上的法向量。訓練集 t x1,y1 x2,y2 x3,y3 xn...
機器學習演算法 感知機
今天把感知機的演算法用python實現了一下。主要依據的演算法流程是 統計學習方法 中關於感知機的演算法過程,具體如下。隨機生成訓練資料,測試資料也可同樣方法生成 m 樣本的個數 n 每個樣本具有的特徵維數 y 1 x np.random.random m,n x2 np.random.random...
感知機演算法
1 目標 感知機演算法針對二分類問題 f x x 1 實質在於對於線性可分的資料集 x i0,x i1,x in y i xi y i i 0,1 2,m 2 找到乙個超平面 x b 0 將資料分成兩部分,使得位於位於超平面上半部分的資料點屬於 1 類,處於超平面下半空間的資料點屬於 1 類。2 優...