###李航统计学习方法例2.1实现代码——感知机学习原始形式
####导入使用模块pandas numpy
import numpy as np
import pandas as pd
###导入数据
data=pd.DataFrame({'x1':[3,4,1],'x2':[3,3,1],'y':[1,1,-1]})
###参数初始化
w=[0,0]
b=0
r=1
interation=100 ###
###定义函数
def ganzhiji(data,w,b,r,interation):
X=data.iloc[:,:-1].as_matrix()
Y=data.iloc[:,-1].as_matrix()
W=np.array(w)
count=0 ####迭代次数
while count<=interation:
correct_count=0
for i in range(len(X)):
if Y[i]*(np.dot(W,X[i])+b)<=0:
W=W+r*Y[i]*X[i];
b=b+r*Y[i]
break
else:
correct_count+=1
count+=1
if correct_count==len(X):
return W,b
else:
print(count)
[m,n]=ganzhiji(data,w,b,r,interation)
print(m,n)
李航统计学习方法例2.1实现代码——感知机学习原始形式
猜你喜欢
转载自blog.csdn.net/yuchen_lucky/article/details/102887041
今日推荐
周排行