Python 实现 KNN 和 SVM 分类算法:鸢尾花数据集示例
KNN 算法是一种基于特征相似性度量进行分类的机器学习算法,它将样本分为 K 个最邻近的类别中出现最多的类别。支持向量机 (SVM) 算法是一种基于最大边际分类的机器学习算法,它通过找到一个最优的超平面来将数据分为两个或多个类别。
在 Python 中,可以使用 scikit-learn 库来实现 KNN 和 SVM 算法。下面是一个示例代码,它使用 KNN 和 SVM 算法对鸢尾花数据集进行分类:
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
# 加载数据集
iris = load_iris()
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=42)
# KNN 算法
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train, y_train)
knn_pred = knn.predict(X_test)
knn_acc = accuracy_score(y_test, knn_pred)
print('KNN accuracy:', knn_acc)
# SVM 算法
svm = SVC(kernel='linear')
svm.fit(X_train, y_train)
svm_pred = svm.predict(X_test)
svm_acc = accuracy_score(y_test, svm_pred)
print('SVM accuracy:', svm_acc)
该代码首先加载鸢尾花数据集,然后将其分为训练集和测试集。接下来,使用 KNN 算法和 SVM 算法对训练集进行拟合,并对测试集进行预测。最后,计算每个算法的准确率并输出结果。
该示例代码演示了如何使用 Python 实现 KNN 和 SVM 分类算法,并利用这些算法对数据集进行分类。
原文地址: https://www.cveoy.top/t/topic/mBOa 著作权归作者所有。请勿转载和采集!