SVM训练Iris数据集
时间: 2023-07-06 18:41:25 浏览: 83
下面是使用Python的scikit-learn库训练SVM模型对Iris数据集进行分类的示例代码:
```python
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
# 加载Iris数据集
iris = load_iris()
X = iris.data
y = iris.target
# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 初始化SVM模型
svm = SVC(kernel='rbf', C=1, gamma='auto')
# 训练模型
svm.fit(X_train, y_train)
# 预测结果
y_pred = svm.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)
```
上述代码中,首先使用`load_iris()`函数加载Iris数据集,然后使用`train_test_split()`函数将数据集划分为训练集和测试集。接着,使用`SVC()`函数初始化SVM模型,设置核函数为径向基函数(`kernel='rbf'`),正则化参数C为1(`C=1`),高斯核系数为自动选择(`gamma='auto'`)。最后,使用`fit()`方法对模型进行训练,使用`predict()`方法对测试集进行预测,使用`accuracy_score()`函数计算预测结果的准确率。
需要注意的是,SVM模型的性能和效果很大程度上取决于核函数的选择和参数的设置,因此需要根据具体的问题进行模型调参,以获得更好的性能和效果。
阅读全文