perceptron python实现
时间: 2023-05-28 20:03:57 浏览: 75
perceptron实现
下面是一个简单的Python实现感知器算法(perceptron algorithm)的示例:
```python
import numpy as np
class Perceptron(object):
def __init__(self, eta=0.1, 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):
return np.dot(X, self.w_[1:]) + self.w_[0]
def predict(self, X):
return np.where(self.net_input(X) >= 0.0, 1, -1)
```
这个类中的`fit`方法实现了感知器算法的核心逻辑,它从训练数据中学习出一个二元分类模型。`net_input`方法对输入数据进行线性变换并加上偏置项,`predict`方法根据变换后的结果返回预测的分类标签。
在使用该类时,需要将训练数据和标签传递给`fit`方法。例如,如果我们有一个训练集`X_train`和它对应的标签`y_train`,我们可以这样使用:
```python
ppn = Perceptron(eta=0.1, n_iter=10)
ppn.fit(X_train, y_train)
```
这将会训练一个感知器模型,使用学习速率0.1和10次迭代。训练完成后,可以使用`predict`方法对新的数据进行分类预测:
```python
y_pred = ppn.predict(X_test)
```
这将会返回一个数组,其中每个元素代表相应样本的预测标签。
阅读全文