采用线性 SVM 对 iris 数据集进行二分类
时间: 2023-09-06 08:14:34 浏览: 49
好的,针对您的问题,我可以提供以下代码实现对 iris 数据集进行二分类:
```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 数据集
iris = datasets.load_iris()
# 选取前两个特征和前两个类别,进行二分类
X = iris.data[:100, :2]
y = iris.target[:100]
# 数据集划分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 定义线性 SVM 模型
model = SVC(kernel='linear')
# 在训练集上训练模型
model.fit(X_train, y_train)
# 在测试集上进行预测
y_pred = model.predict(X_test)
# 计算模型的准确率
acc = accuracy_score(y_test, y_pred)
print(f"Accuracy: {acc}")
```
这段代码首先加载 iris 数据集,选取前两个特征和前两个类别,进行二分类。然后使用 train_test_split 函数将数据集划分为训练集和测试集。接着定义线性 SVM 模型,并在训练集上训练模型。最后在测试集上进行预测,计算模型的准确率并输出。