简单感知机Python代码
时间: 2024-04-20 20:21:32 浏览: 246
机器学习-感知机模型实战
当然,我可以给你介绍一下简单感知机的Python代码。感知机是一种二分类的线性分类模型,它的基本思想是通过调整权重和偏置来使得输入样本被正确分类。
下面是一个简单感知机的Python代码示例:
```python
import numpy as np
class Perceptron:
def __init__(self, input_size):
self.weights = np.zeros(input_size)
self.bias = 0
def predict(self, inputs):
summation = np.dot(inputs, self.weights) + self.bias
if summation > 0:
return 1
else:
return 0
def train(self, training_inputs, labels, epochs):
for _ in range(epochs):
for inputs, label in zip(training_inputs, labels):
prediction = self.predict(inputs)
self.weights += (label - prediction) * inputs
self.bias += (label - prediction)
```
在这个代码中,我们定义了一个`Perceptron`类,它有三个方法:
- `__init__`方法用于初始化感知机的权重和偏置,`input_size`参数表示输入特征的维度。
- `predict`方法用于预测输入样本的类别,它通过计算输入样本与权重的点积加上偏置,并根据结果返回0或1。
- `train`方法用于训练感知机模型,`training_inputs`参数是一个二维数组,每一行表示一个输入样本的特征向量,`labels`参数是一个一维数组,表示每个输入样本的类别标签,`epochs`参数表示训练的迭代次数。在训练过程中,我们使用随机梯度下降的方法来更新权重和偏置。
这只是一个简单的感知机实现示例,实际应用中可能需要更复杂的模型和算法来解决问题。
阅读全文