支持向量机python代码

houduangongchengshi

温馨提示:这篇文章已超过287天没有更新,请注意相关的内容是否还可用!

支持向量机(Support Vector Machine,简称SVM)是一种常用的机器学习算法,用于分类和回归问题。它的基本思想是找到一个最优的超平面,将不同类别的样本分开,并且使得离超平面最近的样本点到超平面的距离最大化。在Python中,我们可以使用scikit-learn库来实现支持向量机算法。

我们需要导入所需的库和数据集。在这个示例中,我们使用scikit-learn自带的鸢尾花数据集作为示例数据。代码如下:

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 = SVC()

# 使用训练集进行训练

svm.fit(X_train, y_train)

训练完成后,我们可以使用测试集来评估模型的性能。这里我们使用准确率(accuracy)作为评估指标。代码如下:

# 使用测试集进行预测

y_pred = svm.predict(X_test)

# 计算准确率

accuracy = accuracy_score(y_test, y_pred)

print("准确率:", accuracy)

以上就是一个简单的支持向量机分类器的实现过程。在实际应用中,我们可以根据具体问题选择不同的核函数(kernel)来构建支持向量机模型。常用的核函数包括线性核函数(linear)、多项式核函数(poly)、高斯核函数(rbf)等。我们可以通过设置SVC类的kernel参数来选择不同的核函数,默认为高斯核函数。例如,如果我们想使用线性核函数,可以将创建模型的代码修改为:

# 创建支持向量机模型(使用线性核函数)

svm = SVC(kernel='linear')

支持向量机还可以用于解决回归问题。在回归问题中,我们需要预测连续型的目标变量。与分类问题类似,我们可以使用scikit-learn库中的SVR类来构建支持向量机回归模型。使用方法与分类问题类似,只需将SVC类替换为SVR类即可。

总结一下,支持向量机是一种常用的机器学习算法,用于分类和回归问题。在Python中,我们可以使用scikit-learn库来实现支持向量机算法。通过导入所需的库和数据集,创建支持向量机模型,使用训练集进行训练,然后使用测试集进行预测和评估,我们可以完成一个支持向量机分类器的实现。我们还可以根据具体问题选择不同的核函数来构建模型,并且支持向量机还可以应用于回归问题。

文章版权声明:除非注明,否则均为莫宇前端原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码