编程:创建线性不可分的圆形数据集,用支持向量训练机训练模型,绘制决策边界示意图
时间: 2024-02-27 22:57:28 浏览: 24
手写一个对线性不可分数据集进行分类的底层实现
好的,这是一个关于机器学习的问题。为了创建一个线性不可分的圆形数据集,我们可以使用Scikit-learn库中的make_circles函数。下面是一段Python代码示例:
```
from sklearn.datasets import make_circles
import matplotlib.pyplot as plt
X, y = make_circles(n_samples=100, noise=0.1, factor=0.5)
plt.scatter(X[:, 0], X[:, 1], c=y)
plt.show()
```
这段代码将生成一个包含100个样本的圆形数据集,其中噪声为0.1,因子为0.5。在这个数据集中,我们可以用支持向量机训练模型。下面是一段Python代码示例:
```
from sklearn.svm import SVC
model = SVC(kernel='rbf', C=1E6)
model.fit(X, y)
```
这段代码使用径向基核函数,惩罚系数为1E6来训练支持向量机模型。最后,我们可以绘制决策边界示意图。下面是一段Python代码示例:
```
import numpy as np
def plot_decision_boundary(model, X, y):
xx, yy = np.meshgrid(np.linspace(-1.5, 1.5, 100),
np.linspace(-1.5, 1.5, 100))
Z = model.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)
plt.contourf(xx, yy, Z, cmap=plt.cm.Paired)
plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.Paired)
plt.show()
plot_decision_boundary(model, X, y)
```
这段代码将绘制包含支持向量和决策边界的散点图。
阅读全文