感知机模型解决“二分类”问题的实例(代码)
时间: 2024-06-22 19:02:17 浏览: 75
感知机(Perceptron)是一种基本的线性分类器,主要用于二分类问题。它的工作原理是基于输入特征和权重的线性组合,然后使用一个阈值决定输出类别。以下是使用Python和scikit-learn库实现一个简单感知机模型的步骤和代码实例:
```python
# 导入所需的库
from sklearn.datasets import make_classification
from sklearn.linear_model import Perceptron
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 生成二分类数据集(这里使用scikit-learn自带的数据生成函数)
X, y = make_classification(n_samples=1000, n_features=2, n_classes=2, random_state=42)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建感知机模型
perceptron = Perceptron()
# 训练模型
perceptron.fit(X_train, y_train)
# 预测测试集
y_pred = perceptron.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy}")
# 检查模型决策边界(假设绘图库如matplotlib已经安装)
import matplotlib.pyplot as plt
plt.scatter(X_train[:, 0], X_train[:, 1], c=y_train, s=50, cmap='viridis')
plot_decision_boundary(perceptron, X, y)
plt.show()
```
在上述代码中,`make_classification`用于生成二元分类数据,`train_test_split`用于划分数据集。`Perceptron`类用于创建感知机模型,`fit`方法用于训练模型,`predict`方法用于预测测试集。最后,我们计算了模型的准确率,并可视化了决策边界。
阅读全文