基于python实现感知器算法
时间: 2023-07-31 18:09:37 浏览: 36
感知器算法是一种二分类线性分类算法,它可以用于解决许多机器学习问题。下面是一个基于Python实现感知器算法的示例代码:
```python
import numpy as np
class Perceptron:
def __init__(self, learning_rate=0.01, epochs=1000):
self.learning_rate = learning_rate
self.epochs = epochs
self.weights = None
self.bias = None
def fit(self, X, y):
n_samples, n_features = X.shape
# Initialize weights and bias to 0
self.weights = np.zeros(n_features)
self.bias = 0
# Iterate through epochs
for _ in range(self.epochs):
# Iterate through samples
for i in range(n_samples):
# Calculate predicted value
y_pred = np.dot(self.weights, X[i]) + self.bias
# Update weights and bias if predicted value does not match true value
if y[i]*y_pred <= 0:
self.weights += self.learning_rate * y[i] * X[i]
self.bias += self.learning_rate * y[i]
def predict(self, X):
y_pred = np.dot(X, self.weights) + self.bias
return np.sign(y_pred)
```
在上面的代码中,我们定义了一个名为Perceptron的类,它包含了fit和predict方法。fit方法用于训练感知器模型,传入的参数X是一个大小为(n_samples, n_features)的二维数组,表示输入数据,y是一个大小为(n_samples,)的一维数组,表示对应的标签。predict方法用于对输入数据进行预测,传入的参数X是一个大小为(n_samples, n_features)的二维数组,表示输入数据,返回一个大小为(n_samples,)的一维数组,表示对应的预测标签。
希望这个示例代码对你有所帮助。