import numpy as np import pandas as pd from sklearn.svm import SVC from sklearn.datasets import load_iris data = load_iris() X = data['data'] y = data['target'] X = X[y != 2, 0:2] y = y[y != 2] X -= np.mean(X, axis=0) X /= np.std(X, axis=0, ddof=1) m = len(X) data = int(0.8 * m) X_train, X_test = np.split(X, [data]) y_train, y_test = np.split(y, [data]) model_svm = SVC(C=1.0, kernel='linear') model_svm.fit(X_train, y_train) Accuracy = model_svm.score(X_test, y_test) print('Linear Accuracy = ', Accuracy) X_test_h = model_svm.predict(X_test)
时间: 2024-04-17 17:29:02 浏览: 148
SVM.zip_SVM Iris分类_UCI SVM_iris_svm预测_uci svm
这段代码是一个简单的示例,展示了如何使用支持向量机(SVM)对鸢尾花数据集进行分类。
首先,导入所需的库:numpy、pandas、SVC(来自sklearn.svm)以及load_iris(来自sklearn.datasets)。
然后,加载鸢尾花数据集并将其分为特征矩阵X和目标向量y。在这个例子中,我们只选择了前两个特征,并将目标类别2过滤掉。
接下来,对特征矩阵进行标准化处理,将每个特征的均值减去,并除以标准差。
然后,计算样本数量m,并将80%的数据用作训练集,剩余的20%用作测试集。
创建一个SVC模型,使用线性核函数,并将其拟合到训练集上。
计算模型在测试集上的准确率,并打印出来。
最后,使用训练好的模型对测试集进行预测,并将结果保存在X_test_h中。
阅读全文