编写程序利用svm算法对sklearn中鸢尾花鸢数据集ins进行分类将鸢尾花的data作为x. targe作为y构建svn模型25%的数据集拿来当测试集,75%数据集拿来训练,最后输出测试集评分
时间: 2024-12-19 17:21:03 浏览: 13
首先,我们来演示如何使用Scikit-learn库中的SVM(支持向量机)算法对Iris数据集进行分类。这里假设您已经安装了所需的库,如scikit-learn、numpy等。
```python
# 导入必要的库
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
# 加载鸢尾花数据集
iris = datasets.load_iris()
X = iris.data
y = iris.target
# 数据预处理:标准化特征
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
# 划分训练集和测试集(80%训练,20%测试)
X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.25, random_state=42)
# 创建SVM分类器
svm_classifier = SVC(kernel='linear') # 这里选择线性核,可根据需要调整
# 训练模型
svm_classifier.fit(X_train, y_train)
# 预测测试集
y_pred = svm_classifier.predict(X_test)
# 计算并输出测试集准确率
accuracy = accuracy_score(y_test, y_pred)
print("测试集的准确率为:", accuracy)
```
这个代码会按照指定的比例划分数据,并使用SVM对鸢尾花进行分类。最后输出的是模型在测试集上的预测精度。
阅读全文