machine-1
import numpy as np
class Preceptron(object):
def __init__(self,eta=0.01,n_iter=10):
self.eta=eta
self.n_iter=n_iter
def fit(self,x,y):
self.w_=np.zeros(1+X.shape[1])
self.errors_=[]
for _ in range(self.n_iter):
errors=0
for xi,targe in zip(X,y):
update=self.eta*(targe-self.predict(xi))
self.w_[1:]+=update*xi
self.w_[0]+=update
errors+=int(update!=0.0)
self.errors_.append(errors)
return self
def net_input(self,X):
return np.dot(X,self.w_[1:])+self.w_[0] """计算向量的点积wtx"""
def predict(self,X):
return np.where(self.net_input(X)>=0.0,-1)