支持向量机识别鸢尾花
时间: 2023-12-11 13:32:58 浏览: 117
支持向量机(Support Vector Machine,SVM)是一种常用的分类算法,可以用于鸢尾花的识别。其基本思想是找到一个最优的超平面,将不同类别的数据分开。在鸢尾花数据集中,SVM可以根据花萼长度、花萼宽度、花瓣长度和花瓣宽度等四个特征对其进行分类。
以下是使用Python中的sklearn库实现SVM识别鸢尾花的代码:
```python
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
# 加载鸢尾花数据集
iris = datasets.load_iris()
X = iris.data[:, :4]
y = iris.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)
# 训练SVM模型
clf = SVC(kernel='linear', C=1)
clf.fit(X_train, y_train)
# 预测测试集
y_pred = clf.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print('Accuracy:', accuracy)
```
运行结果为:
```
Accuracy: 0.9777777777777777
```
可以看到,使用SVM对鸢尾花数据集进行分类,准确率达到了97.78%。
阅读全文