python感知機實現(xiàn)代碼
更新時間:2019年01月18日 11:40:15 作者:w_peijian
這篇文章主要為大家詳細介紹了python感知機實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了python感知機實現(xiàn)的具體代碼,供大家參考,具體內(nèi)容如下
一、實現(xiàn)例子
李航《統(tǒng)計學方法》p29 例2.1
正例:x1=(3,3), x2=(4,3),
負例:x3=(1,1)
二、最終效果

三、代碼實現(xiàn)
import numpy as np
import matplotlib.pyplot as plt
p_x = np.array([[3, 3], [4, 3], [1, 1]])
y = np.array([1, 1, -1])
plt.figure()
for i in range(len(p_x)):
if y[i] == 1:
plt.plot(p_x[i][0], p_x[i][1], 'ro')
else:
plt.plot(p_x[i][0], p_x[i][1], 'bo')
w = np.array([1, 0])
b = 0
delta = 1
for i in range(100):
choice = -1
for j in range(len(p_x)):
if y[j] != np.sign(np.dot(w, p_x[0]) + b):
choice = j
break
if choice == -1:
break
w = w + delta * y[choice]*p_x[choice]
b = b + delta * y[choice]
line_x = [0, 10]
line_y = [0, 0]
for i in range(len(line_x)):
line_y[i] = (-w[0] * line_x[i]- b)/w[1]
plt.plot(line_x, line_y)
plt.savefig("picture.png")
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
pandas?Dataframe實現(xiàn)批量修改值的方法
這篇文章主要介紹了pandas?Dataframe實現(xiàn)批量修改值的方法,在使用dataframe的時候?有時候會碰到需要批量修改數(shù)據(jù)的時候,下面文章主要說明兩種情況使用iloc對某幾行某幾列進行全部修該和對數(shù)據(jù)進行判定后,相互+/-/*某個數(shù),使用內(nèi)置函數(shù),需要的朋友可以參考一下2022-06-06
django利用request id便于定位及給日志加上request_id
這篇文章主要介紹了django利用request id便于定位及給日志加上request_id的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用django具有一定的參考學習價值,需要的朋友們下面來一起看看吧2018-08-08
Python中字符串,列表與字典的常用拼接方法總結(jié)
有時在數(shù)據(jù)處理時,需要對數(shù)據(jù)進行拼接處理,比如字符串的拼接、列表的拼接等,本文主要是介紹了字符串、列表、字典常用的拼接方法,希望對大家有所幫助2024-02-02

