svm代码python

支持向量机是一种用于分类和回归分析的机器学习算法。

当使用SVM进行分类时,你可以选择不同的核函数和参数来适应不同的数据集和问题。

python
# 导入必要的库 from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.svm import SVC from sklearn.metrics import accuracy_score # 加载鸢尾花数据集 data = load_iris() X = data.data y = data.target # 将数据集分为训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42) # 数据标准化 scaler = StandardScaler() X_train = scaler.fit_transform(X_train) X_test = scaler.transform(X_test) # 创建SVM分类器 svm_classifier = SVC(kernel='linear', C=1) svm_classifier.fit(X_train, y_train) # 预测测试集的类别 y_pred = svm_classifier.predict(X_test) # 计算分类准确度 accuracy = accuracy_score(y_test, y_pred) print("分类准确度:", accuracy)

这个示例使用了鸢尾花数据集进行多类别分类。你可以通过更改kernel参数来选择不同的核函数,例如kernel='poly'用于多项式核,kernel='rbf'用于径向基函数核等。还可以调整C参数来控制模型的正则化程度,以获得更好的性能。

如果你有特定的数据集和分类问题,可以根据需要调整SVM的参数和核函数。要选择最佳的参数值,你可以使用交叉验证技术来评估不同参数组合的性能,以获得最佳的分类器配置。

SVM是一个强大的分类器,但对于大规模数据集可能需要较长的训练时间。在处理大型数据集时,你可以考虑使用增量学习方法或者使用支持向量机的变种,如线性SVM或随机梯度下降支持向量机分类器。

标签