svm和knn结合算法的代码
时间: 2023-07-22 07:14:45 浏览: 211
matlab_SVM_knn_分类算法
以下是SVM和KNN结合算法的Python代码示例:
```python
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
from sklearn.svm import SVC
from sklearn.ensemble import VotingClassifier
# 加载数据集
iris = datasets.load_iris()
X = iris.data[:, [2, 3]]
y = iris.target
# 将数据集分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=1, test_size=0.3)
# 对数据进行标准化处理
sc = StandardScaler()
sc.fit(X_train)
X_train_std = sc.transform(X_train)
X_test_std = sc.transform(X_test)
# 建立 SVM 模型
svm = SVC(kernel='linear', C=1.0, random_state=1)
# 建立 KNN 模型
knn = KNeighborsClassifier(n_neighbors=5, p=2, metric='minkowski')
# 建立投票分类器
voting = VotingClassifier(estimators=[('svm', svm), ('knn', knn)], voting='hard')
# 训练投票分类器
voting.fit(X_train_std, y_train)
# 输出投票分类器在测试集上的准确率
print('Accuracy:', voting.score(X_test_std, y_test))
```
这个代码示例使用了鸢尾花数据集,将数据集分为训练集和测试集,并对数据进行标准化处理。然后建立了 SVM 和 KNN 两个模型,并将它们结合成一个投票分类器。最后,训练投票分类器并输出在测试集上的准确率。
阅读全文