基于感知机的鸢尾花三分类模型的完整python代码
时间: 2024-11-05 20:34:49 浏览: 43
大数据-分类_SVM分类_分类_决策树_鸢尾花_
基于感知机的鸢尾花数据集(Iris dataset)的分类是一个经典机器学习案例,虽然感知机通常用于二分类任务,这里我们可以将其扩展到多分类情况。下面是使用Python和scikit-learn库实现一个简单感知机模型对鸢尾花进行三分类的一个示例:
```python
# 导入所需的库
from sklearn.datasets import load_iris
from sklearn.linear_model import Perceptron
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 加载鸢尾花数据集
iris = load_iris()
X = iris.data
y = iris.target
# 数据预处理,将标签转换为独热编码(one-hot encoding),适用于多类别问题
y_encoded = pd.get_dummies(y).values
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y_encoded, test_size=0.2, random_state=42)
# 创建感知机模型并训练
perceptron = Perceptron(random_state=42)
perceptron.fit(X_train, y_train)
# 预测
y_pred = perceptron.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy * 100:.2f}%")
# 感知机支持线性决策边界,对于非线性问题可能效果不佳
#
阅读全文