使用支持向量机算法实现对鸢尾花数据集的分类
时间: 2023-11-15 21:07:54 浏览: 147
鸢尾花数据集是一个常用的分类问题数据集,其中包含了150个样本,每个样本包含4个特征和一个类别标签。本文将使用支持向量机算法实现对鸢尾花数据集的分类。
首先,我们需要加载数据集并进行预处理。我们将使用Scikit-Learn库中的load_iris函数来加载数据集,并将数据集划分为训练集和测试集。
```python
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
# 加载数据集
iris = load_iris()
# 划分数据集为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(
iris.data, iris.target, test_size=0.2, random_state=1)
```
接下来,我们将使用Scikit-Learn库中的SVC类来创建支持向量机分类器,并训练模型。
```python
from sklearn.svm import SVC
# 创建SVC对象
clf = SVC(kernel='linear', C=1)
# 训练模型
clf.fit(X_train, y_train)
```
在上述代码中,我们使用线性内核函数来创建SVC对象,并将C参数设置为1。C参数控制了错误分类的惩罚程度,较小的C会导致更多的错误分类,较大的C会导致更少的错误分类。
最后,我们可以使用测试集来评估模型的性能。
```python
from sklearn.metrics import accuracy_score
# 预测测试集
y_pred = clf.predict(X_test)
# 计算分类器的准确率
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy}")
```
运行完整代码后,我们可以得到模型在测试集上的准确率。
阅读全文