import numpy as np import matplotlib.pyplot as plt 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 = load_iris() X = iris.data y = iris.target # 数据可视化 - 处理前 plt.scatter(X[:, 0], X[:, 1], c=y) plt.xlabel('Sepal Length') plt.ylabel('Sepal Width') plt.title('Iris Dataset - Before Preprocessing') plt.show() # 划分数据集为训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 创建并拟合支持向量机模型 model = SVC() model.fit(X_train, y_train) # 在测试集上进行预测 y_pred = model.predict(X_test) # 计算准确度 accuracy = accuracy_score(y_test, y_pred) print('Accuracy:', accuracy) # 数据可视化 - 处理后 plt.scatter(X_test[:, 0], X_test[:, 1], c=y_pred) plt.xlabel('Sepal Length') plt.ylabel('Sepal Width') plt.title('Iris Dataset - After Preprocessing') plt.show()
时间: 2024-03-30 21:40:54 浏览: 173
SVM.zip_SVM Iris分类_UCI SVM_iris_svm预测_uci svm
这段代码使用了支持向量机(SVM)算法对鸢尾花数据集进行分类,并且使用了数据可视化来展示分类效果。具体来说,代码中首先加载了鸢尾花数据集,然后对数据集进行了可视化处理,接着将数据集划分为训练集和测试集,使用SVM算法对训练集进行拟合,并在测试集上进行预测,最后计算了模型的准确度,并使用数据可视化展示了预测结果。
阅读全文