Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
名称错误:名称';类名';在python中未定义错误_Python_Python 3.x_Numpy - Fatal编程技术网

名称错误:名称';类名';在python中未定义错误

名称错误:名称';类名';在python中未定义错误,python,python-3.x,numpy,Python,Python 3.x,Numpy,我在做一个python程序。我创建了一个名为“Perception”的类。代码如下: 将numpy导入为np 类感知器(对象): 定义初始值(自,eta=0.01,n_iter=10): self.eta=eta self.n_iter=n_iter def配合(自、X、y): self.w_uz=np.zero(1+X.shape[1]) self.errors[] 对于uu-in-range(self.n_u-iter): 错误=0 对于席,在zip(x,y)中的目标: 更新=self.e

我在做一个python程序。我创建了一个名为“Perception”的类。代码如下:

将numpy导入为np
类感知器(对象):
定义初始值(自,eta=0.01,n_iter=10):
self.eta=eta
self.n_iter=n_iter
def配合(自、X、y):
self.w_uz=np.zero(1+X.shape[1])
self.errors[]
对于uu-in-range(self.n_u-iter):
错误=0
对于席,在zip(x,y)中的目标:
更新=self.eta*(目标-self.predict(xi))
W.[席:1:] =更新**
self.w_u[0]+=更新
错误+=int(更新!=0.0)
self.errors\uu.append(错误)
回归自我
def净输入(自身,X):
“”“计算净输入”“”
返回np.dot(X,self.w_u[1:])+self.w_[0]
def预测(自我,X):
“”“在单元步骤后返回类标签”“”

返回np.where(self.net_input(X)>=0.0,1,-1)
您应该调用ppn=Perceptron.Perceptron(eta=0.1,n_iter=10)

是您在不同文件中使用的类(即
ppn=Perceptron(eta=0.1,n_iter=10)
)吗?除此之外,您可能需要先导入
Perceptron
。您做了哪些更准确的更改?
Run this it should work , if not share the screen hot of code and output.
import numpy as np
class Perceptron(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,target in zip(X,y):
                update = self.eta * (target - 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):
        """Calculate net input"""
        return np.dot(X, self.w_[1:]) + self.w_[0]

    def predict(self, X):
        """Return class label after unit step"""
        return np.where(self.net_input(X) >= 0.0, 1, -1)



ppn = Perceptron(eta=0.1, n_iter=10)