python实现感知器二分类实验报告
时间: 2023-07-07 13:19:05 浏览: 99
感知器是一种简单的人工神经元模型,用于二分类问题。在本实验中,我们将使用Python实现感知器模型,并对其进行训练和测试,以评估其性能。
实验步骤:
1. 数据集准备
我们将使用Iris数据集作为我们的二分类问题数据集。该数据集包含150个样本,其中每个样本有四个特征:花萼长度、花萼宽度、花瓣长度和花瓣宽度。我们将使用前100个样本作为训练集,后50个样本作为测试集。其中,前50个样本属于类别0,后50个样本属于类别1。
2. 模型实现
我们使用Python代码实现感知器模型。代码如下:
```python
import numpy as np
class Perceptron():
def __init__(self, lr=0.01, epochs=100):
self.lr = lr
self.epochs = epochs
def fit(self, X, y):
self.w = np.zeros(X.shape[1])
self.b = 0
for epoch in range(self.epochs):
for i in range(X.shape[0]):
if y[i] * (np.dot(self.w, X[i]) + self.b) <= 0:
self.w += self.lr * y[i] * X[i]
self.b += self.lr * y[i]
def predict(self, X):
return np.sign(np.dot(X, self.w) + self.b)
```
3. 模型训练
我们使用训练集训练感知器模型。代码如下:
```python
X_train = X[:100]
y_train = y[:100]
perceptron = Perceptron()
perceptron.fit(X_train, y_train)
```
4. 模型测试
我们使用测试集测试感知器模型。代码如下:
```python
X_test = X[100:]
y_test = y[100:]
y_pred = perceptron.predict(X_test)
accuracy = np.mean(y_pred == y_test)
print("Accuracy:", accuracy)
```
实验结果:
经过训练和测试,我们得到了感知器模型的准确率为1.0,说明模型在该数据集上表现良好。
总结:
本实验中,我们使用Python实现了感知器模型,并对其进行了训练和测试。感知器模型是一种简单而有效的人工神经元模型,适用于二分类问题。在实际应用中,感知器模型可以作为其他更复杂的神经网络模型的基础,提高模型的性能。
阅读全文