赞
踩
支持向量机(Support Vector Machine,SVM)是一种监督学习算法,用于分类和回归分析。它是由Cortes和Vapnik于1995年提出的。SVM在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。
目录
超平面:
间隔(Margin):
支持向量:
软间隔和硬间隔:
核技巧:
优化问题:
多分类SVM:
- from sklearn import datasets
- from sklearn.model_selection import train_test_split
- from sklearn.svm import SVC
- from sklearn.metrics import accuracy_score
-
- # 加载鸢尾花数据集
- iris = datasets.load_iris()
- X = iris.data
- y = iris.target
-
- # 划分训练集和测试集
- X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
-
- # 创建SVM分类器模型
- svm_model = SVC(kernel='linear', C=1.0, random_state=42)
-
- # 在训练集上训练模型
- svm_model.fit(X_train, y_train)
-
- # 在测试集上进行预测
- y_pred = svm_model.predict(X_test)
-
- # 计算准确率
- accuracy = accuracy_score(y_test, y_pred)
- print("Accuracy:", accuracy)
在这段代码中,我们首先加载了鸢尾花数据集,并将数据集划分为训练集和测试集。然后创建了一个线性核的支持向量机(SVM)分类器模型,并在训练集上进行训练。最后使用训练好的模型在测试集上进行预测,并计算准确率作为模型性能的评估指标。以根据具体的数据集和问题选择不同的核函数(如线性核、多项式核、高斯核等)以及调整SVM模型的参数(如正则化参数C、核函数参数等)来优化模型性能。
总的来说,支持向量机是一种强大且灵活的机器学习模型,具有良好的泛化能力和对噪声的鲁棒性。它在处理复杂数据集和高维特征空间时表现出色。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。