Python中的简单感知器模型

我在运行fit函数时遇到了这个类型错误。很多人说它能在Python 2.7上运行。我想知道如何在Python 3中实现。有没有其他方法可以做到这一点?

class Perceptron:    def __init__(self):        self.w=None        self.b=None    def model(self,x):        return 1 if (np.dot(self.w,x)>=self.b) else 0    def predict(self,X):        Y=[]        for x in X:            result = self.model(x)            Y.append(result)        return np.array(Y)    def fit(self, X, Y, epochs = 1, lr=1):        self.w = np.ones(X.shape[1])        self.b = 0        accuracy = {}        max_accuracy = 0        wt_matrix = []        for i in range(epochs):            for x, y in zip(X,Y):                y_pred = self.model(x)                if y==1 and y_pred == 0:                    self.w = self.w +lr* x                    self.b = self.b + lr*1                elif y==0 and y_pred== 1:                    self.w = self.w-lr*x                    self.b = self.b-lr*1            wt_matrix.append(self.w)            accuracy[i] =  accuracy_score(self.predict(X),Y)            if(accuracy[i]>max_accuracy):                max_accuracy = accuracy[i]                chkptw=self.w                chkptb=self.b        self.w =chkptw        self.b=chkptb        print(max_accuracy)        plt.plot(accuracy.values())        plt.ylim([0,1])        plt.show           return np.array(wt_matrix) 

这是代码:

wt_matrix = perceptron.fit(X_train,Y_train,100)

当我调用这个函数时,它显示了这个类型错误

TypeError                                 Traceback (most recent call last)<ipython-input-76-8b850a516f0e> in <module>()----> 1 wt_matrix = perceptron.fit(X_train,Y_train,100)8 frames/usr/local/lib/python3.6/dist-packages/numpy/core/_asarray.py in asarray(a, dtype, order)     83      84     """---> 85     return array(a, dtype, copy=False, order=order)     86      87 TypeError: float() argument must be a string or a number, not 'dict_values'

回答:

这是一个简单的类型转换问题。将

plt.plot(accuracy.values())

改为

plt.plot(list(accuracy.values()))

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注